Yii - Entry Scripts

Tập lệnh nhập có trách nhiệm bắt đầu một chu trình xử lý yêu cầu. Chúng chỉ là các tập lệnh PHP mà người dùng có thể truy cập.

Hình minh họa sau đây cho thấy cấu trúc của một ứng dụng:

Ứng dụng web (cũng như ứng dụng bảng điều khiển) có một tập lệnh mục nhập duy nhất. Người dùng cuối đưa ra yêu cầu đối với tập lệnh nhập. Sau đó, tập lệnh nhập khởi tạo các phiên bản ứng dụng và chuyển tiếp các yêu cầu đến chúng.

Tập lệnh nhập cho ứng dụng bảng điều khiển thường được lưu trữ trong đường dẫn cơ sở của dự án và được đặt tên là yii.php. Tập lệnh nhập cho ứng dụng web phải được lưu trữ trong thư mục có thể truy cập web. Nó thường được gọi làindex.php.

Các tập lệnh Entry thực hiện như sau:

  • Xác định hằng số.
  • Đăng ký trình tải tự động Composer.
  • Bao gồm các tệp Yii.
  • Tải cấu hình.
  • Tạo và cấu hình một phiên bản ứng dụng.
  • Xử lý yêu cầu đến.

Sau đây là kịch bản mục nhập cho basic application mẫu -

<?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();
?>

Sau đây là kịch bản mục nhập cho console ứng dụng -

#!/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);
?>

Nơi tốt nhất để xác định các hằng số toàn cục là các tập lệnh nhập. Có ba hằng số Yii được hỗ trợ -

  • YII_DEBUG- Xác định xem bạn có đang ở chế độ gỡ lỗi hay không. Nếu được đặt thành true, thì chúng ta sẽ thấy nhiều dữ liệu nhật ký hơn và ngăn xếp cuộc gọi lỗi chi tiết.

  • YII_ENV- Xác định chế độ môi trường. Giá trị mặc định là sản phẩm. Các giá trị có sẵn là prod, dev và test. Chúng được sử dụng trong các tệp cấu hình để xác định, ví dụ, một kết nối DB khác (cục bộ và từ xa) hoặc các giá trị khác.

  • YII_ENABLE_ERROR_HANDLER - Chỉ định có bật trình xử lý lỗi Yii mặc định hay không.

Để xác định một hằng số chung, đoạn mã sau được sử dụng:

//defining global constants 
defined('YII_DEBUG') or define('YII_DEBUG', true); 
which is equivalent to: 
if(!defined('YII_DEBUG')) { 
   define('YII_DEBUG', true); 
}

Note - Các hằng số toàn cục phải được xác định ở phần đầu của một tập lệnh nhập để có hiệu lực khi các tệp PHP khác được đưa vào.