2012-01-19 7 views
5

Я был в проекте с приятелем, который ведет нас с Миддлманом. Мы кодируем в HAML и SASS, и он, очевидно, Ruby Dev. Я хотел бы знать, есть ли какой-либо эквивалент для PHP? Я собираюсь в конечном итоге возглавить команду, и мне гораздо удобнее PHP, чем Ruby.Есть ли что-нибудь в PHP, как посредник в Ruby?

Я хотел бы иметь файл макета (например, файл макета Zend) Я бы хотел ... в одной команде преобразовать все исходные файлы из PHP в статический HTML и поместить эти статические файлы в 'build', чтобы мы могли передать его клиенту.

Кто-нибудь знает какие-нибудь интересные вещи, чтобы это произошло? Огромное спасибо!

+0

Попробуйте выпрыгивает из своей зоны комфорта каждый раз в то время ... Вы будете рады, что вы сделали! –

+1

Я никогда не использовал Ruby, но вы ищете статического генератора сайта, как http://www.phrozn.info/en/, если я прав, я сделаю это как ответ :) –

ответ

4

Проект, над которым я работаю, www.findbigmail.com, был написан полностью на PHP, чтобы начать, а затем я сделал некоторые работы Ruby/Rails для другого проекта, и возвращение к PHP было измельчением. После использования HAML, SCSS и другие замечательные вещи, как CSS и JS Minify, ой и компас, чтобы построить спрайтов, это было больно, чтобы вернуться к PHP и снова работать в PHP файлов с вложенным HTML и т.д.

Так, движимый чистый небрежность, я огляделся и нашел MiddleManApp (MM) - после нескольких боковых поездок по пути.

Теперь у нас очень сильное разделение между тем, что теперь является главным образом статическим html-сайтом, созданным MM, с некоторыми файлами PHP, которые отправляются, а затем перенаправляются обратно на html-страницы. Там, где нам нужно более динамичное поведение, мы добавили javascript на страницы и попросили их обернуть API-интерфейсы PHP вокруг нашего ранее существующего кода.

Наша производительность сайта подскочило очень (DOH, теперь его все статические HTML), и его готовы взять еще один прыжок, когда следующая версия Middleman выходит с его улучшенными возможностями очистки кэша, унаследованных от Rails трубопровода 3,1 активов , Например. мы сможем ссылаться на main.css в наших исходных сценариях (который сам состоит из файлов sub-scss, таких как _index.scss, _pricing.scss), и он будет построен со ссылками на main-2348jlk23489kdj.css, что позволит нам установить кеш-сервер на год и/или развертывать в CDN еще много файлов.

Наши инженерные показатели тоже вверх. Мы больше не хотим касаться кода пользовательского интерфейса, опасаясь ввести синтаксическую ошибку в код PHP. И больше несовместимые теги HTML, чтобы вызвать горе. Другой разработчик PHP не был знаком с Ruby/Rails производных набора инструментов, но быстро стать опытным (хотя он является разработчиком Rockstar, так что это не слишком удивительно!)

Скоро это i18n поддержка. Большинство из них уже есть в MM и, надеюсь, поддержка Javascript real-soon-now.

Мы также изучили генераторные страницы из HAML с добавленным PHP. Мы решили, что это, вероятно, довольно просто - например. добавьте тег «: php» в конвейер HAML, а затем при необходимости используйте частичные части .php. Но мы обнаружили, что между Javascript и обертыванием существующего PHP-кода в качестве «API-интерфейса двигателя» мы смогли аккуратно разделить кодовые базы, что, по нашему мнению, мы предпочитаем в целом.

Надеюсь, это поможет! Рад объяснить больше.

+0

Можете ли вы немного рассказать о том, как " POST, а затем перенаправить обратно на html-страницы "? –

+0

Конечно. В статическом html мы имеем

, скажем, и у него есть POST, который отправляется на URL-адрес, который является PHP. Затем в PHP-коде мы делаем любую обработку, а затем в PHP мы называем header ('Location:'. $ UrlTo); где $ urlTo устанавливается на одну из статических HTML-страниц. – mm2001

0

PHP может сделать статический HTML из PHP кода довольно легко:

Easiest way to convert a PHP page to static HTML page

Generate HTML Static Pages from Dynamic Php Pages

PHP - How to programmatically bake out static HTML file?

Вы можете подключить что-то с существующими системами шаблонов, как Twig или использовать PHP Markdown более или менее имитировать то, что делает Middleman, и создавать статические HTML-страницы из ваших исходных файлов.

EDIT: Как указано выше, Hari K T, http://www.phrozn.info/en/ делает именно это.

2

Существует один для PHP под названием Piecrust.

Я закончил тем, что выбрал Мидмэмана для упакованного кофейника, сасса и т. Д., Но Piecrust хорошо сделан.

http://bolt80.com/piecrust/