Rails ve Django Ruby üzerinde PHP'nin avantajları nelerdir?

16 Cevap php

PHP Ruby on kadar, Django, ve diğer dinamik programlama çerçeveler çıktı, kolay webapp gelişme tartışmasız kralı oldu. Ne, sizce, yeni gelenler karşı PHP'nin güçlü yönleri nelerdir?

16 Cevap

Öncelikle PHP bir çerçeve, onun bir dil değildir.

Ayrı dağıtım PHP çerçeveler (:) için güçlü noktası büyük ve olgun bir topluluktur IMHO. RoR ve Django sadık ancak sınırlı takipçileri ile harika araçlardır.

RoR büyük CakePHP Ruby geçmek için bir PHP geliştiricisi için herhangi bir ihtiyacı ortadan kaldırarak, hemen hemen aynı olmak, PHP dünyada taklit edilmiştir.

Django orada birkaç hazinelerinden biridir ama şahsen ben Zend Framework aşığım.

Orada önemli dillerinden herhangi biri için mükemmel araçlardır ve bir dil ile bir çerçeve karşılaştırmak olamaz gibi ilk dilinize karar yoksa bir çerçeve üzerinde karar veremez.

Ruby, Python, PHP ve (hatta) Perl güçlü bilgisayar becerileri olan bir kişi için aslında aynıdır, ve sonunda seçim bir "{[(ki daha personal style daha fazla bağlıdır ve programlama kökleri 1)]} "...

Her neyse, benim açımdan başka bir Java şeyi kaldırarak gayet mantıklı bir seçim olmasıdır. ;)

PHP birkaç avantajı vardır. Bir dağıtım kolaylığı, sizin senaryo yazmak ve yükleyin. Bitti.

Başka bir geliştirici hayatı kolaylaştırmak için SQL veritabanları, JSON, XML ayrıştırma, cURL, takvim hesaplamaları, tüm kütüphaneler desteği ile, büyük fonksiyon kütüphanesi.

PHP kendisi bir şablon sistemidir. Ben alternatif kolon sözdizimi ile, Smarty gibi şeyleri kullanmak gerektiğini anladılar asla yüzden.

<?php
$fruits = array('apple', 'orange', 'banana');
?>

<ul>
  <?php foreach($fruits as $fruit): ?>
    <li><?php echo $fruit; ?></li>
  <?php endforeach; ?>
</ul>

PHP de size bir tasarım deseni zorlamaz. Eğer MVC kullanmak istiyorsanız, bunun için gidin. Bunu sağlayacak bir kaç çerçeveler vardır. Eğer gerçekten gerekiyorsa Öte yandan, 10 dakika içinde bir tek dosya komut dosyası yazabilirsiniz. Bu esneklik ilgili.

Tüm bunların üstüne, kod değerinde yıllık durumu var, dersler, örnekler ve deneyimli insanlar yardım için gitmek için.

Easy to get started

HTML biliyorsanız, burada PHP kullanmaya başlamak için:

1) Change your filename to .php
2) Add an include statement to stop duplicating your menu code on every page

Web barındırma PHP destekleyen varsayarsak, işte bu - tek bir kod satırı sizin için güçlü bir şey yok.

Dağıtım büyük bir tanesidir. , Kod yazmak yüklemek ve çoğu her web sunucusu çalıştırmak gerekir.

PHP bir çerçeve olmadığı için de, başlamak için öğrenmek için çok az şey var.

(Birkaç yıl önce) birkaç yıl boyunca PHP ile çalışmış olması Ben PHP bu bir avantaj olduğunu çok az var olduğunu söylemek gerekir. Diğerleri dağıtımını işaret ... Ben bile orada diğer web platformları ile ilgili olduğunu söyleyebilirim. Diğerleri Ben öküz söylemek hangi dili kendisi, söz. PHP orada kötü biridir. Bu onunla iyi, yeniden kullanılabilir bileşenleri oluşturmak için PHP ile ayak vurmak çok kolay ve çok zor. PHP Hackerlar için büyük (yani original sense of the term: hobisi programcılar), ancak Yazılım Mühendisleri için saçmalık, yani kavrama, uyum, kalite ve yeniden kullanılabilirlik gibi şeyler hakkında isteyenlerdir.

Muhtemelen sadece gerçek avantajı IMO bu her yerde var olduğunu; Eğer uber-ucuz tüm bu günlerde web üzerinden sınırsız hemen hemen her şeyi ile bir LAMP (hp) yığını bulabilirsiniz. Onlarca ve seçilmek için konak düzinelerce vardır. Raylar hatta ASP.NET bilgisayarlar ile karşılaştırın - orada daha az barındıran ve genellikle daha pahalı.

Bu bir geliştirici yerini ve kod konumunu değiştirmek kolaydır. Python veya yakut geliştiricilerin çoğu 'script çocukları' (tabii bazıları, her yerde vardır) php programlama giriş seviyesi iken değil - Ancak, popülerlik dezavantajı topal olanlardan iyi çözümler / geliştiriciler filtre gerekir çok daha düşük ve programcılar ve kod parçacıkları ararken çok seçici olmalıdır.

Başka iyi tarafı onun kusurlarını pek docs ve forumlar yorumların dolu, iyi bilinen, ve hızlı tavsiye almak kolay olmasıdır.

(Ben yukarıda söylediğim gibi) çok öznel gücü onun 'popülerlik ...

Php birçok söz, olgun olmak, php kadar olgun ve tutarlı olmaktan neden olmaz kadar eski olan, 'olgun' neden ne olursa olsun her şeyden önce, ben alamadım, bu felsefe olgunluğa bir reddi var. Bunu kullanmak için nasıl biliyorsanız, hangi dil, daha fazla bir maddenin bir meselesi değil, olsa php olgun bir uygulama yapamazsınız anlamına gelmez. Eğer php güçlü ve olgun uygulamalar yazabilirsiniz - evet. Bir dil olarak php güçlü ve olgun - IMO yok.

Dağıtım kesinlikle PHP bir gücüdür.

Ancak, web uygulamaları yazmak için pillerin bir sürü de gemi. Piton ve yakut insanlar alay olduğunu sözdizimi ve ad kirlilik yeni geliştiriciler için basit bir deneyim için yapmak.

PHP için sadece çerçeveler orada değil çünkü bu yeni geliştiriciler TON alır, uygulamalar vardır. WordPress, Drupal, Joomla, tüm büyük ve bu buzdağının sadece ucu var. Bu sistemlerin her biri bir blog yazısından bazı kod kesme ve yapıştırma yoluyla başlar ve oradan öğrenmek "PHP Programcılar" büyük bir ekosistem var.

Bir HTML dosyası olarak dışarı başlar beri sames çizgisinde, bu sadece bazı dosyaları veya etajer inlude istediğim çok basit siteleri yapmak için harika bir ortam. Süper SGK olarak düşünün.

Tüm söyledi. Uygulamaları yerine web sitelerinin gerçek dürüst-tanrı uygulamaları yaparken, ben dağıtım ve pazar çekiş öte önemli avantajları vardır emin değilim.

Ubiquity: PHP'nin büyük avantajı ve en büyük dezavantajı bir ve aynıdır.

PHP Web üzerinde baskın dil olduğunu, bu yüzden onu destekleyen ve bunu bilen bir "geliştirici" bulmak için kolay bir host bulmak çok kolay.

Bu baskın dil bulunuyor ve böylece zayıf fikirli * ona doğru çekilmek olacaktır çünkü ne yazık ki, PHP geliştiriciler ve ana büyük çoğunluğu oldukça korkunç görünüyor.

Ayrıca, PHP (sadece kendisi tarafından) sadece bir dil olduğunu ve böylece daha fazla esneklik ama çerçeveler Rails veya Django, çok daha az destek sunar. Orada PHP çerçeveler tabii ki, hem de vardır, ancak herhangi bir çerçevedir Eğer PHP nispeten boş barut elde esnekliği azalacak.

* "zayıf fikirli" şey hakkında Not: Ben sadece daha az yetenekli ve / veya motive baskın platforma doğru çekilmek eğilimi anlamına - no matter which one it is - değil PHP kullanan herkes aptalca.

PHP bir çerçeve değildir. Eğer Rails ve Django Ruby on Zend Framework karşılaştırabilirsiniz.

Ruby veya Python ile deneyimi yok, ama ben şimdi bir yıl için PHP ve Zend Framework ile çalıştık. Kendisi, PHP korkunç bir dildir. Bu morphed ve değişti yıllar içinde, ama yine de eski işlevleri ve prosedürel stil en sahiptir. Bir PHP ile ilgili güzel bir şey çok operasyon kutusunun çok hızlı olduğunu, ancak çoğu çerçeveler neyse sizin için sağlayacaktır

Sadece gerçeği için (sen ;) daha iyi öğrenmek kadar) ki eğer Usul PHP sağ HTML içine gömmek, özellikle on Rails ile karşılaştırıldığında, öğrenmek için son derece kolaydır.

Vb MVC anlamak gerekir RoR ile çalışmak

The biggest PHP advantage is also one of it's biggest disadvantages. Low learning curve. Thanks to this you have plethora of people using PHP, and thousands of PHP applications. On the other hand, Sturgeon's Law clearly applies here “90% percent of everything is crap”. But still, remaining 10% is a lot. A lot more then there are RoR apps. Same applies to developers. There are millions of "PHP developers". Most of them really crappy. But it's the thing is, with so many, there are also o lot of good ones, even if they're less then 1%.

Ayrıca iki ucu keskin kılıç PHP, hakkında diğer iyi şey, geriye uyumluluk olması. Bu PHP5.2 ile PHP4 uygulamayı çalıştırabilirsiniz, harika. Sorun bu aşağı vb register_globals gibi, kötü uygulamaların kökünün kazınması yavaşlatır yani,

PHP ile bir başka sorun nesne yetenekli olduğunu, ancak nesne yönelimli değil. Örneğin, bir dizi bir dil oluşumudur ve tüm dizi işleme fonksiyonları yerine Array sınıfı yöntemleri olma küresel isim işlevleri vardır. Bu DiziNesnesi olacak 5.3 ve 6 ile biraz daha iyi olur. Ama sonra tekrar, tekrar önceki noktaya - geriye uyumluluk. PPL gelişmiş özellikleri kullanmaya başlamadan önce, yaşları olacak. En ppl şimdi bile SPL kullanmayın.

Ölçeklenebilirlik her zaman zor bir konudur, ama ben onun eşdeğer Rails veya Django applicaton daha bir PHP web uygulaması ölçek daha kolay olduğunu sanıyorum.

Bu PHP bir avantaja sahip olmadığı gibi yapmak için çalışıyoruz ne bağlıdır.

Örneğin RoR genellikle UI ve arka uç hem PHP sadece bir arka uç olarak çok iyi hizmet edebilir.

Yani, bir istemci WinForms varsa o php komut ile bir veritabanı ile etkileşim, bu yüzden benim veritabanına kimlerin alabileceğini sınırlamak. Yani php istemci herhangi bir dilde yazılmış olabilir.

RoR (Ruby) ve Django (Python) ilk iki web uygulama geliştirme kolaylaştırmak çerçeveleri olarak PHP ile karşılaştırmak zordur.

Örneğin ASP.NET ve PHP karşılaştırabilirsiniz, ancak ASP MVC ve PHP de karşılaştırmak zor olacaktır.

Ben Ruby on Rails ve Django ile karşılaştırıldığında PHP'nin Web Altyapıları doğru karşılaştırma olacağını düşünüyorum. Sadece gerçek fark, bu web çerçeveler kullanılan programlama dilleri edilir. PHP sonra Ruby veya Python, öğrenmek ve bu ikisinin üzerinde PHP vericidir ana avantajı dağıtmak çok daha kolay, arkasında büyük bir topluluk olarak daha iyi kütüphaneleri var ve kolayca birden fazla öğrenme kaynakları bulabilirsiniz (bugün) daha popüler. Öte yandan Ruby ve Python programlama dilleri daha iyi gibi, kendi web çerçevesinde bu dilleri kullanarak olacaktır olarak kabul edilir. Raylar ve django yakut karmaşık projeler için daha iyi ise PHP ve web çerçeve, belirli projeler için iyi ama bazı ciddi tasarım hataları var. Raylar ve Django geliştiricilerin çoğu açıklayabilir php prgrammers idi. PHP basit işler için basit, Raylar / Django zor işler için basittir.

php ile kendi çerçevesi atarsanız daha az yük var!

Orada raylar ile çerçevenin sınırlama soru aynı zamanda ve aynı dağıtım geldiğinde django. PHP bu esneklik sunar