Папка 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.