Başlangıç Dosyaları Kullanımı


    × Bunları biliyor muydunuz?
"Aktif kontrolcü tarafından otomatik olarak yüklenen görünümleri masterpage olarak belirlenen sayfa içerisinde $view değişkeni ile konumlandırabilirsiniz."


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. Bu bölümle ilgili yapılandırma aşağıdaki yolda bulunmaktadır.

File: Config/Starting.php

 

 

# Bölüm Başlıkları


# Otomatik Yükleme
# Manuel Yükleme

# Yöntemsel Kullanım

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

'autoload' =>
[
    'status'    => true,
    'recursive' => false
]

 

 

# Manuel Yükleme


Başlangıçta çalıştırılmasını istediğiniz kodlarınızın yer aldığı dosyayı Starting/Handload/ dizini içine atıp kullanmak için yapılandırma dosyasında yer alan handload ayarına dosya adını bildirmeniz gerekmektedir.

'handload' => ['file1', 'file2']
Yöntemsel Kullanım

Yukarıdaki yöntem dışıda Import::handload('file1', 'file2', ... , 'fileN') yöntemi ile de bu tür fonksiyonlarınızı dahil edebilirsiniz.

Dosya: Controllers/ExampleController.php
<?php namespace Project\Controllers;

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.

Katmanlar

Starting/Layers/

Top.php
TopBottom.php
MiddleTop.php
Middle.php
MiddleBottom.php
BottomTop.php
Bottom.php

Top / Üst Katman

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

Top Bottom / Üstün Bir Alt Katmanı

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

Middle Top / Ortanın Bir Üst Katmanı

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ı

Middle / Orta Katman

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ı

Middle Bottom / Ortanın Bir Alt Katmanı

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

# Bottom Top / Altın Bir Üst Katmanı

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ü

Bottom / Alt Katman

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