Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jaki framework do nauki?
Forum PHP.pl > Forum > PHP > Object-oriented programming
szaq
Witam!

Od razu uprzedzam - nie wiem czy to dobry dział, 'Programowanie Obiektowe' wydaje mi się właściwe. Jeśli nie, przepraszam z góry administrację.

Jestem 'programistą' php. php 4 znam doskonale.
Dotychczas uczyłem się pisać aplikacje jedynie strukturalnie, kod był bardzo chaotyczny.

"Niedawno" zacząłem się uczyć php 5 (obiektówki). Myślę, że jestem już dobrze w tym obeznany.
Mam problem: chciałbym napisać własny framework, ale nie wiem jak się do tego zabrać. Czytuję artykuły, rozumiem model MVC, tylko nie wiem jak to w praktyce razem 'skleić'.

I teraz narzuca mi się pytanie: jakiego frameworka/co czytać/co robić , żeby zrozumieć ten układ, całą tą sieć klas? Czy jest jakiś 'prosty' framework, który analizując, mógłbym się czegoś dowiedzieć? W jaki sposób Wy, użytkownicy, zapoznawaliście się z frameworkami i czerpaliście pomysły na własne?

Pozdrawiam,
szaq
delta9
tak wiec odpowiadajac na czesc Twojego pytania, uwazam ze warto zapoznac sie z gotowymi rozwiazaniami - osoby ktore projektowaly framework przeprowadzily tysiace testow itd. - jest to juz sprawdzone srodowisko - mowie oczywiscei o frameworku, ktory bedzie mial zastosowanie w swiecie rzeczywistym

z drugiej strony - nic tak nie rozwija jak pisanie - stad pomysl pisania czegos swojego jest jak najbardziej na miejscu, choc poczatkowo pewnie bardziej hobbystycznie ale.. kto wie smile.gif

skad czerpac? sam pracuje z Prado (aktualnie najnowsza wersja to 3.1.0 alpha) i raczej nie bede szukal zamiennika - a pewnie zaciekawi Cie, ze framework ten wygral konkurs Zenda na prezentacje obiektowych mozliwosci php5 wiec.. po co szukac dalej?

http://www.zend.com/php5/contest/top_rated.php
Prph
Prado to chyba kiepski pomysl na start :/

Poczytaj dokumentacje Zend Framework. To powinno Ci wiele wyjasnic. Z MVC chyba kazy mial problem na poczatku. Ideologia dosyc oczywista i prosta, jednak jezeli programowales strukturalnie, to moze spedzic sen z oczu.

Pozdrawiam, Adrian.
Riklaunim
Polecam również Code Igniter i kurs. Sam framework jest PHP4/5 i na początek możesz zapoznać się z koncepcją MVC i frameworka a potem dorzucić tworzenie kodu wg. php 5
Turgon
Prado, powiem wygląda interesująca, ale ja bym Ci radził co innego. Nie czytaj żadnego Framework'a. Tylko wejdź na jakąś stronę o wzorcach projektowych. Przeczytaj wszystkie, które Ci mogą pomóc. Teraz wyłącz komputer. Weź kartkę. Rozpisz to sobie wszystko i teraz znowu włącz komputer. Kodź smile.gif
delta9
Cytat(Prph @ 23.01.2007, 20:51:13 ) *
Prado to chyba kiepski pomysl na start :/

dlaczego? szaq pisal ze rozumie MVC, dlaczego nie ma brnac dalej?
ikioloak
Prado w celach produkcyjnych - jak najbardziej, jednak do nauki polecalbym raczej jak Riklaunim - Code Igniter. Bardzo prosty i przejrzysty. Jednak tez polecam go tylko do nauki. Od niego jest latwo zaczac. Prado jest natomiast za bardzo skomplikowane dla kogos poczatkujacego.
Prph
Cytat(ikioloak @ 24.01.2007, 13:28:56 ) *
Prado w celach produkcyjnych - jak najbardziej, jednak do nauki polecalbym raczej jak Riklaunim - Code Igniter. Bardzo prosty i przejrzysty. Jednak tez polecam go tylko do nauki. Od niego jest latwo zaczac. Prado jest natomiast za bardzo skomplikowane dla kogos poczatkujacego.


Zgodze się z Tobą. To przede wszystkim z powodu stylu ASP (co oczywiście nie jest jakimkolwiek minusem prado). Z frameworkami generalnie jest tak, że zanim to wszystko zrozumiesz, to musisz przejrzeć kilka z nich. Pamiętam, że ja zacząłem od naszego dawnego Phienda (pozdrawiam autora/ów). Najwięcej jednak wyniosłem z Mojavi 2. Obecnie pracuję nad Rapide (linki w sygnaturze).

Adrian.
szaq
Dziękuję bardzo za odpowiedzi!

No nic, zabiorę się za studiowanie manuala CI smile.gif.

Jeszcze jedno: jakbyście rozplanowali wszystkie akcje, kontrolery, moduły we frameworku? Chodzi mi głównie o rozkład plików, katalogów. Klasy, sposób rozszerzania itd.
Riklaunim
Cytat(szaq @ 24.01.2007, 17:10:14 ) *
Dziękuję bardzo za odpowiedzi!

No nic, zabiorę się za studiowanie manuala CI smile.gif.

Jeszcze jedno: jakbyście rozplanowali wszystkie akcje, kontrolery, moduły we frameworku? Chodzi mi głównie o rozkład plików, katalogów. Klasy, sposób rozszerzania itd.


Każdy framework ma swoją strukturę kontrolerów/modeli/widoków. Dla CodeIgniter system/application/controllers, system/application/models, system/application/views winksmiley.jpg
Prph
Cytat(szaq @ 24.01.2007, 15:10:14 ) *
Jeszcze jedno: jakbyście rozplanowali wszystkie akcje, kontrolery, moduły we frameworku? Chodzi mi głównie o rozkład plików, katalogów. Klasy, sposób rozszerzania itd.


http://rapideframework.googlecode.com/svn/trunk/Application/

Adrian.
Athlan
Nie bazuj tylko na manualach. Oczywiście API w nich przedstawione sa baaaaaardzo ważne, ale luknij czasem jak to jest zbudowane od stronych technicznej. Ładniejszymi frameworkami są Zend (ale o MVC chlopcy zapomnieli) i CI.

Jeżeli chodzi o MVC - możesz rozumieć, ale być może nie będziesz umiał zastosować tak "od ręki". Teoria bardzo prosta - z praktyką ciężej.

Ja napisałem swojego frameworka dużo czytając, nie powiem że nie konsultowałem się z kolegami (pozdrawiam Prph, Envp, Cysiaczek). Rozmowa jest bardzo ważna, czasem artykuł nie odzwieciedli tego, co powie Ci przyjaciel.

Doświadczenie doświadczeniem, zanim napiszesz stabliną aplikację, pewnie kilka wyrzucisz do kosza, ale to doda tylko otuchy, że tworzysz coraz to lepsze kody. Ja zanim napisałem którykolwiek komponent mojego fw, wyrzuciłem kilkakrotnie do kosza poprzeniki (dla przykładu: 12 razy pisałem obsługę plikow konfiguracyjnych tongue.gif ), co uzwiadomił mi Envp - nie brać na poważnie tego, co nam wyszło za pierwszym razem, bo po czasie sie wyrobi smile.gif

Jeżeli chodzi o MVC. Częstym błędem programistów jest mylne pojęcie do Widoku i Templatu. 2 różne rzeczy... templat przedstawia, widok rządzi przedstawianiem.

Jeżeli chodzi o MVC, w moim repozytorum jest folder MVC, możesz jak najbardziej z niego skorzystać, jest tam także routing i wybieranie kontrolera, odpalanie akcji (dispatching). Repozytorium CORE:
http://framework.vgroup.pl/entry-9967b5b72...3b9a968b7c5.htm

Jeżeli chodzi o aplikcaję, ja mam ją rozłożoną w ten sposób:
http://framework.vgroup.pl/entry-4c84b4467...9e48d042808.htm

Oczywiście nie sądze, że jestem jakimkolwiek wzorem do naśladowania, sam wywalam po czasie niektóre rzeczy z fw i piszę od nowa - tak pokazuje doświadczenie...

Tymczasem pozdrawiam, miłej nauki i wyszlifowanego rzemiosła życzę smile.gif

Athlan smile.gif
nrm
Cytat(Athlan @ 25.01.2007, 21:05:44 ) *
Jeżeli chodzi o MVC. Częstym błędem programistów jest mylne pojęcie do Widoku i Templatu. 2 różne rzeczy... templat przedstawia, widok rządzi przedstawianiem.

kto myli to myli. myślę, że większość pozbywa się nadmiarowego balastu na rzecz prostoty aplikacji. ja też nielubie 2 razy robić tego samego tylko w imię tego, że to jest teoretycznie poprawne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.