- PVSM.RU - https://www.pvsm.ru -

Phalcon S: Быстрая разработка на phalconphp

Добрый день!

Уважаемый читатель: данная статья не является примером идеального программирования на языке php и предоставленный инструмент может содержать в себе множество недоработок. Phalcon S сырой и выкладывается для поддержки, или осуждения разработки.

Сегодня я хочу показать сообществу Phalcon System (Система Ястреб) [1].

Описание и предыстория

Phalcon S — это зачаток мульти-модульной системы, для построения вэб-приложения. Phalcon S изначально был задуман для персонального использования 1-2 разработчиками. Phalcon S написан с использованием Phalconphp [2] и представляет из себя мульти-модульное приложение. На данный момент содержится модуль панели администратора, который откровенно говоря не доделан. Все началось с того, что мне была нужна система микроблоггинга. Поиски того что нужно, не дали успехов. Так как я обладаю некими знаниями языка php, было задумано писать самому. Систему для блогов я поднял за 3 дня и в качестве админки к ней начал писать Phalcon S (в свободное от работы время). К сожалению модуль микроблоггинга в общий доступ выложить не могу.

Архитектуру наглядно можно изобразить так:

Phalcon S: Быстрая разработка на phalconphp

Каждый модуль это отдельное mvc приложение.

В папке dev находится каркас-пример для разработки модуля Phalcon S.

Краткая инструкция по разработке модуля.

Большинство настроек приложения храниться в формате xml. При разработке модуля, необходимо создать папку module_name/config/xml с настройками вашего модуля. Также необходимо разместить schema.sql и schema_drop.sql в папке module_name/config для создания таблиц в бд и соответственно удаления при деинсталяции модуля.

Пример настройки роутинга:

<?xml version="1.0" encoding="UTF-8"?>
<routes>
    <route name="pnews" url="/pnews" module="pnews" controller="pnews" action="index"/>
    <route name="pnews" url="/pnews/administrationpnews" module="pnews" controller="administrationpnews" action="index"/>
    <route name="pnews" url="/pnews/administrationpnews/add" module="pnews" controller="administrationpnews" action="add"/>
    <route name="pnews" url="/pnews/administrationpnews/delete/{item_id}/{page_number}" module="pnews" controller="administrationpnews" action="delete"/>
</routes>

Пример настройки модуля (для регистрации его в системе):

<?xml version="1.0" encoding="UTF-8"?>
<modules>
    <module name="pnews" className="PPnewsModule" path="../apps/modules/pnews/Module.php"/>
</modules>

Остальные примеры можно найти тут Phalcon-S / dev / pnews / config / xml [3].
Также необходимо знать, что ресурсы для ACL разделяются на модуль и контроллер. По умолчанию доступ ко всем ресурсам модуля, закрыт для всех пользователей. Allow нужно также добавить в настройках вашего модуля. Если вашему модулю нужны ресурсы css, images, js то разместите их в module_name/ext/module_name и при установке они будут перемешены в public/ext/module_name (это надо учитывать при прописывании путей к ресурсам).

Верстка:

Вьюшка вашего модуля ложна содержать:

<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/templates/header.phtml';
?>


<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/templates/footer.phtml';
?>

если это контроллер для пользователей и:

<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/templates/admin-templates/header.phtml';
?>


<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/templates/admin-templates/footer.phtml';
?>

если это контроллер панели администрирования.

github github.com/abasov90/Phalcon-S [1]
phalconphp phalconphp.com/en/ [4]
phalconphp в по русски docs.phalconphp.ru/ru/latest/ [5]

Автор: p4p

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/php-2/42234

Ссылки в тексте:

[1] Phalcon System (Система Ястреб): https://github.com/abasov90/Phalcon-S

[2] Phalconphp : http://http://phalconphp.com/

[3] Phalcon-S / dev / pnews / config / xml: https://github.com/abasov90/Phalcon-S/tree/master/dev/pnews/config/xml

[4] phalconphp.com/en/: http://phalconphp.com/en/

[5] docs.phalconphp.ru/ru/latest/: http://docs.phalconphp.ru/ru/latest/

[6] Источник: http://habrahabr.ru/post/192114/