Başlangıç Dosyaları Kullanımı
"Başlangıç kontrolcüsü üzerinden $this nesnesini data olarak göndererek statik olmayan sınıflara ilgili data üzerinden erişebilirsiniz."
Projelerinizde kodlarınızın çalışmasından önce çalıştırmak istediğiniz kod blokları olabilir. Bu gibi durumlarda yani kodlarınız devreye girmeden önce çalıştırılmasını istediğiniz kod bloklarınızı oluşturmak için kullanılır. Bu dosyalarda herhangi bir fonksiyon, sabit veya farklı kod blokları çalıştırılabilir. Temel amacımız kullanıcıların mevcut yapıya müdahale edebilmesine olanak sağlamaktır.
# Bölüm Başlıkları
# Otomatik Yükleme
# Manuel Yükleme
# Katmanlar (ZN >= 5.3.6)# Top / Üst Katman
# Top Bottom / Üstün Bir Alt Katmanı
# Middle Top / Ortanın Bir Üst Katmanı
# Middle / Orta Katman
# Middle Bottom / Ortanın Bir Alt Katmanı
# Bottom Top / Altın Bir Üst Katmanı
# Bottom / Alt Katman
# Otomatik Yükleme
Başlangıçta çalıştırılmasını istediğiniz kodlarınızın yer aldığı dosyayı Starting/Autoload/ dizini içine atmanız gerekir. Eğer bu dosyalar tüm projeleriniz için geçerli olacaksa bu defa External/Starting/Autoload/ dizinine atmanız gerekir. Bu dosyaların otomatik olarak yüklenebilmesi içinde ayar dosyasında yer alan autoload:recursive = true olarak ayarlanması gerekmektedir. Bu işlemlerden sonra dosyanızın otomatik olarak yüklendiğiniz görebilirsiniz.
Yapılandırma dosyasının yolu ve içeriği aşağıdaki gibidir.
'autoload' =>
[
'status' => true,
'recursive' => false
]
# Manuel Yükleme
Başlangıçta çalıştırılmasını istediğiniz kodlarınızı Starting/Handload/ dizini içinde oluşturacağınız dosyaya yazıp Import::handload() yöntemi ile dahil ederek kullanabilirsiniz.
<?php namespace Project\Controllers;
use Import;
class ExampleController extends Controller
{
public function main()
{
Import::handload('example-file');
}
}
# Katmanlar (ZN >= 5.3.6)
Katmanlar ZN Framework'ün her bir köşesine kod entegresi yapabilmeniz için tasarlanmıştır. Bu kullanımın başlangıç dosyaları kullanımından farkı sabit olmamasıdır. Yani yazdığınız kodlar bulundukları katmanlarda çalışırlar. Bu dosyalar aşağıdaki dizinde bulunurlar.
Starting/Layers/
Top.php
TopBottom.php
MiddleTop.php
Middle.php
MiddleBottom.php
BottomTop.php
Bottom.php
Bu katmana yazılacak kodlar sistem dosyalarının yüklenmesinden önce çalışır. Bu nedenle ZN kütüphanelerini kullanamazsınız.
Önce Çalışan Yapılar
Bu katmandan önce çalışan yapılar aşağıdadır.
● Sistem Sabitleri
● Dizin Sabitleri
● Boşluk Karakteri Sabitleri
Bu katmana yazılacak kodlar oto yükleyiciden hemen sonra kullanıldığı için sistem sabitleri ile kütüphaneleri bu katmanda kullanabilirsiniz. Bu katman oto yükleyiciden hemen sonra çalıştığı için tüm Config dosyaları bu katmanda yapılandırılabilir.
Önce Çalışan Yapılar
Bu katmandan önce çalışan yapılar aşağıdadır.
● Üst Katmanların Yapıları
● Otoyükleyici
Bu katmana yazılacak kodlar çekirdeğin devreye girmesinden hemen önce çalışır. Ancak Htaccess, Autoloder ve Header yapılandırmalarından sonra devreye girer.
Önce Çalışan Yapılar
Bu katmandan önce çalışan yapılar aşağıdadır.
● Üst Katmanların Yapıları
● Dizin URL Sabitleri
● Aktif Kontrolcü Sabitleri
● Dahili Fonksiyonlar
● Sınıf Takma İsimleri
● Proje Yapılandırmaları
● Htaccess cache:obGzhandler Yapılandırması
Bu katman çekirdeğin başlangıç kodları devreye girdikten sonra çalışır. Bu katmandan önce diğer katmanda çalışan kodlara ek Rotalar, Vendor Yüklemeleri, Başlangıç Dosyaları devreye girer.
Önce Çalışan Yapılar
Bu katmandan önce çalışan yapılar aşağıdadır.
● Üst Katmanların Yapıları
● Htaccess Yapılandırmaları
● Robots Yapılandırmaları
● FileSystem Yapılandırmaları
● Autoloader Yapılandırmaları
● Başlangıç Dosyaları
● Restorasyon Yapılandırmaları
● Rota Yapılandırmaları
Bu katman çekirdeğin çalışmasından sonra devreye girer. Diğer katmandaki kodlar bu katmandan önce çalışır. Bu katman sadece çekirdeğin bitiş kodlarından hemen önce devreye girer.
Önce Çalışan Yapılar
Bu katmandan önce çalışan yapılar aşağıdadır.
● Üst Katmanların Yapıları
● Kontrolcülerin Yüklenmesi
● Otomatik Görünüm Yüklemeleri
Bu katmanda çekirdeğin bitiş kodları dahil tüm yapıları çalışır. Çekirdekten hemen sonra çalışacak kodlar bu katmanda yer alır.
Önce Çalışan Yapılar
Bu katmandan önce çalışan yapılar aşağıdadır.
● Üst Katmanların Yapıları
● Bitiş Kontrolcüsü
Tüm sistemden sonra devreye giren katmandır. Sistemin çalışmasından sonra çalıştırılacak kodlar bu katmana yazılır.
Önce Çalışan Yapılar
Bu katmandan önce çalışan yapılar aşağıdadır.
● Üst Katmanların Yapıları
● Loglar
● Tamponlama