Yii - skrypty wejściowe

Skrypty wejściowe są odpowiedzialne za rozpoczęcie cyklu obsługi żądań. To tylko skrypty PHP dostępne dla użytkowników.

Poniższa ilustracja przedstawia strukturę aplikacji -

Aplikacja internetowa (podobnie jak aplikacja konsolowa) ma jeden skrypt wejściowy. Użytkownik końcowy wysyła żądanie do skryptu wejściowego. Następnie skrypt wejściowy tworzy instancje aplikacji i przekazuje do nich żądania.

Skrypt wejściowy dla aplikacji konsoli jest zwykle przechowywany w ścieżce podstawowej projektu i nosi nazwę yii.php. Skrypt wejściowy dla aplikacji internetowej musi być przechowywany w katalogu dostępnym w sieci. Jest często nazywanyindex.php.

Skrypty wejściowe wykonują następujące czynności -

  • Zdefiniuj stałe.
  • Zarejestruj autoloader Composer.
  • Dołącz pliki Yii.
  • Załaduj konfigurację.
  • Utwórz i skonfiguruj instancję aplikacji.
  • Przetwarzaj przychodzące żądanie.

Poniżej znajduje się skrypt wejściowy dla basic application szablon -

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

Poniżej znajduje się skrypt wejściowy dla console aplikacja -

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

Najlepszym miejscem do definiowania stałych globalnych są skrypty wejściowe. Istnieją trzy obsługiwane przez stałe Yii -

  • YII_DEBUG- Określa, czy jesteś w trybie debugowania, czy nie. Jeśli jest ustawiona na true, zobaczymy więcej danych dziennika i szczegółowy stos wywołań błędów.

  • YII_ENV- Określa tryb środowiska. Wartość domyślna to prod. Dostępne wartości to prod, dev i test. Są one używane w plikach konfiguracyjnych do definiowania na przykład innego połączenia DB (lokalnego i zdalnego) lub innych wartości.

  • YII_ENABLE_ERROR_HANDLER - Określa, czy włączyć domyślną obsługę błędów Yii.

Aby zdefiniować stałą globalną, używany jest następujący kod -

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

Note - Stałe globalne należy zdefiniować na początku skryptu wejściowego, aby odniosły skutek w przypadku dołączenia innych plików PHP.