Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Frameworki dla php i ich użyteczność
Forum PHP.pl > Forum > PHP > Pro > Archiwum Pro
envp
Witam, chciałbym zadać 2 pytania, a mianowicie:

1.Co najbardziej cenicie sobie we frameworkach. Nie chodzi mi o odpowiedź typu Szybkośc tworzenia aplikacji, czy też uporządkowanie całej aplikacji, a mianowicie o podanie komponentów (helpery, aplety, warstwa abstrakcji do DB)

2.Czy warto napisać małej(średniej? - ok 10 000 wejść miesięcznie) wielkości portal(a właściwie ofertę handlową połączoną z portalem) na FW ?
Apo
Hmm to ja opowiem swoją historie ;]

FW bynajmniej mój musi być szybki, wygodny w tworzeniu aplikacji i niezaduży (bez zbędnych bajerów).
Ostatnio napisałem sobie ORM'a dla umielania tworzenia zapytań oraz cachowania. Bardzo fajna rzecz szczególnie z PDO. Pomieżyłem czasy i zabardzo nie straciłem na wydajności w przeciwieństwie do Doctrine którego chcialem używać, zaczełem się także zastanawiać nad wyrzuceniem modelu w takiej sytuacji, bo nie widze większego sensu aby tworzyć kolejne klasy smile.gif
W swoim FW mam filtry tak więc moge łatwo dodawać i usuwać różne komponenty (autoryzacja, benchmark itp). Helpery i Aplety zależą już od pomysłowości autora :] Jakis form generator i walidator można dać jako aplet, helpery np generowaniu urli i takie różne ciekawe rzeczy które przyśpieszą prace smile.gif

Ad 2. Tak

Pozdrawiam
Athlan
1. Skoro nie chcesz słyszeć o szybkości tworzenia to nie... ale nie da się tego ukryć. Do rzeczy: w swoim frameworku cenię sobie parę ważnych dla mnie klas, które sprawiają że tworzenie aplikacji to sama w sobie przyjemność. Pozwolę wymienić sobie te ulubone i opisać dlaczego:

Image - tej klasie zawsze bije allacha, szybko zmniejsza, skaluje, dodaje tekst, łączy obrazki z przeźroczystością, ładuje źródło na którym operuje z innego serwer lub z lokalnego. Zapisanie obrazka w inne miejsce wraz z obróbką (czytaj: zmniejszeniem i dodaniem napisu bądź innego obrazka) to zaledwie 3 - 5 linijek kodu.

File - klasa obsługująca pliki uploadowane, super sprawa, szybki dostęp do informacji o pliku oraz do samego pliku, klasa ma wbudowaną metodę kopiowania go w miejsce docelowe i sprawdzenia czy został przesłany. Upload pliku to 3 linie.

Cache - komponent przechowujący dosłownie wszystko, poczynając od zapamiętania wyników zapytań, po cache obiektów, tablic stringów itd. Cache ma wielkie znaczenie, możemy dodać element poprzez metode cache(), bądź zcacheować wynik działania bufora w widoku metodami start() i stop().

Mail - nie muszę tu nic mówić... dodawanie załączikow z zewnątrz i z lokala, automatyczny wybór MIME maila, dodawanie osadzonych elementów HTML kończąc na wysyłaniu wiadomości To, Cc, Bcc, i ustalenie From.

Cookie - bardzo wygodna klasa dostępu do ciastek

User - wszystkie dane o użytkowniku, jego sesję, grupy i autoryzację wykonuje ta klasa. Z niej korzysta warstwa ACL, wygodny komponent w przenoszeniu i używaniu danych między warstwy MVC i nie tylko...

Filter - wszelkiego rodzaju filtry... czego dusza zapragnie.

Validator - sprawdzanie adresu email, nipu, adresu url, długości stringa (pomiędzy), istnienie znaków w stringu lub elementów w tablicy odpowiadających jakiemuś wyrażeniowi regularnemu i rózne inne operacje mające na celu sprawdzić dane wejściowe

Library - fajna sprawa w moim frameworku. U mnie biblioteką nazwałem klasy, które mogą wchodzić w sklad frameworka ale nie muszą, na przykład Pager, Token, obsługa stringa mod-rewrite oraz przykładowy NyssNiceForm (envp thx, czasem uzywam niektórych komponentów...)

Url - super sprawa... uzywając konfiguracji routera buduje linki, na których bazuje dana aplikacja frameworka, może wyciągnąć frazy składniowe URL'a takie jak serwer, ścieżka URL do aplikcaji itd.

Wspomnę również o klasach obsługujących pliki XML, INI, oraz bazy danych. Mam jeszcze klasę obsługi log'ów, plików które posiadają jakies informacje, które chcemy przechować, na przyklad wyłapane wyjątki przez framework (moja klasa Vexception z niej korzysta w zależności od ustawień aplikacji), podczas pracy bardzo przydatna klasa...

2. Nawiązując do punktu drugiego: moim zdaniem dobrze trafiłeś. U mnie jest tak, że każdą aplikcję piszę na FW, z tym że konfig aplikcji może całkowicie wyłąćzyć działanie warstw MVC, wówczas mam dostęp do komponentów FW nawet w bardzo małej aplikacji, która nie potzrebuje warstw MVC, gdyż na przykład tylko pobiera dane z jakiegos pliku i wyświetla je. Oczywiście frame lezy sobie na serwerze w ustalonym katalogu, a aplikacje w folderach nad nim... która chce może go włączyć smile.gif. Warto używać frameworka choćby tylko dlatego, że ma w sobie ciekawe komponenty. Pomijam już applety i helpery, ale podkreślam: warto.

Pozdrawiam, Athlan smile.gif
batman
1. Ciągle rozwijany przeze mnie framework ma następujące zalety.

- Wiem co w nim jest
- Nie muszę szukać w dokumentacji sposobu wykonanie jakiejś czynności
- Zestaw klas wielokrotnego użycia (nazwy nieco inne jak w przypadku @Athlana, ale działanie bardzo podobne)
- W pełni konfigurowalne środowisko - kilka zmian w plikach konfiguracyjnych i można używać minimalnej wersji lub "kolosa" z wszelkimi możliwymi bajerami

2. Jak najbardziej. W moim przypadku zostawiłem w drzewie katalogów folder na klasy specyficzne dla konkretnej aplikacji. Dzięki temu w krótkim czasie jestem w stanie przygotować "surowe" środowisko pod nową aplikację.
nasty
W frameworkach cenie najbardziej zintegrowanie z komponentem ORM, jak np. Symfony no i Przyjazne URL-e.
Reszta jest prawie wszedzie czyli MVC, DB czy Image.

Co do szybkosci do nie jest to najwazniejsze poniewasz da sie to podrasowac dorze konfigurujac server i instalujac rozne optymizery
Neotion
ja moje FW zacząłem pisać nie jako FW tylko jako coś w rodzaju OS pod php, starałem się wprowadzić podział na usermode i na kernel mode tongue.gifP ale to kiedyśtam

- Przedewszystkim design "worse is better"
- wysoka elastyczność już utworzonych komponentów
- no wiadomo DB, Templatki, Request, Router, Configuration, Zintegrowany system obsługi błędów + logi do tego, debugger, CACHE!, Autoryzacja + system logowania wszędzie
- u mnie interfejs automatycznie ładujący warstwę i konfigurujący ją

No i najfajniejsze jest to że jak klikam to działa, może to i przyziemne ale dla mnie to po prostu radocha na to patrzeć smile.gif
hwao
Jak chcesz to możesz poczytać tutaj, framework php, jeszcze tam gdzieś było napisane ogólnie o framework'ach nie tylko w php.
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-2024 Invision Power Services, Inc.