Obecnie bardzo dobrze czuję się w tworzeniu narzędzi / aplikacji internetowych w środowisku ASP.NET. Nie chcę opuszczać TBH, ponieważ bardzo lubię C #, ASP.NET, MVC 3, Visual Studio itp.
Jednak w tej chwili nie wiem prawie nic o PHP i wydaje mi się, że to niedobór, który chciałbym naprawić.
Czy są jakieś książki (lub inne metody uczenia się), które byłyby dobrym źródłem do nauki PHP? Oczywiście jest wiele początkujących książek o PHP, ale już dobrze czuję się z tym, co wiąże się z budowaniem strony internetowej, i jestem zainteresowany skupieniem się na samym PHP, które może nie być zgodne z zakresem niektórych początkowych książek o PHP.
Przeszedłem już sporo instrukcji PHP i wydaje się, że nie płynie ona tak płynnie, jak mogłoby być idealnym. Czy jest jakaś początkowa książka o PHP, która byłaby odpowiednia? Tęsknię za spójnością, jaką zawiera większość książek, gdy przeglądam te próbki. Jest dużo więcej informacji, ale bardziej przypomina odniesienie podczas kodowania niż podstawowy pojazd do nauki.
Odpowiedzi:
Najlepszym źródłem do nauki PHP jest podręcznik PHP . Jest niezwykle dobrze napisany i ma dobrą strukturę i jest jednym z największych atutów społeczności PHP. Jeśli masz pewność co do ASP.net, instrukcja wystarczy, aby rozpocząć.
Zanim zaczniesz czytać, powinieneś skonfigurować stos PHP. Możesz samodzielnie zainstalować Apache, PHP i swoją ulubioną bazę danych (SQLServer jest w porządku) (to bardzo proste) lub możesz skonfigurować gotowy stos, taki jak XAMPP . XAMPP zainstaluje:
wszystko za jednym razem (plus kilka innych rzeczy). Jedną ważną biblioteką, której brakuje, jest phpUnit , która oczywiście pomoże ci w testowaniu jednostkowym.
Następnie powinieneś zainstalować IDE, twoje oczywiste opcje to Eclipse Classic z PHP Development Tools (PDT) lub Netbeans dla PHP . Jest wiele innych, ale te dwa polecam. Używam ich obu, jeśli nie możesz wybierać między nimi Netbeans jest trochę łatwiejszy do zrozumienia, ale powinieneś naprawdę ocenić oba i sam zdecydować, który z nich jest dla Ciebie lepszy - nie pracowałem z Visual Studio w bardzo długo i naprawdę nie wiem, które IDE może być dla ciebie bardziej znane.
Po zapoznaniu się z podstawami z podręcznika powinieneś zacząć myśleć o frameworku MVC. Ponownie polecę dwa:
Zend Framework to bestia, a CodeIgniter to piękno, jeśli pozwolisz mi na głupią metaforę. Zend Framework ma stromą krzywą uczenia się, jest wspierany przez Zend ( firmę stojącą za PHP ) i możesz z nim zrobić prawie wszystko. CodeIgniter jest o wiele łatwiejszy do zrozumienia, ma ładną dokumentację dla początkujących i jest dość popularny. Ale większość tego kodu to przestarzałe badziewie, ponieważ jeszcze niedawno obsługiwały PHP4.
Dla początkującego oczywistym wyborem jest CodeIgniter, ale nie utknij z tym. Użyj go jako narzędzia do nauki i jak najszybciej przejdź do Zend Framework. Znów w świecie PHP jest o wiele więcej frameworków MVC, ale te dwa są tymi, które polecam.
Jeśli chodzi o książki, świetną książką dla początkujących są obiekty, wzorce i praktyka PHP . SitePoint „s PHP książki są zawsze przyjemność czytać. Jeśli zakochasz się w PHP, powinieneś rozważyć subskrypcję PHP Architect .
Na koniec sprawdź tę świetną dyskusję na temat czysto technicznych powodów, dla których PHP jest pierwszym wyborem .
Aktualizacja: Kilka dodatkowych zasobów online, które są skierowane głównie do początkujących:
a jeśli z jakiegoś dziwnego powodu chcesz bawić się PHP na IIS zamiast Apache, dobrym miejscem startowym jest PHP Microsoftu na Windowsie . PHP na IIS działa i jest prawidłowym wyborem, szczególnie dla programistów .Net, ale naprawdę powinieneś wybrać Apache (i MySQL lub PostgreSQL zamiast SQLServer), aby uzyskać pełne doświadczenie PHP, a także upewnić się, że Twoje umiejętności są przenośne dla innych popularnych OS. Nie chcesz przegapić radości jaką jest mod_rewrite .
Osobista uwaga: w PHP jest wiele nienawiści, niektóre z nich są uzasadnione . Jeśli zdecydujesz się na to, musisz być bardzo krytyczny wobec różnych zasobów PHP, skryptów, bibliotek, które spotkasz po drodze, jest zbyt wiele badziewi i początkujący nie jest w stanie poznać różnicy. Ogromna popularność PHP może zostać przetłumaczona na bardzo dużą i pomocną społeczność, duże możliwości sprzedaży twoich umiejętności, miliony milionów blogów, ale może być również przetłumaczona na kilka tysięcy terabajtów gównianego kodu.
źródło
Yannis ma wiele dobrych rzeczy do powiedzenia, ale czytam: Zbuduj własną stronę internetową opartą na bazie danych, wydanie czwarte , i było wypełnione wszystkim, co musiałem wiedzieć, aby rozpocząć właściwą drogę do rozwoju profesjonalnych aplikacji internetowych PHP.
Pracowałem także wyłącznie na platformie .NET, zanim zacząłem pracować z PHP. PHP jest o wiele łatwiejszy w obsłudze, ale ma pewne szczególne problemy podczas tworzenia aplikacji na dużą skalę, a ta książka zaczyna od tego.
Jednym z problemów było to, że PHP nie jest językiem zorientowanym obiektowo. Ma wiele funkcji w formie proceduralnej i obiektowej i zajmuje trochę czasu, aby się przyzwyczaić, pochodząc z języka, w którym wszystko jest zorganizowane w klasy i przestrzenie nazw.
Kolejnym było to, jak łatwo można pomieszać wszystko w PHP, co znacznie utrudnia. W .NET używane przez ciebie narzędzia, takie jak Visual Studio, prowadzą cię do ćwiczenia dobrych standardów kodowania, wykonując część pracy za Ciebie. Zwykle strona .aspx ma kod HTML i kod C # rozdzielone na dwa pliki.
Jeśli jesteś intensywnym użytkownikiem narzędzi .NET i wolisz pracować z kontrolkami ASP.NET, jeszcze innym problemem jest brak kontroli (GridView itp.) W PHP. Wiem, że istnieje wiele bibliotek / frameworków, które dają ci coś podobnego, ale nie są one dokładnie częścią podstawowego pakietu PHP.
Innym problemem dla mnie było to, w jaki sposób w PHP występuje intensywne użycie tablic i skrótów służących bardziej jako zbiory w .NET. Są wszędzie i dobrze byłoby przyzwyczaić się do faktu, że tablice to nie tylko uporządkowana lista tego samego typu obiektów / jednostek skalarnych. Mogą one służyć jako obiekty kolekcji do przechowywania różnego rodzaju rzeczy.
Mogę mówić bez końca, ale aby wspomnieć o jednej z głównych rzeczy, które uważam za bardzo specyficzne dla PHP (nie wiem, czy może to być również powszechne w innych językach), jest to, jak często używane są funkcje „włącz” (i powiązane) tak często. Mogę powiedzieć, że książka z Sitepoint może przyspieszyć wszystko.
źródło
peculiar issues when developing large scale applications
zidentyfikowanych przez Ciebie danych? Ponieważ posiadasz tło .NET jako op, dobrze byłoby wiedzieć, co ludzie .net uważają za osobliwy w php.when developing large scale applications
. W każdym razie myślałem bardziej o zagadnieniach koncepcyjnych i podejściach, takich jak PHP w kwestii skalowania w zupełnie inny sposób. Coś w tym rodzaju. Mam bardzo małe doświadczenie z .Net, więc chciałbym dowiedzieć się, co ludzie .Net uważają za osobliwą pod względem koncepcyjnym, kiedy przychodzą do PHP. Ale oczywiście należy spodziewać się takich rzeczy jak fakt, że PHP jest wieloparadygmatyczne.