Dyskusja:PHP: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Zyx (dyskusja | edycje)
Nie podano opisu zmian
Linia 60:
 
::::Najpierw oczywiście omawia się instalację i podstawową składnię języka, przy okazji z rozdziałami dotyczącymi błędów i korzystania z dokumentacji. Aby wszystko utrwalić, piszemy księgę gości, poznając przy tym trochę funkcji. Dalej w '''Rozmaitościach''' jest omówienie różnych zagadnień. Skoro jesteśmy na świeżo, zaczynamy od poszerzenia informacji o przetwarzaniu tekstu, a następnie uczymy się podstaw wyrażeń regularnych. Następnie idzie protokół HTTP i sesje, na końcu obsługa plików i internacjonalizacja (w sumie ten tekst mógłby być równie dobrze w innym miejscu), czyli praktycznie rozszerzyliśmy wszystko, co poznaliśmy pisząc księgę gości, z nawiązką. Teraz widzę, że rozdział "Obsługa XML" tutaj nie wejdzie, ponieważ programista jeszcze obiektówki nie zna. Kolejne trzy części mają stworzyć podstawy do rozdziału ''Dobra aplikacja''. Najpierw poznajemy bazy danych. Piszesz: ''bazy danych - oddzielić treść ogólną od MySQL'' - i jak zamierzasz to wtedy zrozumiale omówić? Takie rozkładanie wszystkiego na czynniki pierwsze jest dobre dla kogoś, kto już ma o tym pojęcie, a my piszemy ten podręcznik nie dla siebie, lecz dla kogoś, kto formalnie dopiero zaczyna. Nie można go tak rzucić, że najpierw "omówimy ogólnie bazy danych", cokolwiek by to znaczyło, a później będziemy szczegółowo: MySQL, PostgreSQL itd. Na wstępie takie pokazanie, jak co się z czym wiąże, jest '''niezbędne'''. MySQL jest najpopularniejszy, więc dlatego poznajemy najpierw na podstawie tej bazy język SQL (tylko niezbędne rzeczy, ponieważ formalnie do SQL'a ma być osobny podręcznik), a później uczymy się z nią komunikować, bo przecież do tego wszystko dąży. Najpierw omówione jest PDO, ponieważ ja doskonale wiem, jak ludzie podchodzą do czegoś, co jest związane z obiektami. Stwierdziliby, że na to przyjdzie czas później i dalej będą pisać ''$result = mysql_query('...') or die('Błąd w '.mysql_error());'' Dlatego celowo jest najpierw PDO (zresztą w treści jest wyjaśnione, dlaczego PDO jest rewolucją w stosunku do tego, co było kiedyś), a później ''skrótowo'' stary sposób komunikacji. I dopiero jak sobie czytelnik oswoi z jedną bazą, można pokazać mu więcej, omawiając je mniej lub trochę bardziej szczegółowo, ze szczególnym naciskiem oczywiście na PDO, by nikogo nie korciło bez potrzeby używać starych funkcji :). Później idziemy za ciosem: nauczyliśmy się rzeczy przydatnych przy omawianiu modelu, pora nauczyć się rzeczy przydatnych przy omawianiu widoku, czyli systemów szablonów (nawiasem mówiąc nie wyobrażam sobie omawiania widoków w MVC, kiedy szablony omawiane są 10 rozdziałów dalej). Dokładnie, tu nie chodzi o to, że to są biblioteki napisane w PHP i powinny (lub nie) być omówione razem z innymi, tylko zwyczajnie w moim zamierzeniu informacje z tego rozdziału mają mi być potrzebne dalej. Nawet do frameworków ten rozdział się przyda. Później obiektówka. Dlaczego pełne omówienie jest dopiero w tym miejscu, już tłumaczę. Po prostu omawianie obiektówki na sucho to całkowicie poroniony pomysł i ewentualnie kuracja dla masochistów. Właśnie tak to zostało w książce Marciniaka zrobione, a ja miałem nieszczęście się w ten sposób uczyć OOP. Ideałem byłoby wprowadzanie tego po kawałku, czyli przy bazach danych np. podstawy OOP (tak, jak teraz), przy systemach szablonów dziedziczenie i konstruktory, inne metody magiczne gdzieś później itd. Zamiast tego, skoro już później lecimy to za jednym zamachem, starać się będę umieścić tam dużo przykładów praktycznych, jak np. opis systemu konfiguracji w [[PHP/Klasy i obiekty]] czy tematyka baz danych i systemów szablonów. Tak przygotowani możemy dopiero wziąć się za wykorzystanie wiedzy w tworzeniu struktury aplikacji. Rozdział ''Dobra aplikacja'' czy ''Tworzenie aplikacji internetowych'' nie ma za zadanie objaśniać wyłącznie samej struktury MVC i ewentualnie wzorców projektowych, a zwrócić uwagę na wszystkie aspekty składające się na stronę WWW i rozszerzyć materiał w oparciu o najnowsze wiadomości. Spis treści obecnie nie jest jeszcze najszczęśliwszy i będzie zmieniany, ale ukazuje już mój zamiar. MVC i wzorce projektowe to nie wszystko - naprawdę powodzenia, jeśli ktoś się tylko z tym zabiera za budowę "profesjonalnej aplikacji". Przecież to stworzy tylko absolutny szkielet, który na dobrą sprawę do niczego poza osobistą satysfakcją się w praktyce nie przyda. Strona internetowa to przecież także systemy ACL, rejestrowania zdarzeń, przenośność, sesje, konfiguracja itd. Można nawet napisać na potrzeby tej części jakiś prosty framework i go dokładnie omówić kawałek po kawałku, przy okazji pokazując, jak rozbudowane mechanizmy stoją za wieloma stronami WWW. I tu przydadzą nam się m.in. szablony, które tak bardzo pragniesz wykosić gdzieś w diabły :). Po takim przygotowaniu, gdy sobie poeksperymentuje już z tym przykładowym frameworkiem, można wejść do omawiania gotowych. '''I dopiero teraz w zasadzie można już sobie pozwolić na odejście od formy stricte podręcznikowej i tematyczne menu'''. (tja, chyba się trochę rozpisałem :D) --[[Wikipedysta:Zyx|Zyx]] 12:56, 31 maj 2007 (CEST)
 
:::::''' ''bazy danych - oddzielić treść ogólną od MySQL'' - i jak zamierzasz to wtedy zrozumiale omówić? '''
:::::Nie omawiać wszystkiego jakby MySQL było jedyną słuszną bazą danych. Jakoś nie widzę by na http://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO było podane jak połączyć się z innymi bazami danych. Tak samo we wcześniejszych artykułach powinno być jasno zaznaczone że wszystko oparte jest o MySQL i dotyczy MySQL a w innych bazach jest to nieco inaczej. Oraz przy PHP5+ łatwiej o dostęp do SQLite niż MySQL ;)
 
:::::'''(nawiasem mówiąc nie wyobrażam sobie omawiania widoków w MVC, kiedy szablony omawiane są 10 rozdziałów dalej)'''
:::::A po co w MVC od razu smarty ? W CI szablony to pliki *php z kodem X/HTML w którym wplatamy wyświetlanie zmiennych.
 
:::::'''Strona internetowa to przecież także systemy ACL, rejestrowania zdarzeń, przenośność, sesje, konfiguracja itd.'''
:::::To i wiele więcej mam w Django, frameworku MVC. Framework to nie jest same wzorzec.
 
::::: ''' Można nawet napisać na potrzeby tej części jakiś prosty framework i go dokładnie omówić kawałek po kawałku, przy okazji pokazując, jak rozbudowane mechanizmy stoją za wieloma stronami WWW'''
:::::Po co? Na forum.php.pl co tydzień pojawia się nowy "framework" bez przyszłości. Osoba poznająca świat PHP nie skorzysta z takiej wiedzy, chyba że uzna się nagle za eksperta i zacznie tworzyć swój super-wypasiony framework.[[Wikipedysta:Riklaunim|Riklaunim]]
 
 
== Edytory PHP ==
Powrót do strony „PHP”.