Uygulama Yapılandırma
Nette Uygulaması için yapılandırma seçeneklerine genel bakış.
Uygulama
application:
# Tracy BlueScreen'de "Nette Application" panelini gösterir?
debugger: ... # (bool) varsayılan olarak true
# error-presenter hata üzerine çağrılacak mı?
# sadece geliştirici modunda etkilidir
catchExceptions: ... # (bool) varsayılan olarak true
# hata sunucusunun adı
errorPresenter: Error # (string|array) varsayılan olarak 'Nette:Error'
# sunum yapanlar ve etkinlikler için takma adlar tanımlar
aliases: ...
# sunum yapan kişinin adını bir sınıfa çözümlemek için kuralları tanımlar
mapping: ...
# kötü bağlantılar uyarı oluşturuyor mu?
# sadece geliştirici modunda etkilidir
silentLinks: ... # (bool) varsayılan değer false
nette/application
sürüm 3.2'den itibaren bir çift hata sunucusu tanımlamak mümkündür:
application:
errorPresenter:
4xx: Error4xx # Nette\Application\BadRequestException için
5xx: Error5xx # diğer istisnalar için
silentLinks
seçeneği, bağlantı oluşturma başarısız olduğunda (örneğin, sunum yapan kişi
olmadığından vb.) Nette'in geliştirici modunda nasıl davranacağını belirler. Varsayılan değer olan false
,
Nette'in E_USER_WARNING
adresini tetikleyeceği anlamına gelir. true
olarak ayarlanması bu hata
mesajını bastırır. Bir üretim ortamında, E_USER_WARNING
her zaman çağrılır. Bu davranışı, sunum yapan
değişken $invalidLinkMode'u ayarlayarak da
etkileyebiliriz.
Takma adlar, sık kullanılan sunum yapanlara atıfta bulunmayı kolaylaştırır.
Eşleme, sınıf adının sunum yapan kişinin adından türetildiği kuralları tanımlar.
Sunum Yapanların Otomatik Kaydı
Nette, sunum yapan kişileri otomatik olarak DI konteynerine hizmet olarak ekler, bu da onların oluşturulmasını önemli ölçüde hızlandırır. Nette'in sunucuları nasıl bulacağı yapılandırılabilir:
application:
# Composer sınıf haritasında sunum yapan kişileri aramak için?
scanComposer: ... # (bool) varsayılan değer true
# sınıf ve dosya adıyla eşleşmesi gereken bir maske
scanFilter: ... # (string) varsayılan olarak '*Presenter'
# sunum yapan kişileri hangi dizinlerde arayalım?
scanDirs: # (string[]|false) varsayılan değer '%appDir%'
- %vendorDir%/mymodule
scanDirs
adresinde listelenen dizinler %appDir%
varsayılan değerini geçersiz kılmaz, ancak onu
tamamlar, bu nedenle scanDirs
hem %appDir%
hem de %vendorDir%/mymodule
yollarını
içerecektir. Varsayılan dizinin üzerine yazmak istiyorsak ünlem işareti kullanırız:
application:
scanDirs!:
- %vendorDir%/mymodule
Dizin taraması false ayarı yapılarak kapatılabilir. Sunucuların otomatik olarak eklenmesinin tamamen engellenmesini önermiyoruz, aksi takdirde uygulama performansı düşecektir.
Latte
Bu ayar, Latte'nin bileşenler ve sunuculardaki davranışını genel olarak etkiler.
latte:
# Latte panelini Tracy Bar'da ana şablon için mi (true) yoksa tüm bileşenler için mi (all) gösteriyor?
debugger: ... # (true|false|'all') varsayılan olarak true
# declare(strict_types=1) ile şablonlar oluşturur
strictTypes: ... # (bool) varsayılan değer false
# [katı ayrıştırıcı modunu |latte:develop#strict mode]etkinleştirir
strictParsing: ... # (bool) varsayılan değer false
# [oluşturulan kodun kontrol |latte:develop#Checking Generated Code]edilmesini sağlar
phpLinter: ... # (string) varsayılan null
# yerel ayarı ayarlar
locale: cs_CZ # (string) varsayılan null
# $this->template sınıfı
templateClass: App\MyTemplateClass # varsayılan olarak Nette\Bridges\ApplicationLatte\DefaultTemplate
Latte sürüm 3 kullanıyorsanız, kullanarak yeni uzantı ekleyebilirsiniz:
latte:
extensions:
- Latte\Essential\TranslatorExtension(@Nette\Localization\Translator)
Yönlendirme
Temel ayarlar:
yönlendirme:
# Tracy Bar'da yönlendirme panelini gösterir mi?
debugger: ... # (bool) varsayılan değer true
# yönlendiriciyi DI konteynerine serileştirmek için?
cache: ... # (bool) varsayılan değer false
Yönlendirici genellikle RouterFactory
sınıfında tanımlanır. Alternatif olarak, yönlendiriciler mask: action
çiftleri kullanılarak yapılandırmada
da tanımlanabilir, ancak bu yöntem ayarlarda bu kadar geniş bir çeşitlilik sunmaz:
routing:
routes:
'detail/<id>': Admin:Home:default
'<presenter>/<action>': Front:Home:default
Sabitler
PHP sabitleri oluşturma.
constants:
Foobar: 'baz'
Foobar
sabiti başlangıçtan sonra oluşturulacaktır.
Sabitler global olarak kullanılabilir değişkenler olarak kullanılmamalıdır. Nesnelere değer aktarmak için bağımlılık enjeksiyonu kullanın.
PHP
PHP yönergelerini ayarlayabilirsiniz. Tüm yönergelere genel bir bakış php.net adresinde bulunabilir.
php:
date.timezone: Europe/Prague
DI Hizmetleri
Bu hizmetler DI konteynerine eklenir:
Ad | Tür | Açıklama |
---|---|---|
application.application |
Nette\Application\Application | tam uygulama başlatıcı |
application.linkGenerator |
Nette\Application\LinkGenerator | LinkGenerator |
application.presenterFactory |
Nette\Application\PresenterFactory | sunum fabrikası |
application.### |
Nette\Application\UI\Presenter | bireysel sunum yapanlar |
latte.latteFactory |
Nette\Bridges\ApplicationLatte\LatteFactory | fabrika için Latte\Engine |
latte.templateFactory |
Nette\Application\UI\TemplateFactory | fabrika için $this->template |