Yii-입력 스크립트
입력 스크립트는 요청 처리주기를 시작합니다. 사용자가 액세스 할 수있는 PHP 스크립트 일뿐입니다.
다음 그림은 응용 프로그램의 구조를 보여줍니다.
웹 응용 프로그램 (콘솔 응용 프로그램 포함)에는 단일 입력 스크립트가 있습니다. 최종 사용자가 입력 스크립트를 요청합니다. 그런 다음 입력 스크립트는 응용 프로그램 인스턴스를 인스턴스화하고 요청을 전달합니다.
콘솔 응용 프로그램의 입력 스크립트는 일반적으로 프로젝트 기본 경로에 저장되고 다음과 같이 명명됩니다. yii.php. 웹 응용 프로그램의 입력 스크립트는 웹에서 액세스 할 수있는 디렉터리에 저장해야합니다. 종종 불린다index.php.
엔트리 스크립트는 다음을 수행합니다.
- 상수를 정의하십시오.
- Composer 오토로더를 등록합니다.
- Yii 파일을 포함합니다.
- 구성을로드합니다.
- 애플리케이션 인스턴스를 만들고 구성합니다.
- 들어오는 요청을 처리합니다.
다음은 입력 스크립트입니다. basic application 템플릿 −
<?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();
?>
다음은 입력 스크립트입니다. console 신청-
#!/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);
?>
전역 상수를 정의하는 가장 좋은 위치는 입력 스크립트입니다. Yii 상수에 의해 지원되는 세 가지가 있습니다-
YII_DEBUG− 디버그 모드인지 여부를 정의합니다. true로 설정하면 더 많은 로그 데이터와 세부 오류 호출 스택이 표시됩니다.
YII_ENV− 환경 모드를 정의합니다. 기본값은 prod입니다. 사용 가능한 값은 prod, dev 및 test입니다. 예를 들어 다른 DB 연결 (로컬 및 원격) 또는 기타 값을 정의하기 위해 구성 파일에서 사용됩니다.
YII_ENABLE_ERROR_HANDLER − 기본 Yii 오류 처리기를 활성화할지 여부를 지정합니다.
전역 상수를 정의하려면 다음 코드가 사용됩니다.
//defining global constants
defined('YII_DEBUG') or define('YII_DEBUG', true);
which is equivalent to:
if(!defined('YII_DEBUG')) {
define('YII_DEBUG', true);
}
Note − 전역 상수는 다른 PHP 파일이 포함될 때 적용되도록 입력 스크립트의 시작 부분에 정의되어야합니다.