Создание workspace

search

В Prologue-Framework для разработки сложных систем используется workspace. 

workspace - это область в которой работает функционал определенной части проекта. К примеру есть крупный портал и у этого портала есть сущность пользователь. У пользователя есть стена, поиск по другим пользователям, настройки профиля и многое другое. Такой функционал можно реализовать двумя способами.

Первый способ - вы делаете все как для типичного проекта, то есть располагаете все контроллеры, модели, компоненты, файлы представлений и др. в папке /Project/ и все будет работать. Но при таком подходе у нас будет слишком много контроллеров в одном месте, хотелось бы это все инкапсулировать и разнести по модулям. 

Второй способ - вы скачиваете воркспейс, копируете его в корень (на уровне с папкой Prologue). В корне появляется папка workspace. Мы её переименовываем в users и открываем файл /users/index.php 


/**
 * Загрузка workspace
 */
include 'starter.php';
/**
 * Установка workspace
 */
$workSpace = new PrologueFrameworkWorkspace('/users/');
/**
 * Задаем правила подключения контроллеров
 */
$workSpace -> url('/users/') -> controllerName('MainController');
/**
 * Получаем и подключаем контроллер
 */
PrController::get($workSpace -> controller, ['cache' => 'N']);



Нам необходимо в конструктор передать путь к нашему воркспейсу. В нашем случае это /users/. Потом следует настроить подключение контроллеров. Для этого вызовем цепочку методов url() -> controllerName() В методе url() необходимо указать адрес по которому будет подключаться определенный контроллер. Имя контроллера указывается в методе controllerName()

После этой настройки можно продолжать разрабатывать ваше приложение так же как и всегда, но уже оно лежит в своей папке, а это значит что поддержка приложения станет проще.

Стоит отметить то, как работает загрузка контроллеров, моделей, компонентов и языковых файлов в воркспейсе. Сначала система ищет к примеру файл контроллера в папке воркспейса, если не находит, то потом в папке /Project/ и если и здесь нет, то в папке ядра.

Скачать workspace

© 2015 - 2018