Comments 20
UFO just landed and posted this here
Использовать БЭМ целесообразно тогда, когда набор используемых технологий так же реализует БЭМ. Вы пишете JS, описываете структуру, зависимости, накладываете шаблоны — все это в БЭМ терминах, это дает огромный профит. В вашей библиотеке происходит тупо билдинг верстки, куда на вход подается имя блока. Извините, но чтобы вывести html-тег с атрибутом class, библиотека не нужна, а если так уж хочется процедурно описывать верстку, есть стабильные html-билдеры.
Если вы хотели не просто обкатать PHP, а начать развивать БЭМ либу на PHP, советую поглубже изучить bem.info.
Если вы хотели не просто обкатать PHP, а начать развивать БЭМ либу на PHP, советую поглубже изучить bem.info.
Согласен. Скажем так, это быстрый код, что бы проверить работоспособность идеи (ну и да обкатка PHP). Идея не так безнадежна, как кажется на первый взгляд. Смысл в том, что бы перевести верстку в ОО-плоскость. Сейчас делаю небольшой проект с использованием BemPHP, думаю, в этом процессе найду кучу идей для развития и рефакторинга. Так же где-то на подкорке крутиться мысль о совмещении BemPHP с другими технологиями, например с React.js. Возможно в этом что-то есть… а возможно это тупик, думаю сходить проверить.
Спасибо за библиотеку, надо будет посмотреть на неё получше на досуге) я давно думаю о том, чтобы найти какой-то удобный инструмент для интеллектуального построения конечного HTML. Мне очень понравился в этом плане подход разработчиков системы Magento, которые также разбивают всё на отдельные блоки, которые потом можно легко тасовать в шаблоне. Но выдрать оттуда этот функционал будет сложно, да и очень он тяжёлый.
А среди других решений я ничего особо не видел в мире пхп, хотя, может я плохо искал…
А среди других решений я ничего особо не видел в мире пхп, хотя, может я плохо искал…
Скачиваем с GitHub’а папку
А где Composer?
Будет в 1.2
На всякий случай спрошу. Вы в курсе: semver.org/?
Отличная идея — разнообразить БЭМ новыми языками. Но не совсем правильно утверждать, что для БЭМа все делается на JS для Node.js. Блок в библиотеке представляет собой набор файлов, реализующих разные «технологии»: файл костылей IE,
Поэтому если идти до конца по этому пути, нужно реализовать свою технологию, которая будет использовать PHP как технологию блока. Кстати говоря, не так давно появилась подобная штука: порт на PHP шаблонизатора BH: github.com/bem/bh-php
block.deps.js
для зависимостей, block.css
— для нормальных стилей, block.ie.css
— для block.browser.js
— для браузерного кода, block.bh.js
— шаблон для выполнения в BH и так далее. Блок, таким образом, является (почти) самодостаточным компонентом, содержащим код для всего стека разработки фронтенда. Как именно блоки со своими наборами технологий выводятся на страницу, во многом определяется данными в формате BEMJSON — то есть, фронтенд строится по data driven парадигме. Как именно все это собирается в страницы, можно изучить на примере.Поэтому если идти до конца по этому пути, нужно реализовать свою технологию, которая будет использовать PHP как технологию блока. Кстати говоря, не так давно появилась подобная штука: порт на PHP шаблонизатора BH: github.com/bem/bh-php
Интересная штука. Как я понял (при беглом осмотре) основная задача XHP — это делать верстку в PHP более наглядной. Т.е. более похожей на html. Смысл же BemPHP в том, что бы уйти от html-верстки, и представить её в виде вложенных друг в друга объектов, каждый из которых есть независимый блок. Вроде как задачи противоположны. Но! В XHP судя по всему можно определять собсветнные элементы, а это дает возможность рисовать красивейшие бэм-деревья. Да и то что каждый XMP узел — это экземпляр обекта… в общем пища для размышлений. Спасибо большое!
Sign up to leave a comment.
BemPHP: реализация методологии БЭМ средствами PHP