Ша - шаблон проектирования

Mar 9, 02:02 am Категория:   Комментарии

Две вещи я не понимаю в этом мире: как можно делать бестолковые тестовые задания и как можно не понимать, что нельзя давать делать бестолковые тестовые задания. Учить новый язык или новый фреймворк можно по-разному, но для получения какого-либо вменяемого результата следует делать не “надувной” проект из учебника, а нормальный боевой сайт. В случае с Laravel можно переводить сайты с TxP на новую платформу. При этом, разумеется, новые сайты могут иметь старый внешний вид, структуру и что-нибудь ещё, но спроектированы и реализованы в соответствии с новой парадигмой.

Шаблон проектирования (design pattern) – всего-лишь два слова в заголовке поста, но гигантский шаг в истории PHP. До 5-й версии, точнее до 5.3, ООП в PHP являлось пятой ногой, рыбьим зонтиком и мёртвому припаркой. Служило это объектное ориентирование чаще поводом для насмешек особенно ярых апологетов Java и Ц-потомков (C++, C# и т.п.). Но языки программирования, как коммерческий автотранспорт, выбираются не водителями, а профессионалы должны водить то, что есть. И кодить на чём придётся. Ввиду популярности PHP, в разработку на нём стали попадать профессионалы. Они и привнесли в пых-культуру элементы грамотного программирования. Если переводить сайтостроение с CMS на более другие рельсы, то лучше начать с освоения best practice.

Считается, что начинать знакомство с объектноориентированным программированием нужно с чтения соответствующей литературы. Например, с GoF, классического труда по ООП, который каждый разработчик должен прочесть для того, чтобы понять, что он ничего не понимает в программировании. Особенно, если поле битвы – веб. Хардкорные программисты вообще не считают сайты чем-либо заслуживающим внимания. Если только почитать про нормальное программирование и порнуху посмотреть. Не буду ввязываться в заведомо нескончаемый спор и прекращу его с помощью 3-х букв. И буквы эти, MVC – Model-View-Controller. Каркас или даже парадигма проектирования, включающая сразу несколько шаблонов и ускорение в нужном направлении. Перспективу, так сказать.

Если лень читать про эти самые Model, View и Controller, то коротенько:

  • Model – модель, это данные и бизнес-логика;
  • View – представление, это отображение пользователю того, чего он достоин;
  • Controller – контроллер, это диспетчер, который и решает, чего пользователь достоин.

Всё понятно? Ну и хорошо. Теперь, на основе данного нам в ощущение Текстпаттерна, можно наметить план:

  1. спроектировать новую базу данных;
  2. создать модели для обслуживания базы;
  3. заполнить роутер соответствующими маршрутами;
  4. создать контроллеры;
  5. сдеать blade представления.

После этого пишется конвертер, переносящий данные из оригинальной базы в новую и мы получаем новый сайт. В чём выигрыш? Да хотя бы в том, что при желанни сайт впоследствии переносится на “рельсы” или любую другую платформу и язык малой кровью.

Lumen, что ж ты маленький такой

Feb 20, 11:19 pm Категория:   Комментарии

Не буду тянуть кота за хвост и сразу признаюсь, что Lumen – это микрофреймворк на PHP, являющийся близким родственником Laravel. Настолько близким, что “из коробки” используется ряд одинаковых пакетов и можно расширять с помощью опять же одних и тех же пакетов. Смысл Lumen не в том, что он маленький, как следует из названия, а в том, что он очень быстрый.

Весь текст статьи

Вот ты и попался, сайт на Laravel

Feb 18, 10:25 am Категория:   Комментарии

Можно долго рассуждать о путях развития человечества. Находить всякие уровни продвинутости, стадии осовременивания и прочую удалённость от предков, религий и предрассудков. Но лучше не тратить время. Во что бы ты не верил, дорогой username, ты остаёшься всё тем же первобытным и суеверным существом. И не важно, веришь в лешего или в существование гравитационных волн. Может это и не так плохо, как кажется на первый взгляд. Поэтому, поговорим о приметах.

Весь текст статьи

Объекты, паттерны и прочий полиморфизм

Feb 17, 10:56 am Категория:   Комментарии

Существуют различные подходы к сравнению языков программирования. Но PHP имеет славу однозначного отстоя. “Рождён чтобы умирать” – это сказано именно про него. Созданный для наколенной вёрстки домашних страничек он жил, старел и набирал армию разработчиков этих самых примитивных страничек. Понятно, что придумать выбор хуже PHP практически невозможно. На этом с PHP можно было бы попрощаться, если бы не пара нюансов: на PHP базируется один из самых популярных вебфреймворков Laravel и это 4-й по популярности язык программирования. В мире.

Весь текст статьи

И что мы теперь будем делать с Ларавелем?

Feb 12, 07:57 pm Категория:   Комментарии

На заре половой жизни мне в руки попался какой-то текст с заголовком типа “Вот ты заполучил меня и что мы теперь будем делать?” За точность не ручаюсь, т.к. не помню ни автора, ни о чём был опус. Но уж если книга ходила в виде текстов, то она прошла отбор привередливых читателей и содержала в себе какую-то умную мысль, а то и две. Хотя речь не о книге, а о вынесенном в заголовок вопросе. Почему я вспомнил о книге? А потому, что вопрос “что делать” должен предшествовать всякой разумной инициативе, а встреча с Laravel обещает массу секса. Особенно разработчикам, ранее имевшим дело только с CMS.

Весь текст статьи

Если использовать фреймворк, то какой Laravel выбрать

Feb 9, 11:04 pm Категория:   Комментарии

Не, ну кроме шуток, выбор из одного варианта иногда бывает сложнее, чем можно себе представить. Особенно если речь идёт о Laravel. Ветераны помнят, что переход от 3-й версии фреймворка к 4-й был сродни революции. Почти такая же встряска ждала веб-ремесленников когда вместо версии 4.3 появилась 5.0. Потом ещё один шаг к 5.1 и объявление этой версии LTS (long term support) – 3 года поддержки. А затем, почти без остановки – 5.2. И каждый раз появляются новые возможности, пропадают старые наработки и сайты размером со средний портал превращаются в одну большую ошибку. Так какую версию фреймворка использовать, чтобы сократить потери нервных клеток до минимума?

Весь текст статьи

Textpattern, пока

Feb 3, 12:47 am Категория:   Комментарии

Уже 2016-й год, а Textpattern всё ещё пребывает в состоянии 4.5.X. Разработчики давно обещают версию 4.6, но код и ныне там. Наверное проблема проекта в том, что было сделано нечто, удовлетворяющее потребности узкой группы пользователей. Передовое. Прорывное, можно сказать. В некоторых аспектах разработка таковой и остаётся. Реализовывать старые фичи авторам неинтересно, копировать конкурентов недостойно, а придумывать что-то новое трудно. Проект стоит, проедая результаты прошлых побед. Но время идёт и пора двигаться дальше. А раз этого не делает проект, то двигаются пользователи.

Весь текст статьи

Настройка Laravel/Homestead

Feb 2, 11:27 am Категория:   Комментарии

Действо “пробую Homestead” разделено на несколько частей потому, что с первого раза у меня не получилось подружиться с этой виртуальной шайтан-машиной. В первой части марлезонского балета описана пройденная часть пути с указанием оптимальной траектории. Теперь я попробую установленное софтовое богатство заставить работать. Замечу, что первая часть писалась (и относилась) к актуальной на тот момент Laravel 5.1, т.к. это LTS версия и есть шанс, что написанное будет актуально года 3. Всё нижеописанное уже проверялось на Laravel 5.2 ибо время идёт, в новой сборке Homestead используется PHP 7.0 и вообще нефиг нафиг. Поехали.

Весь текст статьи

Laravel/Homestead в качестве убийцы Denwer

Dec 6, 12:19 pm Категория:   Комментарии

Создание сайтов под Windows в РуНете раньше обычно происходило с использованием Денвера – джентльменского набора вебразработчика. Однако тенденция вымирания рыцарей, принцев и прочих прекрасных мужчин в полной мере распространилась и на джентльменов. Они практически исчезли и Денвер перестал развиваться: на сайте предлагается 3-я версия с древним софтом. Выбранный мной Larave требует PHP старше 5.5.9, а мне предлагают 5.3.13. Правда сам Laravel предлагает нечто по имени Homestead, которое должно решить все проблемы. Попробую разобраться.

Весь текст статьи

Если по-взрослому

Nov 1, 02:24 am Категория:   Комментарии

Провёл я аудитоподобные действия с CMS и решил, что оно мне не надо. Ну вот совсем. Заказные разработки стандартных сайтов уже начали преподавать в ПТУ и давно созданы станки с ЧПУ и 3Д принтеры для их массового тиражирования. А так же бройлерные сайто-фабрики и фермы. Да что код, статьи автоматом делаются. Боты для ботов. Зачем им мешать? Поэтому наш путь – фреймворки.

Весь текст статьи

« Раньше
Позднее »