Проект, над которым я работаю, 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» мы смогли аккуратно разделить кодовые базы - что, по нашему мнению, мы предпочитаем в целом.
Надеюсь, это поможет! Рад объяснить больше.