Ön Tanımlı Sabit ve Fonksiyonlar
"Başlangıç dosya ve kontrolcüleri üzerinden tüm kontrolcü ve görünümlere veri gönderilebilir."
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 Framework'ün mevcut version bilgisini verir.
echo ZN_VERSION;
ZN Framework'ün kullanılabilir minimum PHP versiyon bilgisini verir.
echo REQUIRED_PHP_VERSION;
# {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 |
echo FILES_DIR;
echo THEMES_DIR;
echo CONTROLLERS_DIR;
echo RESOURCES_DIR;
Theme::active() ile belirlenen aktif temanın dizin yol bilgisini verir.
echo CURRENT_THEME_DIR;
# 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.
Aktif kontrolcünün uzantısız dosya adını verir.
echo CURRENT_CONTROLLER;
Aktif kontrolcünün çalıştırdığı yöntem bilgisini verir.
echo CURRENT_CFUNCTION;
Aktif kontrolcünün isim alanı bilgisini verir.
echo CURRENT_CNAMESPACE;
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;
İstek yapılan aktif kontrolcü ve yöntem bilgisini verir.
echo CURRENT_CFPATH;
İstek yapılan aktif kontrolcü ve yöntem bilgisini daima küçük harfe çevrilmiş olarak verir.
echo CURRENT_CFURI;
İstek yapılan aktif kontrolcü ve yöntem bilgisini url adresi ile birlikte verir.
echo CURRENT_CFURL;
İstek yapılan aktif kontrolcünün dosya adını verir.
echo CURRENT_CPAGE;
İstek yapılan aktif kontrolcünün dosya yol bilgisini verir.
echo CURRENT_CFILE;
# {SPACE_CHARS} (ZN >= 3.0.0)
Boşluk karakterleri ile ilgili sabitler.
echo EOL;
echo CRLF;
echo CR;
echo LF;
echo HT;
echo FF;
# {INFO}_PROJECT (ZN >= 4.0.2)
Aktif proje ile ilgili sabitler.
Ön tanımlı açılış proje dizinin adını verir.
echo DEFAULT_PROJECT;
İstek yapılan aktif proje dizinin adını verir.
echo CURRENT_PROJECT;
İ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.
echo CONTAINER_PROJECT;
Theme::active() ile belirlenen aktif temanın isim bilgisini verir.
echo CURRENT_THEME;
# 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']]);
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;
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 | Nereye yönlendirileceği. |
return int |
Kullanımı
echo length('abc');
[$uri = array]
echo length(['a', 'b', 'c']);