Пишем PHP фреймворк, начало (2%)

2 комментария

Добро пожаловать в цикл статей «Пишем PHP фреймворк». В данном цикле я буду поэтапно описывать как написать свой фреймворк. Обратите внимание в заголовке указан процент — это приблизительное количество выполеного объема работ по написанию своего php фреймворка.

Собственно сегодняшнюю дату можно считать датой начала разработки Intellect Framework-а. Напомню, я хочу разработать свой php фреймворк. Тока прошу, не надо мне говорит о том что таких фреймворков уже создано достаточно много, и что сейчас PHP разработчику достаточно выбрать какой нибудь из них, а не разрабатывать свой.

Но! В первую очередь я хочу при написании данного фреймворка научится правильно проектировать, WEB-приложения, а во вторую очередь, все таки я хочу что-то свое, родное.

Немного о том как будет разрабатываться фреймоворк.

Он будет написан полностью с помощью ООП. За основу естественно будет взята архитектура MVC.

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

Немного о том что уже разработано.

От прошлой разработки у меня остался шаблонизатор и класс View. В принципе считаю, что это идеальный вариант шаблонизатора и идеальный вариант его класса — обертки.

Имеем вот такой шаблон (main.php):

Вот так с ним можно работать:

А также другие классы

  • CMail — класс для работы с почтой
  • CXMLParser — класс XML парсера
  • CDate — библиотека для работы с датой/временем (поддержка временных зон)
  • CInput — класс-обертка входящих параметров
  • CFilter — класс с набором функций для фильтрации данных
  • CHttpRequest — класс для работы с HTTP запросами

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

Заключение.

На данный момент работы — не паханное поле. Надо начать разрабатывать само ядро и прорабатывать архитектуру. Никак не могу решиться начать =(

  1. LadraGor

    2% — на мой взгляд вы погорячились. Пара готовых классов врятли составит даже 1% от нормального фреймворка.

    А вообще ценю то что вы в качестве одной из причин указали желание научится «правильно проектировать WEB-приложения». Конечно врятли это прийдет с первого фреймворка, но это может дать, хороший, начальный опыт.

    Искренне желаю вам удачи!

    1. Дмитрий Амиров Автор

      Спасибо вам за напутствие =)

      Я не планирую выпустить фреймворк сразу с полным набором функций. На данный момент у меня в планах сделать более — менее целостную систему, которую можно было бы дополнять отдельными модулями. А два процента было выбранно чисто символически)

Добавить комментарий

Прочли запись? Понравилась? Не стесняйтесь, оставьте, пожалуйста, свой комментарий. Мне очень интересно, что вы думаете об этом. Кстати в комментарии вы можете задать мне любой вопрос. Я обязательно отвечу.

Вы можете оставить коментарий анонимно, для этого можно не указывать Имя и email. Все комментарии проходят модерацию, поэтому ваш комментарий появится не сразу.