İlk uygulamamızı yazıyoruz!
Yorumlarla basit bir blog oluştururken Nette Framework'ü birlikte tanıyalım. Hadi başlayalım!
İlk iki bölümden sonra kendi işlevsel blogumuza sahip olacağız ve harika gönderilerimizi yayınlayabileceğiz, ancak işlevler şimdilik büyük ölçüde sınırlı olacak. Ayrıca yorum eklemeyi, makaleleri düzenlemeyi ve son olarak blogu güvenli hale getirmeyi programlayacağımız sonraki bölümleri de okumalısınız.
Bu kılavuz, Kurulum sayfasını okuduğunuzu ve gerekli araçları başarıyla hazırladığınızı varsayar. Ayrıca PHP'de nesne yönelimli programlamayı anladığınızı varsayar.
Lütfen PHP 8.1 veya daha yenisini kullanın. Tam uygulamayı GitHub'da bulabilirsiniz.
Karşılama sayfası
nette-blog
dizinine yeni bir proje oluşturarak başlayalım:
composer create-project nette/web-project nette-blog
Bu noktada, Web Projesi giriş sayfası zaten çalışıyor olmalıdır. Tarayıcıyı aşağıdaki URL adresinde açarak deneyelim:
http://localhost/nette-blog/www/
ve Nette Framework giriş sayfasını göreceğiz:

Uygulama çalışıyor ve düzenlemeler yapmaya başlayabilirsiniz.
Bir sorun oluşursa, bu birkaç ipucunu deneyin.
Web Projesinin İçeriği
Web Projesi aşağıdaki yapıya sahiptir:
nette-blog/ ├── app/ ← uygulama dizini │ ├── Core/ ← çalışması için gerekli temel sınıflar │ ├── Presentation/ ← presenter'lar, şablonlar & vb. │ │ └── Home/ ← Home presenter dizini │ └── Bootstrap.php ← başlatıcı sınıf Bootstrap ├── bin/ ← komut satırından çalıştırılan betikler ├── config/ ← yapılandırma dosyaları ├── log/ ← hata günlüğü ├── temp/ ← geçici dosyalar, önbellek, … ├── vendor/ ← Composer tarafından yüklenen kütüphaneler │ └── autoload.php ← yüklenen tüm paketlerin otomatik yüklenmesi └── www/ ← genel dizin - tarayıcıdan erişilebilen tek dizin └── index.php ← uygulamanın başlatıldığı başlangıç dosyası
www/
dizini, resimleri, JavaScript dosyalarını, CSS stillerini ve diğer genel olarak erişilebilir dosyaları
depolamak için tasarlanmıştır. Yalnızca bu dizine internetten erişilebilir, bu nedenle uygulamanızın kök dizinini tam
olarak buraya yönlendirecek şekilde ayarlayın (bunu Apache veya nginx yapılandırmasında ayarlayabilirsiniz, ancak bunu daha
sonra yapalım, şimdi önemli değil).
Bizim için en önemli klasör app/
'dir. Burada, tüm framework'ü yüklemeye ve uygulamayı ayarlamaya hizmet
eden sınıfı içeren Bootstrap.php
dosyasını bulacağız. Burada otomatik yükleme etkinleştirilir, burada hata ayıklayıcı ve yönlendirmeler ayarlanır.
Temizlik
Web Projesi, bir şeyler programlamaya başlamadan önce sileceğimiz bir giriş sayfası içerir. Bu nedenle,
app/Presentation/Home/default.latte
dosyasının içeriğini endişelenmeden “Merhaba dünya!” ile
değiştirelim.

Tracy (hata ayıklayıcı)
Geliştirme için son derece önemli bir araç hata ayıklama aracı Tracy'dir.
app/Presentation/Home/HomePresenter.php
dosyasında bir hata oluşturmayı deneyin (ör. HomePresenter sınıf
tanımındaki küme parantezini kaldırarak) ve ne olacağına bakın. Hatayı anlaşılır bir şekilde açıklayan bir bildirim
sayfası açılacaktır.

Tracy, uygulamadaki hataları ararken bize çok yardımcı olacaktır. Ayrıca, ekranın sağ alt köşesindeki, uygulama çalışmasından bilgiler içeren kayan Tracy Çubuğuna dikkat edin.

Üretim modunda, Tracy elbette kapalıdır ve hiçbir hassas bilgi göstermez. Bu durumda tüm hatalar log/
klasöründe saklanır. Hadi deneyelim. app/Bootstrap.php
dosyasında aşağıdaki satırın yorumunu kaldırın ve
kodun şöyle görünmesi için çağrı parametresini false
olarak değiştirin:
...
$this->configurator->setDebugMode(false);
...
Sayfayı yeniledikten sonra artık Tracy'yi görmeyeceğiz. Bunun yerine, kullanıcı dostu bir mesaj görüntülenecektir:

Şimdi log/
dizinine bakalım. Burada ( exception.log
dosyasında) günlüğe kaydedilen hatayı ve
ayrıca zaten bilinen hata mesajı sayfasını ( exception-
ile başlayan bir adla HTML dosyası olarak kaydedilmiş)
bulacağız.
// $configurator->setDebugMode(false);
satırını tekrar yorumlayalım. Tracy, localhost'ta geliştirici
modunu otomatik olarak etkinleştirir ve başka her yerde devre dışı bırakır.
Oluşturduğumuz hatayı düzeltebilir ve uygulamayı yazmaya devam edebiliriz.
Teşekkür Gönderin
Size açık kaynak yazarlarını memnun edecek bir numara göstereceğiz. Projenizin kullandığı kütüphanelere GitHub'da basit bir şekilde yıldız verebilirsiniz. Sadece şunu çalıştırın:
composer thanks
Deneyin!