samsonos/php_core

View on GitHub
src/deprecated/iCore.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
namespace samson\core;

/**
 * Интерфейс для ядра системы
 * @author Vitaly Iegorov <vitalyiegorov@gmail.com>
 * @deprecated Use samsonframework\core\SystemInterface
 */
interface iCore
{
    /* Rendering models */
    /** Standard algorithm for view rendering */
    const RENDER_STANDART = 1;
    /** View rendering algorithm from array of view paths */
    const RENDER_ARRAY = 2;
    /** View rendering algorithm from array of view variables */
    const RENDER_VARIABLE = 3;

    /**
     * Module resource manager, working gathering all resources from
     * specified path and arranging them by file extension
     *
     * @param string $path Path to scan for module resources
     * @param array $ls Returnable array of gathered resources
     */
    public function resources(& $path, & $ls = array(), & $files = null);

    /**
     * Прорисовать файл представления
     *
     * @param string $view_path Путь к файлу представления
     * @param array $view_data Коллекция данных для передачи в представление
     * @return string Обработанное прорисованное представление
     */
    public function render($view_path, $view_data = array());

    /**
     * Установить/Получить флаг ассинхронности вывода ответа системы
     *
     * @param boolean $async Флаг ассинхронности вывода ответа системы
     * @return boolean Значение флага ассинхронности вывода ответа системы
     */
    public function async($async = NULL);

    /**
     * Установить/Получить путь к основному шаблону системы
     *
     * @param string $template Путь к основному шаблону системы
     * @return iCore/string Указатель на ядро системы для цепирования / Путь к основному шаблону системы
     */
    public function template($template = NULL);

    /**
     * Установить относительный путь к файлам и ресурсам данного Веб-приложения
     *
     * @param string $path Относительный путь к Веб-приложению
     */
    public function path($path = NULL);

    /**
     * Установить/Получить текущий активный модуль системы
     *
     * @param null|iModule $module Указатель на модуль для установки
     * @return iModule Текущий модуль системы до момента вызова данного метода
     */
    public function &active(iModule & $module = NULL);


    /**
     * Получить модуль из стека загруженых модулей системы
     * по его имени. Если ничего не передано то возвращается
     * текущий модуль системы.
     *
     * @param string $module Имя модуля
     * @return iModule Модуль системы
     */
    public function &module(& $module = NULL);

    /**
     * Load module into the framework core
     *
     * @param string $path Path to module for loading
     * @return iCore Self reference for chaining
     */
    public function load($path = NULL);

    /**
     * Unload module from framework core
     *
     * @param string $id Module identifier
     */
    public function unload($id);

    /**
     * Запустить ядро системы
     *
     * После вызова этого метода выполняется прорисвка
     * всего приложения
     *
     * @param string $default Имя модуля по умолчанию
     */
    public function start($default);
}