Zend framework - większy projekt.

0

Witam,
od dłuższego czasu chodzi za mną pewien duży projekt. Mianowicie, zamierzam stworzyć portal uczelniany dla studentów gdzie będą mogli oni dzielić się swoją wiedzą. (wiem że wiele tego typu rzeczy istnieje, natomiast chciałbym [po dłuższych rozmowach ze znajomymi ze studiów] poddać go większej 'customizacji' ), dopasować poruszanie się po stronie, zarządzanie nią i td.

Przejdę do rzeczy,
logiczną strukturę opracowuję już od tygodnia, baza danych niecierpliwie już czeka aż zaczniemy ją wykorzystywać. No, ale.. Zamierzałem domyślnie pisać strukturalnie w PHP (większe obeznanie, można powiedzieć przyzwyczajenie). Spojrzałem głębiej w czas przyszły i uświadomiłem sobie że przy rozbudowywaniu strony (a zapewne to będzie miało miejsce), bardziej sprawdzi się podejście obiektowe.
Jako że Zend Framework nie jest mi obcy (choć braki sa - ale na bieżąco uzupełniane), chciałbym go od podstawki wykorzystać.
Pojawia się zasadnicze pytanie - czy się nada? Między innymi takie funkcje będzie obsługiwała strona:

Wprowadzenie użytkowników grup (Grupa X,X+1..) + uprawnienia, (grupy oraz hasła dostępu sztywno osadzone w bazie, zawartość witryny dostosowuje się w zależności od tego kto do jakiej grupy się zaloguje),
Wprowadzenie moderatorów którzy zajmą się zarządzaniem odpowiednich działów + panel,
Poczekalnia (wszystkie dodane treści - a będzie mógł je dodawać każdy zalogowany trafiają do poczekalni i czekają na weryfikację),
Pobieralnia + upload
...
to w takim skrócie.

Zależy mi na tym aby wszystko było dynamiczne (Ajax + Zend = ?), wydajne. Minimalizuje użycie wymyślnej grafiki, strona ma również działać dobrze na urządzeniach mobilnych.

Być może trochę od rzeczy piszę, ale cel jest jasny - czy Zend Framework (korzystam z ZF1) się nadaje?
Jeżeli ktoś posiada jakieś wskazówki, ciekawe biblioteki w rękawie - będę bardzo wdzięczny za podzielenie się ze mną wszelkimi spostrzeżeniami, informacjami, radami.

Pozdrawiam.

0

Zend Framework już nie jest wspierany. Są nowsze, ciekawsze metody pracy z frameworkiem. Zastanów się może nad użyciem Zend 2 albo Symfony2. Wszystko da się zrobić, a lepiej pracować w nowszym i cały czas rozwijanym frameworku. Osobiście polecam Symfony2 - ma bardzo dobrą dokumentację, bardzo dużo gotowych rozwiązań i sam z siebie uczy dobrych praktyk nowoczesnego programowania.

Oczywiście zarówno Zend 2 jak i Symfony2 nadają się do Twoich zastosowań.

[Mirek]

0

Brzmi ciekawie. Nie miałem nigdy styczności z Symfony. Czy przesiadka z Zenda na Symfony będzie bardzo bolesna? Nie ukrywam, chcę mieć trochę dodatkowego czasu w kieszeni.

0

Uczyłem sie Symfony 2 razem z Doctrinem 2. Nie konkretnego nie zrobiłem, ale ogólnie warto znać frameworki, bo właśnie na nich stawia się duże projekty.
Symfony jest bardziej przyjazne od Zenda i lepiej zaimplementowano MVC w Symfony.

0

Przede wszystkim - żeby była jasność - jeżeli zaczynasz nowy projekt, to tylko w Zend Framework 2 lub Symfony2. Pierwsza wersja obydwu tych frameworków jest już dość przestarzała, pojawiło się wiele nowych rozwiązań. Wiele rzeczy zostało poprawionych. Osobiście ucząc się Symfony2 nie znałem wcześniej innego frameworka, ale w zespole mam też ludzi, którzy przesiadali się z ZF1 i stało się to całkowicie bezboleśnie. Może nawet będzie Ci łatwiej :-)

O wyborze Symfony2 do bardzo dużego projektu, w którym aktualnie uczestniczę, zdecydowały następujące kryteria:
• system domyślnie jest zintegrowany z systemem szablonów Twig, który sprawia, że pisanie kodu HTML staje się mniej uciążliwe;
• integracja Symfony2 z systemem ORM do obsługi baz danych (Doctrine), przez co praca z bazą danych staje się mniej skomplikowana;
• wysoce konfigurowalna Autentykacja oraz Autoryzacja;
• możliwość integrowania aplikacji z gotowymi modułami, jednym z nich jest bardzo popularny FOSUserBundle (moduł do zarządzania użytkownikami);
• bardzo dobrze dopracowana dokumentacja oraz API;
• bardzo dobre narzędzia dla developerów. W trybie pracy „dev” mamy możliwość korzystania z wygodnego paska programisty.

Symfony2 ma tysiące dodatkowych gotowych rozwiązań najpopularniejszych zagadnień programistycznych, dostępnych przez bibliotekę composer. Wynika to z polityki twórców zachęcającej do rozwoju przez niezależnych developerów. Symfony2 wymusza na programiście stosowanie dobrych wzorców kodowania. Zbiera też w sobie najlepsze rozwiązania, które są na rynku (np. ORM Doctrine).

[Mirek]

0

Dziękuję za wszystkie rady. Stanowią dla mnie cenną bazę do dalszych działań.
Podsumowałem sobie wszystko i wyciągnąłem kilka wniosków.

Aktualnie jestem już w końcówce przerabiania oto tej książki : http://helion.pl/ksiazki/zend-framework-od-podstaw-wykorzystaj-gotowe-rozwiazania-php-do-tworzenia-zaawansowanych-aplikacji-wlodzimierz-gajda,zendfr.htm
Dokończę ją z racji tego że trzymam się zasady, że jeżeli coś się zaczyna to należy to skończyć.

Zacznę zupełnie od podstaw, a podmiotem moich działań będzie okrojona część wspomnianej witryny.

  1. Za pomocą technik obiektowych PHP napiszę wszystko od zera, następnie
  2. przeniosę całą ideę na Zend Frameworka bazując na książce którą kończę przerabiać (ZF1), następnie
  3. zakupię oto tę książkę: http://helion.pl/ksiazki/symfony-2-od-podstaw-wlodzimierz-gajda,symfo2.html (książka jakoś lepiej wpływa na moją edukację), oraz będę korzystał z tej dokumentacji http://symfony-docs.pl/ (swoją drogą robi naprawdę dobre wrażenie).

Przez teorię dawno przebrnąłem. Dlaczego chcę się kierować takim schematem działań? Przede wszystkim odświeżę informacje. Pozwoli mi to również dokonać interpretacji różnic wydajnościowych / w podejściu jakie oferuje każda z metod. Chciałbym poszerzyć zakres wiedzy.

Stawiam na okrojoną wersję witryny ponieważ gdybym pisał całość od zera używając z osobna Zenda, Symfony zajęłoby mi to wiele czasu. W momencie którym już będę na etapie Symfony2 - zatrzymam się na dłużej i przy użyciu tego frameworka zacznę już konkretniej wszystko rozbudowywać.

Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1