Pull to refresh

Comments 20

UFO just landed and posted this here
Их можно отключить в Config.php.
Зато сразу понятно, что БЭМ
UFO just landed and posted this here
Изучение PHP — это отлично, вот только советую сразу почитать о менеджерах зависимостей, а именно — Composer, который уже успел стать мало не стандартом de facto для всех библиотек и фреймворков, созданных на PHP.
Да, спасибо, уже изучаю. В будущих релизах все поправлю.
Использовать БЭМ целесообразно тогда, когда набор используемых технологий так же реализует БЭМ. Вы пишете JS, описываете структуру, зависимости, накладываете шаблоны — все это в БЭМ терминах, это дает огромный профит. В вашей библиотеке происходит тупо билдинг верстки, куда на вход подается имя блока. Извините, но чтобы вывести html-тег с атрибутом class, библиотека не нужна, а если так уж хочется процедурно описывать верстку, есть стабильные html-билдеры.

Если вы хотели не просто обкатать PHP, а начать развивать БЭМ либу на PHP, советую поглубже изучить bem.info.
Согласен. Скажем так, это быстрый код, что бы проверить работоспособность идеи (ну и да обкатка PHP). Идея не так безнадежна, как кажется на первый взгляд. Смысл в том, что бы перевести верстку в ОО-плоскость. Сейчас делаю небольшой проект с использованием BemPHP, думаю, в этом процессе найду кучу идей для развития и рефакторинга. Так же где-то на подкорке крутиться мысль о совмещении BemPHP с другими технологиями, например с React.js. Возможно в этом что-то есть… а возможно это тупик, думаю сходить проверить.
Спасибо за библиотеку, надо будет посмотреть на неё получше на досуге) я давно думаю о том, чтобы найти какой-то удобный инструмент для интеллектуального построения конечного HTML. Мне очень понравился в этом плане подход разработчиков системы Magento, которые также разбивают всё на отдельные блоки, которые потом можно легко тасовать в шаблоне. Но выдрать оттуда этот функционал будет сложно, да и очень он тяжёлый.

А среди других решений я ничего особо не видел в мире пхп, хотя, может я плохо искал…
Спасибо. Если в ходе просмотра, что-нибудь обнаружите, дайте знать.
Скачиваем с GitHub’а папку

А где Composer?
Отличная идея — разнообразить БЭМ новыми языками. Но не совсем правильно утверждать, что для БЭМа все делается на JS для Node.js. Блок в библиотеке представляет собой набор файлов, реализующих разные «технологии»: файл block.deps.js для зависимостей, block.css — для нормальных стилей, block.ie.css — для костылей IE, block.browser.js — для браузерного кода, block.bh.js — шаблон для выполнения в BH и так далее. Блок, таким образом, является (почти) самодостаточным компонентом, содержащим код для всего стека разработки фронтенда. Как именно блоки со своими наборами технологий выводятся на страницу, во многом определяется данными в формате BEMJSON — то есть, фронтенд строится по data driven парадигме. Как именно все это собирается в страницы, можно изучить на примере.

Поэтому если идти до конца по этому пути, нужно реализовать свою технологию, которая будет использовать PHP как технологию блока. Кстати говоря, не так давно появилась подобная штука: порт на PHP шаблонизатора BH: github.com/bem/bh-php
О! Спасибо за ценную информацию. Поизучаю.
На XHP взгляните, чтобы взять готовую раму для велосипеда как минимум :)
Интересная штука. Как я понял (при беглом осмотре) основная задача XHP — это делать верстку в PHP более наглядной. Т.е. более похожей на html. Смысл же BemPHP в том, что бы уйти от html-верстки, и представить её в виде вложенных друг в друга объектов, каждый из которых есть независимый блок. Вроде как задачи противоположны. Но! В XHP судя по всему можно определять собсветнные элементы, а это дает возможность рисовать красивейшие бэм-деревья. Да и то что каждый XMP узел — это экземпляр обекта… в общем пища для размышлений. Спасибо большое!
Sign up to leave a comment.

Articles