Пишем свой велосипед: часть 0

Довольно часто приходится сталкиваться с велосипедостроительством в php. Язык к этому располагает, нет чёткого лидера среди фреймворков, да и те что есть довольно неудобные и громоздкие. И вот на просторы оупенсурса выливаются реки говнакода непонятно для чего написанные и куда должно оно течь.

Я поставил себе цель научить других, как планировать и выстраивать видение конечного продукта. Это поможет не только в велосипедостроении, но и в небольших проектах. Надеюсь, всё получится.Первый пункт начинается с убийцы ms project (Ялошенька, прости, но не могу не поделиться этой корпаротивной тайной с сообществом). Итак, находим лист, желательно чистой бумаги, салфетка или рулон туалетной бумаги тоже подойдёт. Теперь на нём нужно написать план действий и желательно подробнее, чем классическое «хочу чтобы картинка ожила».

Например, мы пишем убийцу Битрикса и Zend Frameworka в одном лице. Составим список хотелок:

  1. Шоб написано было на php
  2. Красивые урлы (ЧПУ)
  3. Обработчики где мало кода, один экшин — один метод.
  4. Удобная работа с базой данных, желательно ORM или его подобие
  5. Работа с формами, валидация, вильтрация, вывод, сохранение.
  6. Лёгкое построение списков и чтобы был пэйджинг
  7. MVC
  8. …… (можно придумать ещё много чего, но иногда нужно остановиться и вместо мечтаний заняться работой)

А теперь настраиваем виртуальные хосты Apache, заводим проект в системе контроля версий svn или mercurial, ставим тикет систему типа redmine, и начинаем кодить, рефакторить, кодить и так до бесконечности.

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

В ближайшее время выложу свои наработки, сделанные по данной схеме и продолжу уже рассказ с учётом кода.

Пишем свой велосипед: часть 0: 3 комментария

  1. AmdY Автор записи

    Появился laravel и composer, так что результат не нужен, уже всё есть. Сейчас время писать отдельные библиотеки, не не свои фреймворки.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *