PHP: Ne 2004 yılından beri değişti?

2 Cevap php

Ben 1998 yılında çevrimiçi veritabanı odaklı uygulamaları oluşturmak için PHP kullanarak başladı. O, PHP 3 web geliştirme için sanat devlet oldu. İlerleyen yıllarda ben uygulamaları bir sürü ve içerik yönetimi ve doküman arşivleme için bir öz-özel çerçeve yazdım (ben onlardan beri piyasaya çıktı çözümlere kıyasla çok saçma eminim.)

Ben farklı bir profesyonel odaklı için amaçlanmıştır çünkü Ancak, 2004 yılında, çoğunlukla PHP geliştirme ile durduruldu. PHP 5 ile OO programlama tekniklerini kullanarak başladı Sadece zaman oldu. Itiraf etmeliyim, ben hala nostaljik çok verimli web geliştirme zamanında geri düşünüyorum.

O zamandan beri PHP ve ilgili teknolojiler güncel gelişmelere izini kaybettim, belki bazı adamlar bana söyleyebilir:

  1. Ne ölçüde dil, sözdizimi, teknoloji, güvenlik yönleriyle ilgili değişti
  2. O zamandan beri kurulmuş herhangi bir iyi uygulamaları isim mi?
  3. Ne CMS ve uygulama çerçeveleri web yayıncılığı amaçlı geniş kabul başardık? (CMS endişelendiren, sonra tekrar dik bir öğrenme eğrisi vardı ama çok destek kazanmak gibi görünüyor Mambo ve Typo 3, unutmayın)

And, probably the most interesting question: Would you still choose PHP for web development over Ruby on Rails (which I've never used), J2EE (which I've used intensely) and alike technologies? Please don't start a flame war here, I'd be glad to see objective arguments.

Ben senin görüşler okumak için merak ediyorum.

2 Cevap

Dil bilge, PHP büyük bir değişiklik ile 2004 yılından beri çoğunlukla bir evrimsel iz izledi. Orada sonraki sürümlerinde bazı optimizasyonlar ve hata düzeltmeleri vardı ve ad 5.3 geliyor ama ciddi bir şey değil.

Bence en büyük değişiklik gibi çeşitli yüksek kaliteli çerçeveler (ortaya çıkması oldu Zend's, CakePHP, SolarPHP, Symfony ve önce PHP ana değildi iyi uygulamaları ve tasarım desenleri artan bir farkındalık yol açtı diğerleri).

Bu tür uygulamalar (bir ön denetleyicisi ile) MVC deseni kullanarak, veritabanı soyutlama bileşenleri, enternasyonalizm ve yerelleştirme ve daha iyi destek içerir. (PHP 5, gpc_magic_quotes () gibi bazı işlevler küçümseyen güvenliği ile ilgili bazı kötü kavramları değişmiş gibi) güvenlik uygulamaları da yüksek standartlarını karşılamak için gelişmiştir.

Ne yazık ki, (örneğin e-ticaret ve forumlar gibi) önemli CMS ve açık kaynak uygulama paketleri doğada büyük ölçüde usul kalmıştır ve o zamandan beri karmaşıklığı artmıştır. Bazıları (örneğin {[) (0]} gibi) OO tasarım göç etmeye çalıştı ama sonuç az söylemek karıştırılır.

Şahsen ben PHP mevcut durumu çok memnunum. Kullandığım çerçevesi (ZF) alanı sorunları üzerinde yoğunlaşmak bana daha uzun süre bırakarak uygulama binanın sıkıcı ayrıntıları çoğu soyutlar. APC ve xdebug Ben uygulamalarını optimize etmek ve profil için düzenli kullandığınız pek çok olgun PECL uzantıları bazılarıdır.

Bu şekilde Raylar ve sadece bir iyi seçenek vardır genellikle başkaları ile Django, Ruby, Python ile karşıt olarak PHP her zaman daha fazla çeşitlilik vardır gibi geliyor bana.

Sonunda ben backend dil kadar fark olmadığını düşünüyorum olsa - Eğer ne yaptığınızı biliyorsanız eğer ikisinden biri ile şaşırtıcı sonuçlar elde edebilirsiniz. (Ben çünkü benim C arka PHP sevdim) ile rahat birini seçmek, bu iş için gerekli araçları vardır ve sadece para cezası olacak.

PHP 5.0 (Windows, Linux, UNIX, Mac) ve hangi herhangi yoktu ben nesne tabanlı temel özellikleri vardı şey arıyordu ama beri her yerde çalıştırabilir hangi çıktığında ben PHP, ASP.NET / C # açık kendi Çerçeve bagaj (Webforms). Ben onun scrapiness ve genel istikrar için yıllardır PHP ile çok etkilendim oldum.

5.0 ile 5.2 gibi ilave incelikler biraz olmuştur

  • filter_input (kullanıcı girişi santitize kolay yolu)
  • json_encode / json_decode
  • ZipArchive (oluşturmak ve zip dosyaları açmak)
  • PDO (bana SQLite veritabanlarına erişim sağlayan ve hizmet veren diğer veritabanları için bir soyutlama vardır)

PHP 5.3 alfa / beta çıktığı zaman ben muhtemelen ad kullanmak gerekir.

2004 yılından bu yana değişti başka bir şey ücretsiz geliştirici araçları en iyi iki tanesi, şimdi oldukça harika olmasıdır:

Şu anda geri ASP.NET içine alıyorum oldu ASP.NET Webforms olarak "VB6 geliştiriciler için web geliştirme" değil ama bu sefer ASP.NET MVC ayrıca izin veren bir yaklaşımla, Ruby-on-Raylar-gibi daha Eğer daha kolay test odaklı uygulamaları yazmak için.

Şimdi C # PHP hareketli oldukça keyifli olduğunu söylemek zorundayım, ben şu seviyorum:

  • LINQ: diziler, XML dosyaları ve SQL veritabanları dahil olmak üzere neredeyse her şeyi sorgulamak için eşsiz bir yoldur, parlak
  • her tip-güvenli, çok güzel, ve derleme zamanında yakalanmış olduğunu, sadece bu gerçeği
  • Visual Studio intellisense (hatta ücretsiz Visual Web Developer Express) Eclipse / PHP daha iyidir
  • Bu tür C # özellikleri gibi yöntemler ve kurucular ve diğer incelikler aşırı yeteneği
  • ve son birkaç yıl içinde yenilik Microsoft'un hız heyecan verici: ASP.NET MVC, Silverlight, WPF, WCF, LINQ, Azure, Oslo ...

Ne yazık ki, her iki dünyanın en iyi nerede onun yer almaktadır.