Ön Tanımlı Sabit ve Fonksiyonlar


    × Bunları biliyor muydunuz?
"Sistem genelinde ortak kullanılanacak ajax yöntemlerinizi başlangıç kontrolcüsüne yazabilirsiniz."


ZN Framework'te ön tanımlı yer alan sabit ve fonksiyonların listesi aşağıda verilmiştir.

{INFO}_VERSION : string
{DIRECTORY_NAME}_DIRS : string
CURRENT_C{CONSTS} : string
{SPACE_CHARS} : string
{INFO}_PROJECT : string
SYSTEM_CONSTS : mixed
CSRFInput() : string
output(mixed $data, array $settings = [], bool $content = false) : mixed
redirect(string $url, int $time = 0, array $data = [], bool $exit = true) :
against(mixed $data, array $match) : mixed
length(mixed $data) : int

 

 

# {INFO}_VERSION (ZN >= 3.1.3)


Versiyon bilgileri ile ilgili sabitler.

ZN_VERSION

ZN Framework'ün mevcut version bilgisini verir.

echo ZN_VERSION;
4.5.0
REQUIRED_PHP_VERSION

ZN Framework'ün kullanılabilir minimum PHP versiyon bilgisini verir.

echo REQUIRED_PHP_VERSION;
7.0.0

 

 

# {DIRECTORY_NAME}_DIRS (ZN >= 1.0.0)


ZN Framework'ün her bir dizininin yol bilgisini tutan bir sabit mevcuttur. Bu sabitin tuttuğu yol bilgisi ilgili projeye göre değişmektedir.

Sabitler

Proje Dizini Sabitleri Karşılıkları External Dizini Sabitleri Karşılıkları
BUTCHERY_DIR Projects/Any/Butchery/ EXTERNAL_BUTCHERY_DIR Extenal/Butchery/
CONTROLLERS_DIR Projects/Any/Controllers/ EXTERNAL_CONTROLLERS_DIR Extenal/Controllers/
VIEWS_DIR Projects/Any/Views/    
MODELS_DIR Projects/Any/Models/ EXTERNAL_MODELS_DIR Extenal/Models/
ROUTES_DIR Projects/Any/Routes/ EXTERNAL_ROUTES_DIR Extenal/Routes/
CONFIG_DIR Projects/Any/Config/    
DATABASES_DIR Projects/Any/Databases/    
STORAGE_DIR Projects/Any/Storage/    
COMMANDS_DIR Projects/Any/Commands/ EXTERNAL_COMMANDS_DIR Extenal/Commands/
LIBRARIES_DIR Projects/Any/Libraries/ EXTERNAL_LIBRARIES_DIR Extenal/Libraries/
STARTING_DIR Projects/Any/Starting/ EXTERNAL_STARTING_DIR Extenal/Starting/
AUTOLOAD_DIR Projects/Any/Starting/Autoload/ EXTERNAL_AUTOLOAD_DIR Extenal/Starting/Autoload/
HANDLOAD_DIR Projects/Any/Starting/Handload/ EXTERNAL_HANDLOAD_DIR Extenal/Starting/Handload/
LAYERS_DIR Projects/Any/Starting/Layers/ EXTERNAL_LAYERS_DIR Extenal/Starting/Layers/
RESOURCES_DIR Projects/Any/Resources/ EXTERNAL_RESOURCES_DIR Extenal/Resources/
FILES_DIR Projects/Any/Resources/Files/ EXTERNAL_FILES_DIR Extenal/Resources/Files/
TEMPLATES_DIR Projects/Any/Templates/ EXTERNAL_TEMPLATES_DIR Extenal/Resources/Templates/
THEMES_DIR Projects/Any/Themes/ EXTERNAL_THEMES_DIR Extenal/Resources/Themes/
PLUGINS_DIR Projects/Any/Plugins/ EXTERNAL_PLUGINS_DIR Extenal/Resources/Plugins/
UPLOADS_DIR Projects/Any/Uploads/ EXTERNAL_UPLOADS_DIR Extenal/Resources/Uploads/
EXTERNAL_DIR External/    
intERNAL_DIR internal/    
PROJECTS_DIR Projects/    
SETTINGS_DIR Settings    
Uyarı: ZN Framework'ün her bir dizin sabiti çıktısının son karakteri / sembolü ile biter. Ayrıca eklememeye dikkat ediniz.
echo FILES_DIR;
Projects/Any/Resources/Files/
echo THEMES_DIR;
Projects/Any/Resources/Themes/
echo CONTROLLERS_DIR;
Projects/Any/Controllers/
echo RESOURCES_DIR;
Projects/Any/Resources/
CURRENT_THEME_DIR (ZN >= 5.8.4.1)

Theme::active() ile belirlenen aktif temanın dizin yol bilgisini verir.

echo CURRENT_THEME_DIR;
Projects/Frontend/Resources/Themes/Default/

 

 

# CURRENT_C{CONSTS} (ZN >= 4.0.0)


O an ki aktif olan sayfaya yönelik URI ve PATH bilgilerini içeren sabitlerdir. Sabitler aşağıdaki URL üzerinden örneklendirilmiştir.

URL: localhost/Product/edit/id/10
CURRENT_CONTROLLER

Aktif kontrolcünün uzantısız dosya adını verir. 

Not: Rota düzenlemeleri bu bilgiyi değiştirmez. Bu nedenle bu bilgi güvenilirdir.
echo CURRENT_CONTROLLER;
Product
CURRENT_CFUNCTION

Aktif kontrolcünün çalıştırdığı yöntem bilgisini verir.

echo CURRENT_CFUNCTION;
edit
CURRENT_CNAMESPACE

Aktif kontrolcünün isim alanı bilgisini verir.

echo CURRENT_CNAMESPACE;
Project\Controllers
CURRENT_CCLASS

Aktif kontrolcünün sınıf ismini verir. Sınıf ismi doğal olarak isim alanını da içerir.

echo CURRENT_CCLASS;
Project\Controllers\Product
CURRENT_CFPATH

İstek yapılan aktif kontrolcü ve yöntem bilgisini verir.

echo CURRENT_CFPATH;
Product/edit
CURRENT_CFURI

İstek yapılan aktif kontrolcü ve yöntem bilgisini daima küçük harfe çevrilmiş olarak verir.

echo CURRENT_CFURI;
product/edit
CURRENT_CFURL

İstek yapılan aktif kontrolcü ve yöntem bilgisini url adresi ile birlikte verir.

echo CURRENT_CFURL;
localhost/Product/edit
CURRENT_CPAGE

İstek yapılan aktif kontrolcünün dosya adını verir.

echo CURRENT_CPAGE;
Product.php
CURRENT_CFILE

İstek yapılan aktif kontrolcünün dosya yol bilgisini verir.

echo CURRENT_CFILE;
Projects/ProjectDirectory/Controllers/Product.php

 

 

# {SPACE_CHARS} (ZN >= 3.0.0)


Boşluk karakterleri ile ilgili sabitler.

echo EOL;
\r\n
echo CRLF;
\r\n
echo CR;
\r
echo LF;
\n
echo HT;
\t
echo FF;
\f

 

 

# {INFO}_PROJECT (ZN >= 4.0.2)


Aktif proje ile ilgili sabitler.

DEFAULT_PROJECT

Ön tanımlı açılış proje dizinin adını verir.

echo DEFAULT_PROJECT;
DefaultProjectDirectory
CURRENT_PROJECT

İstek yapılan aktif proje dizinin adını verir.

echo CURRENT_PROJECT;
CurrentProjectDirectory
CONTAINER_PROJECT (ZN >= 5.7.0)

İstek yapılan aktif proje bir başka proje dizini tarafından kapsanıyorsa kapsayan proje dizini bilgisini verir. Eğer herhangi bir proje tarafından kapsanmıyorsa aktif proje dizini bilgisi döner.

URL: localhost/admin
echo CONTAINER_PROJECT;
Frontend
CURRENT_THEME (ZN >= 5.8.4.1)

Theme::active() ile belirlenen aktif temanın isim bilgisini verir.

echo CURRENT_THEME;
Default

 

 

# SYSTEM_CONSTS (ZN >= 1.0.0)


ZN Framework sistemi için kullanılan diğer dahili sabitlerin listesi aşağıdaki gibidir.

PROJECTS_CONFIG
DIRECTORY_INDEX
EXTERNAL_*
START_BENCHMARK
END_BENCHMARK
ZN_DEDICATED
PROJECT_TYPE
SSL_STATUS
PROJECT_CONTROLLER_NAMESPACE
PROJECT_COMMAND_NAMESPACE
intERNAL_ACCESS
GET_DIRS
BASE_DIR
ZEROCORE
REAL_BASE_DIR
REQUESTED_CURRENT_PROJECT
DEFINED_CURRENT_PROJECT
STUCTURE_DATA
PROJECT_CONFIG
PROJECT_MODE
HTACCESS_CONFIG

 

 

# CSRFInput (ZN >= 4.3.2)


Rota işlemlerinde ya da Security sınıfı ile CSRF token datası oluşturulduğunda o datayı kontrol etmek ve eşleştirmek için hidden input nesnesi oluşturmak için kullanılır.

Parametreler

return string

Kullanımı

echo CSRFInput();

 

 

# Output (ZN >= 2.0.0)


Çıktılanabilen veya çıktılanamayan verileri çıktılamak için kullanılır. Özellikle dizi türündeki verilerin çıktısını görmek açısından oldukça kullanışlıdır.

Parametreler

mixed $data Çıktılanacak dizge veya dizi.
return mixed

Kullanımı

output([1, 2, true, ['a' => 1, 'b']]);
0 => integer 1 ( length = 1 ),
1 => integer 2 ( length = 1 ),
2 => boolean true ( length = 4 ),
3 => array
(
        a => integer 1 ( length = 1 ),
        0 => string 'b' ( length = 3 ),
)

 

 

# Redirect (ZN >= 3.0.0)


Belli bir süre sonra sayfa yenilemek veya başka bir sayfaya yönlendirme yapmak için kullanılır.

Parametreler

string string $uri Nereye yönlendirileceği.
int int $time = 0 Bekleme süresi.
array array $data = [] Gönderilecek data.
bool bool $exit = true Sayfa kod akışı durdurulsun mu?

Kullanımı

redirect('profile', 2);

 

 

# Against [6.4.8.37][2021-01-15]


PHP 8 kullanımı ile gelen match() kullanımının bir benzeri olan ancak 8 öncesi sürümlerde benzer bir kullanım sağlamak amacı ile oluşturulmuştur. Switch kullanımının bir benzeridir.

Parametreler

mixed $data Karşılaştırılacak herhangi bir veri.
array $match Karşılaştırma dizisi.
return mixed

Kullanımı

$data = 2;

$return = against($data, 
[
    1         => 1,
    '2|3'     => '2 or 3',
    'default' => 4 
]);

echo $return;
2 or 3
Not: Kesin eşleşme gerekmez. Eşleştirme yapılırken değerin türüne bakılmaz. (string) 3 == (int) 3 kabul edilir.

Eğer default belirtilmezse ve herhangi bir eşleşme sağlanmazsa false döner. 

 

 

# Length [6.5.8.63][2021-01-29]


Dizi, obje veya scalar verinin uzunluğunu hesaplar.

Parametreler

scalar | array | object $uri Karakter sayısı hesaplanacak veri.
return int

Kullanımı

echo length('abc');
3

[$uri = array]

echo length(['a', 'b', 'c']);
3