Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Стартапы, проекты, идеи > DevSimplifier Framework


Автор: AleksandrK 27.1.2011, 15:09
Здравствуйте, есть идея по поводу создания фреймворка, только не совсем уверен, что она нова (в связи с чем прошу указать в случае, если существует готовое решение)!
Регулярно разрабатывая довольно крупные проекты, пришёл к выводу, что как правило, все процессы разработки сводятся к:
1) созданию форм
2) их обработке
3) выводу информации из базы по шаблону
4) созданию блоков информации
В связи с чем написал простой фреймворк на PHP, особенностью которого является как раз тот факт, что при создании нового компонента (модуля) необходимо лишь описать (в заданном формате) поля формы / формат вывода для того, чтобы на странице сайта тут же появилась готовая рабочая форма (с возможностью использовать AJAX) / список записей из БД по указанному формату и т.п.
Таким образом, теперь разработка любого даже самого сложного портала сводится к описанию формата ввода/вывода. Модуль регистрации, например, выглядит где-то следующим образом:

Код

<access>1</access>

<form>
<name>#register#</name>
<action>insert</action>
<button>#ok#</button>
<message>#success#</message>
<db>users</db>

<input>
    <name>#email#</name>
    <min>6</min>
    <max>32</max>
    <format>email</format>
    <unique>1</unique>
</input>

<input>
    <name>#password#</name>
    <min>8</min>
    <max>64</max>
    <format>text</format>
    <password>1</password>
</input>

<textarea>
    <name>#adress#</name>
    <min>0</min>
    <max>256</max>
    <format>alpha</format>
    <help>#adress_help#</help>
</textarea>

<input>
    <name>#code#</name>
    <min>5</min>
    <max>5</max>
    <format>num</format>
</input>
</form>

При этом автоматически будет создана форма регистрации (используется файл шаблон), которая после заполнения и нажатия (в случае без АЯКС) переадресует клиента на новую страницу, где проверит введённые данные и покажет какие поля заполнены неверно или на страницу с сообщением об успешной регистрации, добавив при этом в БД новую запись. При этом доступ ко всем этим страницам будут иметь лишь пользователи из группы доступа "1" (т.е. гости).

Значения вида #слово# будут автоматически заменены на значения соответствующей локализации, т.е. система ещё и мультиязычная.
Таким образом возможно разработать любую даже самую сложную систему (возможностей, разумеется, чуть более, чем я показал выше).

Однако, есть и серъёзный минус данного подхода - система не очень хороша для сильнонагруженных проектов, а использовать её очень хочется. В связи с чем, планирую переписать данный фреймворк на C++, чтобы работал в виде библиотеки к apache или под FastCGI. Но прежде, очень важный вопрос: существуют ли подобные фреймворки (может я колесостроительством занимаюсь)?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)