Yii - Giriş Komut Dosyaları
Giriş komut dosyaları, bir talep işleme döngüsünü başlatmaktan sorumludur. Bunlar sadece kullanıcılar tarafından erişilebilen PHP betikleri.
Aşağıdaki çizim bir uygulamanın yapısını göstermektedir -
Web uygulamasının (konsol uygulamasının yanı sıra) tek bir giriş komut dosyası vardır. Son kullanıcı, giriş betiğine istekte bulunur. Ardından, giriş betiği uygulama örneklerini başlatır ve istekleri bunlara iletir.
Bir konsol uygulaması için giriş komut dosyası genellikle bir proje temel yolunda saklanır ve şu şekilde adlandırılır: yii.php. Bir web uygulaması için giriş komut dosyası, web'den erişilebilir bir dizinde saklanmalıdır. Genellikle denirindex.php.
Giriş komut dosyaları aşağıdakileri yapar -
- Sabitleri tanımlayın.
- Composer otomatik yükleyiciyi kaydedin.
- Yii dosyalarını dahil edin.
- Yapılandırma Yükle.
- Bir uygulama örneği oluşturun ve yapılandırın.
- Gelen talebi işleyin.
Aşağıdakiler için giriş komut dosyasıdır basic application şablon -
<?php
//defining global constants
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
//register composer autoloader
require(__DIR__ . '/../vendor/autoload.php');
//include yii files
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
//load application config
$config = require(__DIR__ . '/../config/web.php'); //create, config, and process reques (new yii\web\Application($config))->run();
?>
Aşağıdakiler için giriş komut dosyasıdır console uygulama -
#!/usr/bin/env php
<?php
/**
* Yii console bootstrap file.
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
//defining global constants
defined('YII_DEBUG') or define('YII_DEBUG', true);
//register composer autoloader
require(__DIR__ . '/vendor/autoload.php');
require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');
//load config
$config = require(__DIR__ . '/config/console.php'); //apply config the application instance $application = new yii\console\Application($config); //process request $exitCode = $application->run(); exit($exitCode);
?>
Global sabitleri tanımlamak için en iyi yer, girdi betikleridir. Yii sabitleri tarafından desteklenen üç tane vardır -
YII_DEBUG- Hata ayıklama modunda olup olmadığınızı tanımlar. Doğru olarak ayarlanırsa, daha fazla günlük verisi ve ayrıntılı hata çağrısı yığını göreceğiz.
YII_ENV- Ortam modunu tanımlar. Varsayılan değer prod. Kullanılabilir değerler prod, dev ve test'tir. Yapılandırma dosyalarında, örneğin farklı bir DB bağlantısını (yerel ve uzak) veya diğer değerleri tanımlamak için kullanılırlar.
YII_ENABLE_ERROR_HANDLER - Varsayılan Yii hata işleyicisinin etkinleştirilip etkinleştirilmeyeceğini belirtir.
Global bir sabiti tanımlamak için aşağıdaki kod kullanılır -
//defining global constants
defined('YII_DEBUG') or define('YII_DEBUG', true);
which is equivalent to:
if(!defined('YII_DEBUG')) {
define('YII_DEBUG', true);
}
Note - Diğer PHP dosyaları dahil edildiğinde etkili olabilmesi için genel sabitler bir girdi betiğinin başında tanımlanmalıdır.