2010-11-06 8 views
5

Buduję aplikację przy użyciu Zend Framework i zastanawiam się, czy ten framework jest zbyt rozdęty lub zbyt wypełniony. Być może jest to sposób, w jaki radzę sobie z problemem, ale widzę, że używanie tego schematu zmusza mnie do pisania o wiele więcej kodu.Zend Framework to jest tego warte?

Wszelkie sugestie lub porady?

+0

Co próbujesz zbudować? – rwilliams

+0

system biletowy i cms – snakeyyy

+0

sprawdź redmine. ma zarządzanie problemami, integrację svn i wiki. możesz uzyskać "instalowalny" od bitnami. –

Odpowiedz

3

Komponenty ZF doskonale nadają się do zadań celowanych - np. Zend_Oauth, Zend_Pdf, Zend_Gdata, itp. Możesz ich używać do realizacji tych zadań, nawet jeśli nie opierasz swojej aplikacji na strukturze ZF MVC, i zdecydowanie radzę ci to zrobić (zrzeczenie się: Jestem współtwórcą ZF, więc mogę być subiektywny) .

Co do dużych rzeczy ZF, takich jak Zend_Application, Zend_View itp. - to zależy od Twojej potrzeby i stylu. Jeśli chodzi o duży projekt, powiedziałbym, idź, może na początku wydawać się duży, ale w każdym razie skończy się czymś mniej więcej tak dużym.

Z drugiej strony, jeśli masz mniejszy projekt, możesz rozważyć użycie czegoś prostego, a może nawet żadnego - ale pamiętaj, że niektóre małe projekty rosną szybciej niż się spodziewasz.

Patrząc na twoją uwagę, że budujesz system biletowy i CMS, wygląda na to, że jest wystarczająco duży, by stworzyć framework. Wypróbuj ZF. Zacznij od mniejszych, prostszych przykładów, używając dobrej książki i przykładowy kod może być bardzo pomocny. Kiedy dojdziesz do myślenia, odkryjesz, że nie jest tak rozdęty, jak ci się wydawało - ma po prostu więcej funkcji i punktów rozszerzeń, ale odkryjesz, że ta funkcja może być potrzebna w przyszłości.

1

to tylko sugestie lub porady, więc należy włożyć tutaj zastrzeżenie.

to nie ile kodu trzeba napisać, aby pokazać pierwszą stronę w aplikacji. jest to, ile kodu będzie w nim w aplikacji, kiedy skończysz, i jak wiele z tego będzie powtarzane w każdym miejscu. i jak łatwo będzie wprowadzić zmiany/utrzymać.

z Zend, napisz więcej kodu teraz, aby później napisać mniej kodu. na początku piszesz kontrolery, modele, mapery, widoki, formularze i układy. niedługo będziesz dodawał akcje do kontrolerów, pisząc tylko formularze i widoki.

Koszt napisania modelu nie powinien być przypisany do pierwszego zapisanego widoku. przydzielaj go do widoków dodawania, edycji, usuwania i listy, a także widoków wyszukiwania.

Mam tylko 4 tygodnie do zend Framework i dlatego uważam się za początkującego w tym, ale programowałem przez 25 lat, a php przez 6 lat, więc widzę mądrość.

rzeczy, które mogą być potrzebne, aby być świadomym, że niektóre procedury Zend nie działają w PHP 5.3, nie wiem już nic na ten temat.

edytuj: jeśli szukasz prostszych frameworków, wypróbuj codeigniter (lub kohana, która jest rozwidleniem codeigniter). jest łatwiejszy w użyciu, ponieważ ręcznie dodajesz pliki, zamiast uruchamiać skrypt do generowania kontrolerów, modeli itp. (np. z symfony, zend, cakephp, yii itd.). większość pracy, jaką wykonałem do tej pory, dotyczyła codeigniter.

3
  1. Czy na pewno potrzebujesz własnego CMS? Czy napiszesz dobry filtr antyspamowy? To nie ZF zmusza Cię do pisania więcej kodu. Może właśnie wybrałeś złą drogę.

Rozważ integrację aplikacji z kilkoma dobrymi rozwiązaniami, takimi jak Wordpress lub Drupal.

  1. Zend Framework nie jest rozdęty. W rzeczywistości jest to przykład dobrych praktyk programistycznych. Jest dojrzały, co oznacza, że ​​powinien być używany w dojrzałych projektach i przez dojrzałych programistów.

Altought ZF jest najlepszy tutaj, możesz wypróbować Symfony, może być bardziej przyjazny. Dostępnych jest mnóstwo gotowych zasobów dla użytkowników.

0

Jeśli oczekujesz szybszego rozwoju przy mniejszym pisaniu, Zend Framework może nie być najlepszym wyborem. To zdecydowanie zajmuje więcej czasu na pisanie, takie rzeczy jak $this->getRouter()->getWhatever()->thenSmtMore()->theFuncNeeded(). Jest jednak dobrze skonstruowany i ładnie zaprojektowany. A to, co Sasha Shumann powiedziała na spotkaniu QA, brzmi: "spędzasz więcej czasu na czytaniu kodu niż na pisaniu". Cóż, ma to sens, kiedy myślisz w ten sposób, ale w prawdziwym życiu, zwłaszcza jeśli pracujesz nad garstką niskobudżetowych projektów, w których możesz nieco poświęcić jakość, domyślna infrastruktura aplikacji Zend Framework może cię spowolnić. Ale to nie oznacza, że ​​ZF jest nadęty ...

Rzecz, którą kocham w ZF, ponieważ moduły są luźno połączone, zawsze masz szansę na wykorzystanie go jako biblioteki lub stworzenie własnego środowiska pracy w oparciu o składniki ZF. I to jest dokładnie to, co zrobiłem, więc spędziłem kilka miesięcy na budowaniu własnego rodzaju frameworków opartych na komponentach ZF i mogę szybciej budować nowe projekty, tak jak lubię.

Z mojego doświadczenia wynika, że ​​jeśli używasz dowolnego frameworka, w tym Ruby on Rails lub Django, na początku zyskujesz dużo szybkości, ale kiedy napotkasz specjalne przypadki, znalezienie odpowiedniego rozwiązania dla tej sprawy będzie trudniejsze. Rozwiązaniem jest poświęcenie wystarczającej ilości czasu na opanowanie architektury, na pewno uzyskać wsparcie społeczności, ponieważ standardowa dokumentacja nigdy nie wystarcza i zoptymalizować przepływ pracy (np. Tworzenie biblioteki kodów fragmentów, korzystanie z zaawansowanego IDE, takiego jak Netbeans lub Zend Studio, za pomocą kodu szablony itp.)