Учебники

Phalcon — Конфигурация

Папка config веб-приложения содержит следующие файлы:

  • config.php
  • loader.php
  • services.php

конфиг

config.php

Он включает в себя конфигурации для подключения к базе данных и маршрутизации в соответствии с путем к каталогу.

<?php 

/*
   * Modified: preppend directory path of current file, 
      because of this file own different ENV under between Apache and command line. 
   * NOTE: please remove this comment. 
*/ 

defined('BASE_PATH') || define('BASE_PATH', getenv('BASE_PATH') ?: 
   realpath(dirname(__FILE__) . '/../..')); 
defined('APP_PATH') || define('APP_PATH', BASE_PATH . '/app');  

return new \Phalcon\Config([ 
   'database' => [ 
      'adapter'     => 'Mysql', 
      'host'        => 'localhost', 
      'username'    => 'root', 
      'password'    => '', 
      'dbname'      => 'test', 
      'charset'     => 'utf8', 
   ], 
   'application' => [ 
      'appDir'         => APP_PATH . '/', 
      'controllersDir' => APP_PATH . '/controllers/', 
      'modelsDir'      => APP_PATH . '/models/', 
      'migrationsDir'  => APP_PATH . '/migrations/', 
      'viewsDir'       => APP_PATH . '/views/', 
      'pluginsDir'     => APP_PATH . '/plugins/', 
      'libraryDir'     => APP_PATH . '/library/', 
      'cacheDir'       => BASE_PATH . '/cache/', 
      'baseUri'        => '/demo1/', 
   ] 
]);

loader.php

Он расширяет существующий класс \ Phalcon \ Loader () . Класс загрузчика регистрирует каталоги, для которых требуется веб-приложение.

<?php  
$loader = new \Phalcon\Loader();  

/** 
   * We're a registering a set of directories taken from the configuration file 
*/ 

$loader->registerDirs( [ 
      $config->application->controllersDir, 
      $config->application->modelsDir 
   ] 
)->register(); 

services.php

Этот файл связывает все функции, которые реализуют сервисы веб-проекта. Он реализует интерфейс Phalcon \ Di. Это также реализует внедрение зависимостей сервисов, загружая их.

По сути, файл services.php внутри папки config действует как контейнер всех служб. Этот интерфейс помогает инициализировать все службы, такие как подключение к базе данных, настройка файлов cookie, создание нового сеанса или подключение к базе данных NoSQL.