Вызов приложения RS-MINI

 

Всем доброго времени суток. Сегодня мы продвинемся еще ближе к реализации минимального набора для RS-MINI. На данном этапе нам нужно создать файл который подключит автозагрузчик классов и стартанет класс в котором будет происходить магия по определению какие контроллеры нужно подключить при открытие определенной странице сайта. По сути это центр всей CMS (далее по тексту я буду называть этот файл приложением).

Создаем приложение

Так как большая часть классов еще не написана, то приложение будет выглядеть очень скудно. В нашу на сегодня задачу входит просто вывести из него echo. Вот код данного файла (создан он в папке /rs-mini/core/ и называется application.class.php)

<?php

/*
 * @package RS-MINI
 * @copyright (c) 2015 Alexey Glumov aka Rio-Shaman (support@rio-shaman.ru)
 * @license GNU General Public License version 2; see LICENSE.txt
 *
 */

namespace core;

if(!defined('RS-MINI')) die();

/*
 * application v 1.0
 *
 * Класс стартует систему
 *
 */

class application
{   
    /*
     * главный метод. запуск системы
     *
     * @access  - public
     *
     */
     
    public static function run()
    {
        echo "Запуск из application";
    }
}

Обратите внимание что неймспейсом, у класса приложения, является слово core. Как и в предыдущем посте, имея путь к файлу /rs-mini/core/application.class.php я опустил слово rs-mini (так как оно гвоздями прибито в автозагрузчике) и указал (в неймспейсе) только оставшуюся папку core

Теперь стоит создать промежуточный файл в котором мы подключим автозагрузчик и вызовем приложение. Почему подключать и вызывать будем именно в промежуточном файле? Я просто хочу немного разгрузить код точки входа. Давайте переходим в папку /rs-mini/core/ и создаем в ней файл под названием init.php. Вот код данного файла:

<?php

/*
 * @package RS-MINI
 * @copyright (c) 2015 Alexey Glumov aka Rio-Shaman (support@rio-shaman.ru)
 * @license GNU General Public License version 2; see LICENSE.txt
 *
 */
 

if(!defined('RS-MINI')) die();

require_once(DIR_RSMINI . '/core/loader.class.php');      // подключаем лоадер классов

loader::register();                                       // регистрируем загрузчик классов
\core\application::run();                                 // стартуем систему

Думаю вопросов данный код вызвать не должен. Подобное уже делали в предыдущем посте. Хочу только отметить то, что в приложение метод run() является статичным. Статичные методы вызываются без создания объекта класса (я уже говорил об этом). А вызываются они через двойное двоеточие. Надеюсь это немного прояснит синтаксис этого файла Улыбаюсь

Подключаем приложение к точки входа

Ну что же, нам осталось только подключить наш промежуточный файл к точки входа. Вот новый код index.php

<?php

/*
 * @package RS-MINI
 * @copyright (c) 2015 Alexey Glumov aka Rio-Shaman (support@rio-shaman.ru)
 * @license GNU General Public License version 2; see LICENSE.txt
 *
 */

define('RS-MINI', TRUE);                                        // константа безопасности
 
ini_set('display_errors', 1);                                   // показывать ли ошибки на экране
error_reporting(E_ALL | E_STRICT);                              // ур-нь ошибок
mb_internal_encoding("UTF-8");                                  // кодировка
date_default_timezone_set('Europe/Moscow');                     // временая зона

define('SHORT_DIR_RSMINI',  '/rs-mini');                        // короткий путь к движку (от корня пользовательской папки)
define('SHORT_DIR_PROJECT', '/project');                        // короткий путь к проекту (от корня пользовательской папки)
define('DIR_RSMINI',        __DIR__ . SHORT_DIR_RSMINI);        // каталог где лежит система (полный путь)
define('DIR_PROJECT',       __DIR__ . SHORT_DIR_PROJECT);       // каталог где лежит проект (полный путь)

require_once(DIR_RSMINI . '/core/init.php');                    // старт системы

Заключение

Теперь если мы перейдем на главную страницу нашего сайта, то увидим вот такое сообщение

запуск из application

Проделанную работу Вы можете скачать в самом низу статьи

Всего Вам наилучшего, на сегодня все!

Прикрепленные файлы

 

Возможно Вам будут интересны следующие заметки

Комментарии (0)

Ваше имя *
Сайт
Ваш E-mail *
Ваше сообщение *
 
Вы не подтвердили условия политики конфиденциальности.
К данной статье пока нет комментариев.