ASP.NET geçmişinden gelen PHP'yi tanımanın iyi bir yolu nedir? [kapalı]


10

Şu anda, ASP.NET ortamında araçlar / web uygulamaları oluşturma konusunda çok rahatım. Gerçekten C #, ASP.NET, MVC 3, Visual Studio vb.Gibi tbh bırakmak istemiyorum.

Ancak, şu anda PHP hakkında neredeyse hiçbir şey bilmiyorum ve bu düzeltmek istediğim bir eksiklik gibi görünüyor.

PHP öğrenmek için iyi bir kaynak olabilecek herhangi bir kitap (veya başka öğrenme yöntemleri) var mı? Açıkçası bol miktarda PHP kitabı var, ama zaten bir web sayfası oluşturmakla ilgili olanların çoğunda rahatım ve bazı başlangıç ​​PHP kitaplarının kapsamı ile uyumlu olmayan PHP'nin kendisine odaklanmakla ilgileniyorum.

Ben PHP Kılavuzu biraz geçti ve ideal olabildiğince sorunsuz akış gibi görünmüyor. Uygun bir başlangıç ​​PHP kitabı var mı? Bu örneklere bakarken çoğu kitabın içerdiği uyumu özlüyorum. Daha fazla bilgi var, ancak kodlama sırasında birincil öğrenme aracından daha çok bir referans gibi geliyor.


5
Neden PHP bilmemenizin düzeltmeniz gereken bir eksiklik olduğunu düşünüyorsunuz? Rails, Django, J2EE, node.js, vb. Bilmemeniz gereken bir eksiklik mi? Mevcut iş kolunuzda PHP'yi tanımanız ve kullanmanız için gerçek bir talep var mı?
Raynos

1
@Raynos Php popülerlik raylar, django, node.js kombine daha büyük ...
yannis

Neden PHP ile daha iyi olmak istiyorsunuz (alev değil)? Daha dinamik, yorumlanmış bir ortamda gelişmeyi mi öğreniyor yoksa daha fazlası var mı?
sbrenton

1
@Raynos - pazar payı. Php ile ilgili bazı bilgileri, çözümleri karşılaştırmak, bir problemi değerlendirmek, bir arkadaşınıza yardım etmek, vb. Ben asp.net uzaklaşmak için hiçbir arzusu var, bu yüzden "en iyi" alternatif ortamı bilmek en popüler bilmek daha az yararlı imo olduğunu.
Eric

1
İyi bir ilk adım olabilecek MVC3'e girin
Daniel Little

Yanıtlar:


7

PHP öğrenmek için en iyi kaynak PHP kılavuzudur . Son derece iyi yazılmış ve iyi yapılandırılmış ve PHP topluluğunun en büyük varlıklarından biridir. ASP.net'den eminseniz, bu kılavuzu başlamanız için yeterlidir.

Yine de okumaya başlamadan önce bir PHP yığını kurmalısınız. Apache, PHP ve en sevdiğiniz veritabanını (SQLServer iyidir) kendiniz kurabilirsiniz (son derece kolaydır) veya XAMPP gibi hazır bir yığın kurabilirsiniz . XAMPP kurulacak:

hepsi bir arada (artı bazı diğer şeyler). Eksik olduğu önemli bir kütüphane , birim testlerinde size yardımcı olacak phpUnit'tir .

Daha sonra bir IDE yüklemelisiniz, bariz seçenekleriniz PHP Geliştirme Araçları (PDT) ile Eclipse Classic veya PHP için Netbeans . Bir sürü başka var, ama bu ikisini tavsiye ederim. İkisini de kullanıyorum, eğer aralarında seçim yapamıyorsanız Netbeans asmak biraz daha kolay, ama ikisini de gerçekten değerlendirmeli ve hangisinin sizin için daha iyi olduğuna karar vermelisiniz - Visual Studio ile çalışmadım ve hangi IDE'nin size daha tanıdık gelebileceğini bilmiyorum.

Kılavuzdan temelleri aştığınızda, bir MVC çerçevesi düşünmeye başlamalısınız. Yine, iki tavsiye eder:

Eğer aptal bir metafor izin verirseniz Zend Framework canavar ve CodeIgniter güzelliği. Zend Framework'ün dik bir öğrenme eğrisi vardır, Zend ( PHP'nin arkasındaki şirket ) tarafından desteklenir ve onunla hemen hemen her şeyi yapabilirsiniz. CodeIgniter asmak için çok daha kolay, yeni başlayanlar için güzel belgelere sahiptir ve oldukça popüler. Ancak kod tabanının çoğu, PHP4'ü çok uzun zaman önce desteklemedikleri için modası geçmiş bok.

Yeni başlayanlar için bariz seçim CodeIgniter, ancak ona takılı kalmayın. Bir öğrenme aracı olarak kullanın ve en kısa sürede Zend Framework'e geçin. Yine PHP dünyasında çok daha fazla MVC çerçevesi var, ancak bu ikisi tavsiye ettiğim.

Kitaplara gelince, yeni başlayan bir kitap PHP Nesneleri, Desenler ve Pratiktir . SitePoint 'ın PHP kitaplar hep okumak bir zevk vardır. PHP'ye aşık olursanız, gerçekten PHP Architect'e abone olmayı düşünmelisiniz .

Son olarak, ilk tercih olarak PHP'nin sadece teknik nedenleri hakkındaki bu harika tartışmaya göz atın .


Güncelleme: Yeni başlayanları hedefleyen birkaç çevrimiçi kaynak daha:

ve garip bir nedenden dolayı Apache yerine IIS'de PHP ile oynamak istiyorsanız, iyi bir başlangıç ​​yeri Microsoft'un Windows'taki PHP'sidir . IIS üzerinde PHP çalışır ve özellikle bir .Net geliştiricisi için geçerli bir seçimdir, ancak tam PHP deneyimini elde etmek ve becerilerinizin diğer popülerlere taşınabilir olmasını sağlamak için gerçekten Apache (ve SQLServer yerine MySQL veya PostgreSQL) ile gitmelisiniz. İŞLETİM SİSTEMİ. Mod_rewrite sevincini kaçırmak istemezsiniz .


Kişisel not: PHP için çok fazla nefret var, bazıları haklı . Bunun için gitmeye karar verirseniz, yol boyunca karşılaşacağınız çeşitli PHP kaynakları, komut dosyaları, kütüphaneler konusunda son derece eleştirel olmalısınız, orada çok fazla saçmalık var ve yeni başlayanların farkı bilmesi imkansız. PHP'nin büyük popülaritesi çok büyük ve yardımsever bir topluluğa, becerilerinizin büyük pazarlanabilirliğine, milyonlarca bloga milyonlarca blog'a çevrilebilir, ancak aynı zamanda birkaç bin terabayt crappy koduna da çevrilebilir.


2

Yannis bir yeri vardır iyi şeyler orada söylemek ama, okumak Kendi Veritabanı Web Sitesi, 4. Baskı Dayalı Yapı ve ben profesyonel bir PHP web uygulamaları geliştirmek için doğru yolda başlamak için bilmeniz gereken her şeyi ile doluydu.

Ben de bazı PHP çalışmaları yapmaya başlamadan önce sadece .NET üzerinde çalışıyordu. PHP ile çalışmak çok daha kolaydır, ancak büyük ölçekli uygulamalar geliştirirken bazı tuhaf sorunlar vardır ve bu kitap sizi bu konuda başlatır.

Benim için bir sorun, PHP'nin nasıl bir Nesne Odaklı dil olmadığıydı. Prosedürel formda ve Nesne Odaklı formda her türlü işleve sahiptir ve her şeyin sınıflara ve ad alanlarına organize edildiği bir dilden gelmesi biraz zaman alır.

Bir diğeri, PHP'deki her şeyi bir şeyleri daha zor hale getirmenin ne kadar kolay olabileceğiydi. .NET'te, Visual Studio gibi kullandığınız araçlar, işin bir kısmını sizin için yaparak iyi kodlama standartları uygulamanız için sizi yönlendirir. Genellikle bir .aspx sayfası HTML İşaretlemesi ve C # kodunun iki dosyaya ayrılmasını sağlar.

.NET araçlarının yoğun bir kullanıcısıysanız ve ASP.NET denetimleriyle çalışmayı tercih ediyorsanız, başka bir sorun da PHP'deki denetimlerin (GridView vb.) Olmamasıdır. Ben benzer bir şey vermek kütüphaneler / çerçeveler bir sürü olduğunu biliyorum ama onlar tam olarak temel PHP paketinin bir parçası değildir.

Benim için başka bir sorun, PHP'de, .NET'te koleksiyonlar gibi daha fazla hizmet veren Diziler ve Hashes'in yoğun kullanımı nasıl oldu. Onlar her yerdedir ve dizilerin sadece aynı tür nesneler / skaler birimlerin sıralı bir listesi olmadığı gerçeğine alışmak iyi olur. Her türlü şeyi barındırmak için bir koleksiyon nesnesi olarak sunucu oluşturabilirler.

Devam edebilirim ama PHP'ye çok özgü bulduğum en önemli şeylerden bahsetmek (diğer dillerde de yaygın olabileceğini bilmiyorum), "dahil" (ve ilgili) işlevlerin ne sıklıkta kullanıldığıdır çok yaygın. Sitepoint'deki kitabın tüm bunları hızlandırdığını söyleyebilirim.


Cevabımda Sitepoint'in php kitaplarına bir link var, hepsi mükemmel. Kimliğinizi bize bildirmek için cevabınızı biraz genişletebilir misiniz peculiar issues when developing large scale applications? Op olarak bir .net arka planınız olduğundan, .net insanlarının php hakkında tuhaf olduğunu hissetmek yararlı olacaktır.
yannis

Tamam Yannis, benim için bir sorun PHP'nin nasıl Nesne Odaklı olmadığı, prosedürel formda ve Nesne Odaklı formda her türlü işleve sahip olmasıydı ve sadece bu şekilde organize olmayan bir dilden gelmeye alışmak biraz zaman aldı sadece sınıflara değil, o isim alanlarına ve her şeye.
11:22

Hmmm, bu sadece genel bir mesele değil when developing large scale applications. Her neyse, PHP gibi daha kavramsal ve yaklaşım sorunları düşünüyordum, PHP gibi ölçekleme konularında tamamen farklı bir yaklaşım alır, böyle bir şey. .Net ile çok az deneyime sahibim, bu yüzden .Net insanlarının PHP'ye gelirken kavramsal olarak tuhaf bulduklarını öğrenmek isterim. Ancak PHP'nin çoklu paradigma olduğu gerçeği gibi şeyler elbette beklenecektir.
yannis

1
Yaklaşımlar açısından, çoğu ASP.NET geliştiricisi, "büyük ölçekli" (veri yoğun) uygulamalarını geliştirmek için özel kontroller (Javascript ve sunucu tarafı kodu ile HTML kontrollerinin bir kombinasyonu olan bileşenler) kullanma eğilimindedir. Bu çoğunlukla ASP.NET geliştiricilerinin hemen hemen aynı araçları kullanarak masaüstü uygulama geliştirmeden web geliştirmeye taşınmış olmasından kaynaklanmaktadır. Bu nedenle, çoğu zaten edinilmiş yeteneklerini web geliştirmeye uygun özel kontroller ile çalışma yolları çevirmek için yollar arar.
tsega

Bu Kitapla birlikte elde edilecek çok iyi bir IDE, Netbeans . PHP hata ayıklama alır kadar iyidir.
11:40
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.