2012-01-19 14 views
5

He estado en un proyecto con un amigo que nos está guiando con Middleman. Estamos codificando en HAML y SASS y obviamente es un Ruby Dev. Me gustaría saber si hay CUALQUIER tipo de equivalente para PHP? Eventualmente dirigiré un equipo y estoy mucho más cómodo con PHP que con Ruby.¿Hay algo en PHP como intermediario en Ruby?

Me gustaría tener un archivo de diseño (como el archivo de diseño de Zend) Me gustaría ... en un comando, convertir todos los archivos fuente de PHP a HTML estático y colocar esos archivos estáticos en un carpeta 'compilar' para que podamos entregárselo al cliente.

¿Alguien sabe de algunas cosas interesantes para que esto suceda? ¡Gracias un montón!

+0

Intenta saltar fuera de su zona de confort de vez en cuando ... te alegrarás de haberlo hecho! –

+1

Nunca utilicé Ruby, pero ¿está buscando un generador de sitios estáticos como http://www.phrozn.info/en/, si estoy en lo cierto lo haré como respuesta :) –

Respuesta

4

Un proyecto en el que trabajo, www.findbigmail.com, fue escrito completamente en PHP para empezar y luego trabajé en Ruby/Rails para un proyecto diferente, y volver a PHP fue duro. Después de usar HAML, SCSS y otras cosas maravillosas como CSS y JS Minify, ah y compás para construir sprites, fue doloroso volver a PHP y trabajar de nuevo en los archivos PHP con HTML incrustado etc.

Así, impulsado por pura pereza, miré a mi alrededor y encontré MiddleManApp (MM) - después de un par de viajes secundarios en el camino.

Ahora tenemos una separación muy fuerte entre lo que ahora es un sitio html en su mayoría estático construido por MM, con algunos archivos PHP que se envían a POST y redireccionan a páginas html. Donde necesitamos un comportamiento más dinámico, hemos agregado javascript a las páginas y les pedimos que envíen envoltorios API PHP alrededor de nuestro código preexistente.

Nuestro rendimiento del sitio ha aumentado enormemente (DOH, ahora es html toda estática), y su a punto de dar otro salto cuando la próxima versión intermediario sale con sus capacidades mejoradas almacenamiento en memoria caché heredados de los rieles de tuberías 3.1 activo . P.ej. podremos hacer referencia a main.css en nuestras secuencias de comandos fuente (que a su vez está compuesta por archivos sub-scss como _index.scss, _pricing.scss) y se compilarán con referencias a main-2348jlk23489kdj.css, lo que nos permitirá configurar el servidor en la memoria caché durante un año y/o implementar muchos más archivos en CDN.

Nuestro rendimiento de ingeniería también está muy alto. Ya no somos reacios a tocar el código de UI por temor a introducir un error de sintaxis en el código PHP. Y no más etiquetas HTML no coincidentes para causar dolor. El otro desarrollador de PHP no estaba familiarizado con el rubí/rieles cadena de herramientas derivadas, pero rápidamente se ha convertido competentes (pesar de que es un desarrollador de Rockstar, así que no es demasiado sorprendente!)

Próximamente es el soporte de i18n. La mayoría de eso ya está en MM y espero que soporte de Javascript real-soon-now.

También exploramos la generación de páginas desde HAML con PHP añadido a ellas. Decidimos que probablemente era bastante simple, por ejemplo, agregue una etiqueta ": php" a la canalización HAML y luego use parciales .php según sea necesario. Pero, encontramos que entre Javascript y envolviendo el código PHP existente como una "API de motor", pudimos mantener las bases de código prolijamente separadas, lo cual encontramos que preferimos en general.

Espero que esto ayude! Feliz de explicar más.

+0

¿Puede explicar un poco sobre cómo " POST para y luego redirigir a páginas html "? –

+0

Claro. En el html estático tenemos un

, digamos, y tiene un POST que va a una url que es PHP. Luego, en el código PHP, hacemos el procesamiento que sea necesario, y luego en PHP llamamos header ('Location:'. $ UrlTo); donde $ urlTo se establece en una de las páginas HTML estáticas. – mm2001

0

PHP puede representar HTML estático de código PHP con bastante facilidad:

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?

Usted puede cablear algo con sistemas de plantilla existentes como Twig o utilizar PHP Markdown a más o imita menos lo que Middleman está haciendo y crea páginas HTML estáticas a partir de tus archivos fuente.

EDITAR: como Hari K T mencionado anteriormente, http://www.phrozn.info/en/ hace exactamente esto.

2

Hay uno para PHP llamado Piecrust.

Terminé eligiendo a Middleman para el coffeescript, sass, etc., pero Piecrust está bien hecho.

http://bolt80.com/piecrust/

Cuestiones relacionadas