Есть ли в PHP что-то вроде посредника в Ruby? - PullRequest
5 голосов
/ 20 января 2012

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

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

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

Ответы [ 3 ]

4 голосов
/ 18 февраля 2012

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

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

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

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

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

Скоро появится поддержка i18n. Большая часть этого уже в ММ и, надеюсь, поддержка Javascript реальный скоро в настоящее время.

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

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

2 голосов
/ 08 января 2013

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

В итоге я выбрал Middleman для связанного coffeescript, sass и т. Д., Но Piecrust отлично справился.

http://bolt80.com/piecrust/

0 голосов
/ 23 января 2012

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

Самый простой способ конвертировать страницу PHP в статическую страницу HTML

Создание статических страниц HTML из динамических страниц Php

PHP - Как программно испечь статический HTML-файл?

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

РЕДАКТИРОВАТЬ: Как упоминалось выше Хари К Т, http://www.phrozn.info/en/ делает именно это.

...