Nette Documentation Preview

syntax
İlk Başvurunuzu Oluşturun!
**************************

.[perex]
Yorumlarla basit bir blog oluştururken Nette Framework'ü tanıyın. Hadi başlayalım!

İlk iki bölümden sonra, kendi çalışan blogunuza sahip olacaksınız ve harika gönderilerinizi yayınlamaya hazır olacaksınız, ancak bu iki bölümü tamamladıktan sonra özellikler oldukça sınırlı olacaktır. Kullanıcılarınız için işleri daha güzel hale getirmek için sonraki bölümleri de okumalı ve uygulamanızı geliştirmeye devam etmelisiniz.

.[tip]
Bu öğretici, [Kurulum |nette:installation] belgesini tamamladığınızı ve araçlarınızı başarıyla kurduğunuzu varsayar. Ayrıca [PHP'de nesne yönelimli programlamayı |nette:introduction-to-object-oriented-programming] anladığınızı varsayar.

Lütfen PHP 8.1 veya üstünü kullanın. Uygulamanın tamamını [GitHub |https://github.com/nette-examples/quickstart/tree/v4.0]'da bulabilirsiniz.


Karşılama Sayfası .[#toc-the-welcome-page]
==========================================

 `nette-blog` dizininde yeni bir proje oluşturarak başlayalım:

```shell
composer create-project nette/web-project nette-blog
```

Şu anda, Web Projesinin karşılama sayfası çalışıyor olmalıdır. Tarayıcınızı açıp aşağıdaki URL'ye giderek deneyin:

```
http://localhost/nette-blog/www/
```

ve Nette Framework karşılama sayfasını görmelisiniz:

[* qs-welcome.webp .{url: http://localhost/nette-blog/www/} *]

Uygulama çalışır ve artık üzerinde değişiklik yapmaya başlayabilirsiniz.

.[note]
Eğer bir sorununuz varsa, [bu birkaç ipucunu deneyin |nette:troubleshooting#Nette Is Not Working, White Page Is Displayed].


Web Projesinin İçeriği .[#toc-web-project-s-content]
====================================================

Web Projesi aşağıdaki yapıya sahiptir:

/--pre
<b>nette-blog/</b>
├── <b>app/</b>              ← application directory
│   ├── <b>Presenters/</b>   ← presenter classes
│   │   └── <b>templates/</b>← templates
│   ├── <b>Router/</b>       ← configuration of URL addresses
│   └── <b>Bootstrap.php</b> ← booting class Bootstrap
├── <b>bin/</b>              ← scripts for the command line
├── <b>config/</b>           ← configuration files
├── <b>log/</b>              ← error logs
├── <b>temp/</b>             ← temporary files, cache, …
├── <b>vendor/</b>           ← libraries installed by Composer
│   └── <b>autoload.php</b>  ← autoloading of libraries installed by Composer
└── <b>www/</b>              ← public folder - the only place accessible from browser
    └── <b>index.php</b>     ← initial file that launches the application
\--

`www` dizini resim, JavaScript, CSS ve diğer herkese açık dosyaları depolamak içindir. Bu, tarayıcıdan doğrudan erişilebilen tek dizindir, bu nedenle web sunucunuzun kök dizinini buraya yönlendirebilirsiniz (Apache'de yapılandırabilirsiniz, ancak şu anda önemli olmadığı için bunu daha sonra yapalım).

Sizin için en önemli dizin `app/`. Orada `Bootstrap.php` dosyasını bulabilirsiniz, içinde çerçeveyi yükleyen ve uygulamayı yapılandıran bir sınıf vardır. [Otomatik yüklemeyi |robot-loader:] etkinleştirir ve [hata ay |tracy:] ıklayıcı ile [rotaları |application:routing] ayarlar.


Temizlik .[#toc-cleanup]
========================

Web Projesi, kaldırabileceğimiz bir karşılama sayfası içerir - `app/Presenters/templates/Home/default.latte` dosyasını silmekten ve "Merhaba dünya!" metniyle değiştirmekten çekinmeyin.


[* qs-hello.webp .{url:-} *]


Tracy (Hata Ayıklayıcı) .[#toc-tracy-debugger]
==============================================

Geliştirme için son derece önemli bir araç [Tracy adlı bir hata ayıklayıcıdır |tracy:]. `app/Presenters/HomePresenter.php` dosyanızda bazı hatalar yapmaya çalışın (örneğin HomePresenter sınıfının tanımından bir küme parantezini kaldırın) ve ne olacağını görün. Anlaşılabilir bir hata açıklamasıyla birlikte kırmızı ekranlı bir sayfa açılacaktır.

[* qs-tracy.webp .{url:-}(debugger screen) *]

Tracy, hataları ararken size önemli ölçüde yardımcı olacaktır. Ayrıca, önemli çalışma zamanı verileri hakkında sizi bilgilendiren sağ alt köşedeki yüzen Tracy Çubuğuna da dikkat edin.

[* qs-tracybar.webp .{url:-} *]

Üretim modunda, Tracy elbette devre dışıdır ve herhangi bir hassas bilgiyi açığa çıkarmaz. Bunun yerine tüm hatalar `log/` dizinine kaydedilir. Sadece deneyin. `app/Bootstrap.php` adresinde, aşağıdaki kod parçasını bulun, satırdaki yorumu kaldırın ve yöntem çağrısı parametresini `false` olarak değiştirin, böylece aşağıdaki gibi görünür:

```php .{file:app/Bootstrap.php}
...
$configurator->setDebugMode(false);
$configurator->enableTracy(__DIR__ . '/../log');
...
```

Web sayfasını yeniledikten sonra, kırmızı ekran sayfasının yerini kullanıcı dostu mesaj alacaktır:

[* qs-fatal.webp .{url:-}(error screen) *]

Şimdi, `log/` dizinine bakın. Orada hata günlüğünü (exception.log dosyasında) ve ayrıca hata mesajını içeren sayfayı (adı `exception` ile başlayan bir HTML dosyasına kaydedilmiş olarak) bulabilirsiniz.

`// $configurator->setDebugMode(false);` satırını tekrar yorumlayın. Tracy, `localhost` ortamında geliştirme modunu otomatik olarak etkinleştirir ve başka yerlerde devre dışı bırakır.

Şimdi hatayı düzeltebilir ve uygulamamızı tasarlamaya devam edebiliriz.


Teşekkür gönderin .[#toc-send-thanks]
=====================================

Size açık kaynak yazarlarını mutlu edecek bir numara göstereceğiz. Projenizin kullandığı kütüphanelere GitHub'da kolayca bir yıldız verebilirsiniz. Sadece çalıştırın:

```shell
composer thanks
```

Dene bakalım!

{{priority: -1}}
{{sitename: Nette Quickstart}}

İlk Başvurunuzu Oluşturun!

Yorumlarla basit bir blog oluştururken Nette Framework'ü tanıyın. Hadi başlayalım!

İlk iki bölümden sonra, kendi çalışan blogunuza sahip olacaksınız ve harika gönderilerinizi yayınlamaya hazır olacaksınız, ancak bu iki bölümü tamamladıktan sonra özellikler oldukça sınırlı olacaktır. Kullanıcılarınız için işleri daha güzel hale getirmek için sonraki bölümleri de okumalı ve uygulamanızı geliştirmeye devam etmelisiniz.

Bu öğretici, Kurulum belgesini tamamladığınızı ve araçlarınızı başarıyla kurduğunuzu varsayar. Ayrıca PHP'de nesne yönelimli programlamayı anladığınızı varsayar.

Lütfen PHP 8.1 veya üstünü kullanın. Uygulamanın tamamını GitHub'da bulabilirsiniz.

Karşılama Sayfası

nette-blog dizininde yeni bir proje oluşturarak başlayalım:

composer create-project nette/web-project nette-blog

Şu anda, Web Projesinin karşılama sayfası çalışıyor olmalıdır. Tarayıcınızı açıp aşağıdaki URL'ye giderek deneyin:

http://localhost/nette-blog/www/

ve Nette Framework karşılama sayfasını görmelisiniz:

Uygulama çalışır ve artık üzerinde değişiklik yapmaya başlayabilirsiniz.

Eğer bir sorununuz varsa, bu birkaç ipucunu deneyin.

Web Projesinin İçeriği

Web Projesi aşağıdaki yapıya sahiptir:

nette-blog/
├── app/              ← application directory
│   ├── Presenters/   ← presenter classes
│   │   └── templates/← templates
│   ├── Router/       ← configuration of URL addresses
│   └── Bootstrap.php ← booting class Bootstrap
├── bin/              ← scripts for the command line
├── config/           ← configuration files
├── log/              ← error logs
├── temp/             ← temporary files, cache, …
├── vendor/           ← libraries installed by Composer
│   └── autoload.php  ← autoloading of libraries installed by Composer
└── www/              ← public folder - the only place accessible from browser
    └── index.php     ← initial file that launches the application

www dizini resim, JavaScript, CSS ve diğer herkese açık dosyaları depolamak içindir. Bu, tarayıcıdan doğrudan erişilebilen tek dizindir, bu nedenle web sunucunuzun kök dizinini buraya yönlendirebilirsiniz (Apache'de yapılandırabilirsiniz, ancak şu anda önemli olmadığı için bunu daha sonra yapalım).

Sizin için en önemli dizin app/. Orada Bootstrap.php dosyasını bulabilirsiniz, içinde çerçeveyi yükleyen ve uygulamayı yapılandıran bir sınıf vardır. Otomatik yüklemeyi etkinleştirir ve hata ay ıklayıcı ile rotaları ayarlar.

Temizlik

Web Projesi, kaldırabileceğimiz bir karşılama sayfası içerir – app/Presenters/templates/Home/default.latte dosyasını silmekten ve „Merhaba dünya!“ metniyle değiştirmekten çekinmeyin.

Tracy (Hata Ayıklayıcı)

Geliştirme için son derece önemli bir araç Tracy adlı bir hata ayıklayıcıdır. app/Presenters/HomePresenter.php dosyanızda bazı hatalar yapmaya çalışın (örneğin HomePresenter sınıfının tanımından bir küme parantezini kaldırın) ve ne olacağını görün. Anlaşılabilir bir hata açıklamasıyla birlikte kırmızı ekranlı bir sayfa açılacaktır.

debugger screen

Tracy, hataları ararken size önemli ölçüde yardımcı olacaktır. Ayrıca, önemli çalışma zamanı verileri hakkında sizi bilgilendiren sağ alt köşedeki yüzen Tracy Çubuğuna da dikkat edin.

Üretim modunda, Tracy elbette devre dışıdır ve herhangi bir hassas bilgiyi açığa çıkarmaz. Bunun yerine tüm hatalar log/ dizinine kaydedilir. Sadece deneyin. app/Bootstrap.php adresinde, aşağıdaki kod parçasını bulun, satırdaki yorumu kaldırın ve yöntem çağrısı parametresini false olarak değiştirin, böylece aşağıdaki gibi görünür:

...
$configurator->setDebugMode(false);
$configurator->enableTracy(__DIR__ . '/../log');
...

Web sayfasını yeniledikten sonra, kırmızı ekran sayfasının yerini kullanıcı dostu mesaj alacaktır:

error screen

Şimdi, log/ dizinine bakın. Orada hata günlüğünü (exception.log dosyasında) ve ayrıca hata mesajını içeren sayfayı (adı exception ile başlayan bir HTML dosyasına kaydedilmiş olarak) bulabilirsiniz.

// $configurator->setDebugMode(false); satırını tekrar yorumlayın. Tracy, localhost ortamında geliştirme modunu otomatik olarak etkinleştirir ve başka yerlerde devre dışı bırakır.

Şimdi hatayı düzeltebilir ve uygulamamızı tasarlamaya devam edebiliriz.

Teşekkür gönderin

Size açık kaynak yazarlarını mutlu edecek bir numara göstereceğiz. Projenizin kullandığı kütüphanelere GitHub'da kolayca bir yıldız verebilirsiniz. Sadece çalıştırın:

composer thanks

Dene bakalım!