>  기사  >  php教程  >  Yii2.0 입구 각본

Yii2.0 입구 각본

伊谢尔伦
伊谢尔伦원래의
2016-11-25 14:23:011272검색

입력 스크립트는 애플리케이션 시작 프로세스의 첫 번째 단계입니다. 애플리케이션(웹 애플리케이션이든 콘솔 애플리케이션이든)에는 하나의 입력 스크립트만 있습니다. 최종 사용자 요청은 애플리케이션을 인스턴스화하고 해당 요청을 애플리케이션에 전달하는 입력 스크립트를 거칩니다.

웹 애플리케이션의 입력 스크립트는 최종 사용자가 액세스할 수 있는 디렉토리(일반적으로 index.php라는 이름 또는 웹 서버에서 찾을 수 있는 다른 이름)에 있어야 합니다.

콘솔 애플리케이션의 입력 스크립트는 일반적으로 애플리케이션 루트 디렉터리에 yii(접미사 .php)라는 이름으로 지정됩니다. 사용자가 ./yii d31b1a7c44939764b30ad061c016a24f 명령을 전달할 수 있도록 파일 실행 권한이 필요합니다. ] [옵션] 콘솔 응용 프로그램을 실행합니다.

입력 스크립트는 주로 다음 작업을 완료합니다.

전역 상수 정의

Composer 자동 로더 등록

[[Yii]] 클래스 파일 포함 ;

애플리케이션 구성 로드;

애플리케이션 인스턴스를 생성하고 구성합니다.

요청을 처리하려면 [[yiibaseApplication::run()]]을 호출하세요.

웹 애플리케이션

다음은 기본 애플리케이션 템플릿의 입력 스크립트 코드입니다.

<?php
    defined(&#39;YII_DEBUG&#39;) or define(&#39;YII_DEBUG&#39;, true);
    defined(&#39;YII_ENV&#39;) or define(&#39;YII_ENV&#39;, &#39;dev&#39;);
    // 注册 Composer 自动加载器
    require(__DIR__ . &#39;/../vendor/autoload.php&#39;);
    // 包含 Yii 类文件
    require(__DIR__ . &#39;/../vendor/yiisoft/yii2/Yii.php&#39;);
    // 加载应用配置
    $config = require(__DIR__ . &#39;/../config/web.php&#39;);
    // 创建、配置、运行一个应用
    (new yii\web\Application($config))->run();

콘솔 애플리케이션

다음은 콘솔 애플리케이션용 항목 스크립트:

#!/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/
     */
    defined(&#39;YII_DEBUG&#39;) or define(&#39;YII_DEBUG&#39;, true);
    // fcgi 默认没有定义 STDIN 和 STDOUT
    defined(&#39;STDIN&#39;) or define(&#39;STDIN&#39;, fopen(&#39;php://stdin&#39;, &#39;r&#39;));
    defined(&#39;STDOUT&#39;) or define(&#39;STDOUT&#39;, fopen(&#39;php://stdout&#39;, &#39;w&#39;));
    // 注册 Composer 自动加载器
    require(__DIR__ . &#39;/vendor/autoload.php&#39;);
    // 包含 Yii 类文件
    require(__DIR__ . &#39;/vendor/yiisoft/yii2/Yii.php&#39;);
    // 加载应用配置
    $config = require(__DIR__ . &#39;/config/console.php&#39;);
    $application = new yii\console\Application($config);
    $exitCode = $application->run();
    exit($exitCode);

상수 정의

입력 스크립트는 전역 상수를 정의하는 데 가장 적합한 장소입니다. Yii는 다음 세 가지 상수를 지원합니다.

YII_DEBUG : 애플리케이션이 디버그 모드에서 실행 중인지 식별합니다. 디버그 모드에 있을 때 애플리케이션은 더 많은 로그 정보를 유지하며, 예외가 발생하면 자세한 오류 호출 스택이 표시됩니다. 따라서 디버그 모드는 주로 개발 단계에서 사용하기에 적합하며 YII_DEBUG의 기본값은 false입니다.

YII_ENV: 애플리케이션이 실행되는 환경을 식별합니다. 자세한 내용은 구성 장을 참조하세요. YII_ENV의 기본값은 'prod'입니다. 이는 애플리케이션이 온라인 프로덕션 환경에서 실행된다는 의미입니다.

YII_ENABLE_ERROR_HANDLER: Yii에서 제공하는 오류 처리를 활성화할지 여부를 식별하며 기본값은 true입니다.

상수를 정의할 때 일반적으로 다음과 유사한 코드를 사용하여 정의됩니다.

defined(&#39;YII_DEBUG&#39;) or define(&#39;YII_DEBUG&#39;, true);

위 코드는 다음과 동일합니다.

if (!defined(&#39;YII_DEBUG&#39;)) {
    define(&#39;YII_DEBUG&#39;, true);
}

분명히 첫 번째 코드 조각이 더 간단하고 이해하기 쉽습니다.

상수 정의는 항목 스크립트 시작 부분에 있어야 다른 PHP 파일이 포함될 때 상수가 적용됩니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.