2012-01-19 14 views
5

Middleman ile bizi yönlendiren bir arkadaşımla bir projedeyim. HAML ve SASS’da kodlanıyoruz ve o kesinlikle bir Ruby Dev’dir. PHP için HERHANGİ bir tür eşdeğer var mı bilmek isterim? Sonunda bir takıma öncülük edeceğim ve PHP'den Ruby'den çok daha rahatım.Ruby'de aracı olarak PHP'de bir şey var mı?

Bir düzenleme dosyasına (Zend'in düzen dosyası gibi) sahip olmak istiyorum Tek bir komutta, PHP'deki tüm kaynak dosyaları statik HTML'ye dönüştürmek ve bu statik dosyaları 'build' klasörü böylece müşteriye teslim edebiliriz.

Bunun gerçekleşmesi için, havalı şeyler bilen var mı? Çok teşekkürler!

+0

bir arada bir konfor bölgesi atlayarak deneyin ... sen yaptın memnuniyet duyarız! –

+1

Hiç Ruby kullanmamıştım, ama http://www.phrozn.info/en/ gibi statik bir site üreticisi arıyorsun, eğer haklıysam bunu cevap olarak yapacağım :) –

cevap

4

Çalıştığım bir proje, www.findbigmail.com, PHP ile baştan başlamak üzere yazılmıştı ve daha sonra bir Ruby/Rails'in farklı bir proje için çalışmasını sağladı ve PHP'ye geri dönüş bir eziyet oldu. sprite inşa etmek HAML, SCSS ve CSS ve JS küçültmek gibi diğer harika şeyler, ah ve Pusula kullandıktan sonra, o PHP geri dönüp

Yani, saf tarafından tahrik vb gömülü HTML ile PHP dosyalarına yeniden çalışmaya acı oldu slothfulness, ben etrafa baktı ve yol boyunca bir çift yan geziler sonra MiddleManApp (MM) bulundu.

Şimdi, MM tarafından oluşturulmuş, çoğunlukla statik bir html sitesi olan ve POST olan bazı PHP dosyaları ile html sayfalarına yeniden yönlendirme arasında çok güçlü bir ayrımımız var. Daha fazla dinamik davranışa ihtiyacımız olduğu yerde, sayfalara javascript ekledik ve önceden var olan kodumuzun etrafındaki PHP API sarmalayıcılarını çağırdık.

Sitemiz performansı büyük ölçüde atlamış (doh, şimdi tüm statik html) ve onun bir sonraki aracı versiyonu Raylar 3.1 varlık boru hattı miras onun geliştirilmiş önbellek bozma yetenekleri ile çıktığında başka atlama atmaya hazır . Örneğin. Kaynak komut dosyalarımızda (, _pricing.scss gibi alt scss dosyalarından oluşan) main.css referansını kullanabileceğiz ve main-2348jlk23489kdj.css referansları ile oluşturulacak ve sunucuyu bir yıllığına önbelleğe almamıza izin verecek ve/veya daha fazla dosyayı CDN'ye dağıtın.

Mühendislik performansımız da yol göstericidir. PHP koduna bir sözdizimi hatası vermekten korkmak için UI koduna dokunmaya artık isteksiziz. Ve üzüntüye neden olacak daha fazla uyumsuz HTML etiketi yok. (Çok şaşırtıcı değil bu yüzden, bir rock yıldızı geliştirici olsa !) Diğer PHP geliştiricisi toolchain türetilmiş Ruby/Rails aşina değildi, ama hızla yetkin hale gelmiştir

Yakında i18n desteğidir. Bunun birçoğu zaten MM’de ve umuyoruz ki şimdi Javascript desteği şimdi ’u destekliyor.

Ayrıca, HAML'ın kendilerine PHP eklenmiş sayfalarını da araştırdık. Muhtemelen oldukça basit olduğuna karar verdik - ör. HAML boru hattına bir ": php" etiketi ekleyin ve daha sonra .php kısmi kullanın. Ancak, Javascript ile mevcut PHP kodunu bir "motor API'sı" olarak sarmaladıkça, kodların düzgün bir şekilde ayrılmasını sağladık - genel olarak tercih ettiğimizi gördük.

Umarım bu yardımcı olur! Daha fazlasını açıklamaktan mutluluk duyarım.

+0

Nasıl yapılacağını biraz detaylandırır mısın? POST ve sonra html sayfalarına geri yönlendirin "? –

+0

Elbette. Statik html'de, bir

var, ve PHP olan bir url'e giden bir POST var. Daha sonra PHP kodunda, hangi işlemin gerekli olduğunu yaparız ve sonra PHP'de header ('Location:'. $ UrlTo); $ urlTo, statik HTML sayfalarından birine ayarlanır. – mm2001

0

PHP oldukça kolay PHP kodundan statik HTML görüntüleyebilir:

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?

Sen Twig gibi mevcut şablon sistemleriyle şey kadar Tel veya daha fazla PHP Markdown kullanabilirsiniz veya Middleman'ın ne yaptığını daha az taklit edin ve kaynak dosyalarınızdan statik HTML sayfaları oluşturun.

DÜZENLEME: Hari K T yukarıda belirtildiği gibi, http://www.phrozn.info/en/ tam olarak bunu yapar.

2

Piecrust adlı PHP için bir tane var.

Paketlenmiş coffeescript, sass vb. Için Middleman'ı seçmeyi bitirdim, ama Piecrust iyi bitti.

http://bolt80.com/piecrust/

İlgili konular