Zend Framework jest trudny. Nie został zbudowany jako podstawowy poziom, zakłada się znajomość pojęć 1 . To powiedziawszy, pierwszym wymaganiem dla Zend Framework 2.0 jest uczynienie go nieco łatwiejszym:
Ułatw krzywą uczenia się
Pod koniec 2009 r. Przeprowadziliśmy ankietę wśród użytkowników środowiska, aby określić, z czego korzystają, z jakich środowisk korzystają i jakie są ich potrzeby. Najważniejszym problemem, bez żadnych ograniczeń, była trudność w nauce ram. Niektóre z tych problemów obejmują:
- Trudność w „pierwszej godzinie” z ramami.
- Niepewność co do „kolejnych kroków” po szybkim uruchomieniu.
- Niespójne interfejsy API w samym kodzie źródłowym. Jeden komponent może wykorzystywać „wtyczki”, inny „pomocników”, a jeszcze inny „filtry”.
- Niepewność co do tego, gdzie istnieją punkty rozszerzenia i jak je zaprogramować.
- Zamieszanie co do tego, czy mogą używać Zend Framework tylko jako stosu MVC, czy jako pojedynczych komponentów.
Więc to nie tylko ty, jest to trudne dla wszystkich - przeczytaj całą stronę wiki, istnieje wiele rzeczy, które zostały określone jako niepotrzebnie złożone. Ale nawet jeśli powyższy wymóg zostanie spełniony, nadal nie stanie się on podstawową platformą, co oznacza, że nie jest to struktura, na której powinieneś się uczyć, ale taka, z której powinieneś korzystać, kiedy faktycznie rozumiesz związane z nią pojęcia.
Ponieważ wciąż się uczysz, o wiele bardziej wartościowe byłoby zbudowanie własnej architektury MVC. Rasmus Lerdorf za notorycznie 2 „ no-frameworkiem MVC framework ” blogu daje bardzo prosty i czysty przykład poprzez PHP MVC procesowego, bez ram lub innej biblioteki osób trzecich zaangażowanych.
Ale jeśli naprawdę chcesz uczyć się z frameworkiem, powinieneś rozważyć mikrostrukturę zamiast w pełni rozwiniętej. Slim ma bardzo małą, czystą i dokładnie przetestowaną bazę kodu i powinien być idealny do nauki. Nie bawiłem się żadnymi innymi mikroukładami, powinieneś przeprowadzić własne badania i zdecydować, który z nich jest dla ciebie lepszy.
Aby uzyskać szybkie i brudne wprowadzenie do routingu, zobacz moją odpowiedź na to pytanie . Nie jest to bardzo trudna koncepcja, ale Zend Framework sprawia, że wygląda o wiele więcej niż jest w rzeczywistości .
1 Najlepszy opis, jaki przeczytałem dla ZF, to to, że jest to framework do budowania frameworku , a nie frameworku aplikacji. Jego surowa moc i ekstremalna lista funkcji nie są odpowiednie dla małych i średnich stron internetowych. Niestety tak naprawdę nie mogę znaleźć, gdzie to przeczytałem.
2 Przeczytaj zastrzeżenie na górze postu na blogu.
Aktualizacja, zainspirowana komentarzem @ Karpie:
Framework nie powinien być trudny, cały sens ramy ma ułatwić rzeczy. Możliwe, że nawet jeśli dobrze rozumiesz związane z tym koncepcje, ZF nie jest dla ciebie odpowiedni.
Przy wyborze frameworka wiąże się wiele subiektywnych czynników i chyba że w każdym innym frameworku brakuje funkcjonalności, której absolutnie potrzebujesz - i nie możesz sam pisać, powinieneś unikać ZF i używać frameworku, który jest dla ciebie bardziej naturalny.
Jeśli znasz pojęcia, środowisko nie powinno przeszkadzać.