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 durumunda çağrılacak mı?
	catchExceptions: ...    # (bool) üretim modunda varsayılan olarak true

	# hata sunucusunun adı
	errorPresenter: Error   # (string) varsayılan olarak 'Nette:Error'

	# 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

Hata sunucuları geliştirme modunda varsayılan olarak çağrılmadığından ve hatalar Tracy tarafından görüntülendiğinden, catchExceptions değerini true olarak değiştirmek, hata sunucularının geliştirme sırasında doğru çalıştığını doğrulamaya yardımcı olur.

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.

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

	# $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

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
versiyon: 4.0