after.design

My way for My life...

Zend Framework 0.8

Na ostatnich dniach Zend wydał kolejną wersję Frameworka. Trzeba przyznać że od wersji 0.7 sporo się zmieniło. Z inkubatora przeniesiono następujące moduły:
Zend_Auth, Zend_Console_Getopt, Zend_Filter, Zend_Mail_Read, Zend_Rest_Client, Zend_Rest_Server, Zend_Validate
Trzeba także wspomnieć o zmianie Zend_Input_Filter i przeniesieniu metod tego modułu do Zend_Filter. Zend_Filter umożliwia także "łańcuchy sprawdzeń". Polega to na prostym utworzeniu obiektów kolejnych klas które mają zostać sprawdzone.
Prosty przykładzik wzięty z manuala:
// Zapewnia możliwość łańcuchowego wywoływania filtrów
require_once 'Zend/Filter.php';

// Filtry użyte w przykładzie
require_once 'Zend/Filter/Alpha.php';
require_once 'Zend/Filter/StringToLower.php';

// Tworzymy łańcuch filtrów i dodajemy filtry do łańcucha
$filterChain = new Zend_Filter();
$filterChain->addFilter(new Zend_Filter_Alpha())
->addFilter(new Zend_Filter_StringToLower());

// Filtrujemy nazwę użytkownika
$username = $filterChain->filter($_POST['username']);

Ogólnie proste i miłe w użyciu. Ciekawi mnie tylko czy w końcu dodali klasę/metodę do walidacji mejla, ponieważ w 0.7 jeszcze nie było to uzupełnione.

Trackback . Dodano 22 lutego 2007 o 20:33:39 na poziomie 0

lego

Hmmm taa za 2 lata może będzie miało te same ficzery co cake :)))

22 lutego 2007 . 20:52:00

D4rky

omg. ja jestem jakis dziwny, naprawde nie widze sensu w pakowaniu tego wszystkiego do kodu, przeciez to musi zajebiscie spowalaniac skrypt, juz o zajetym miejscu nie mowiac…

22 lutego 2007 . 21:00:08

lego

d4rky: pisałeś jakiś projekt gdzie jest więcej niż 5 klas? :) kodowałeś w czymś innym niż pehap?

22 lutego 2007 . 21:05:07

D4rky

lego – raczej tylko PHP. Projekt z więcej niż 5 klas? Hmmm… mój ma chyba równo 5 :P

22 lutego 2007 . 21:05:35

favicon Malin

Yyyyy. W jaki sposób to ma niby spowalniać „skrypt” ?
Przecież framework jest napisany w 100% obeiktowo i implementuje jeden z popularnych wzorców projektowych MVC. Wszystko jest po to żeby pisać samemu samą obsługę, a nie zajmować się pierdółkami. Fakt że framework pomaga dużo w ułożeniu logicznym kodu. Dodatkowo daje łatwy mechanizm routów, które są niczym jak łatwym działaniem mod_rewrite.
Co do cake’a to mam przeświadczenie że ma zbyt wiele zaszłości do php4 i sam fakt ilości gotowych modułów nie jest niczym, szczególnie że mechanizmy umieszczone w zend frameworku dają mi to co potrzebuje i używam na bieżąco.
Sam fakt rozwoju Zend Frameworka i jego popularności musi też być dowodem, że jest czegoś wart. Nie mówię oczywiście że jest to jedyny słuszny framework. Mi osobiście pasuje ze względu na to że obserwuję zmiany od wersji 0.2, dzięki czemu wiem co się dzieje i jak się dzieje.

22 lutego 2007 . 21:05:52

D4rky

Malin, lego – ja chyba nadal za głupi na frameworki jestem ;)

22 lutego 2007 . 21:06:51

lego

@d4rky: co za wyznanie – toś to siok! :)

@Malin: cake jest popularniejszy niż ZF :)

22 lutego 2007 . 21:08:05

favicon Malin

To ja Ci polecę pewną fajną książeczke na początek:
PHP5 – Obiekty, wzorce, narzędzia. Autor: Matt Zandstra. Po przeczytaniu takiej lekturki na bank się zmieni twoje podejście do phpa :]

22 lutego 2007 . 21:08:29

favicon Malin

@lego Tak, ale popatrz ile na rynku jest cake a ile jest ZF. Nie wiem czy cake zdobywał podobną popularność w tak krótki czasie.

22 lutego 2007 . 21:09:33

D4rky

Malin – masz moze ebooka? Splukany jestem

22 lutego 2007 . 21:10:14

favicon Malin

Niestety, zresztą sam poluje na książke, bo ciężko ją znaleźc w wersji papierowej. Rusz wyobraźnią i poszukaj gdzie trzeba :]

22 lutego 2007 . 21:11:10

lego

@Malin: ZF jest nadal w fazie testowej, ja bym się bał go używać w środowisku produkcyjnym, a na pewno nie wybrałbym go jako podstawy projektu… przynajmniej nie obecnie

22 lutego 2007 . 21:11:38

favicon Malin

Każda wersja jest testowa. Jednakże w ZF są 2 poziomy. Inkubator i to są testowe moduły. Oraz wersje stabline. Które nie są testowymi. Cały szkielet ZF jest stabilny, a jeżeli istnieją problemy z jakimiś modułem to się go nie używa. Problemu nie widzę :]

22 lutego 2007 . 21:13:22

lego

Problem jest taki że nie jest to ustabilizowane, api zmienia się zbyt szybko, kompatybilność wsteczna też nie ta, nie ma tej magicznej wersji 1.x, nikt nie będzie przez to ryzykował. A na pewno nie pracodawca. Cake powoli staje się już pewnym standardem jak kiedyś np. smarty i jest często wymagany.

Z innej beczki – w firmie w której pracuję niedługo będą do objęcia stanowiska koderów – właśnie cake’owych :)

22 lutego 2007 . 21:17:39

D4rky

Kurna, ze tez zaden wlasciciel tej ksiazki nie pomyslal, ze skaner sluzy tez do czegos innego poza skanowaniem porno fotek swojej dziewczyny, niech ich szlag!

22 lutego 2007 . 21:19:40

favicon Malin

No cóż. A my używamy PHP5 only i ZF. Jakoś nikt nie narzeka na brak stabilności i innych tego typu rzeczy.

22 lutego 2007 . 21:19:59

D4rky

http://www.e-link.com.pl/x_C_I__P_427074-410004.html – tu chyba jeszcze mozna dostac, ale wlasnie jestem kompletnie splukany. Ktos ma skaner i 49zl+przesylka?

22 lutego 2007 . 21:21:45

favicon stormfly

Jaki cake, od strony programowej to jest porażka. Niby obiektowo, a syfu tam strukturalnego co nie miara. Sorry, może cake ma duż bajerów, ale jest syfiaty, a to wystarczy by go nie używać.

28 lutego 2007 . 23:06:48

lego

syfu strukturalnego? 10-15 pomocniczych funkcji w stylu pr()? syfu, syfiasty – więcej odmian słowa „syf” nie było? porażające argumenty :))) I nie mam pojęcia co to jest „strona programowa” w projekcie informatycznym, :))) Wszyscy łączymy się z Tobą w bólu że Cake nie jest przez Ciebie używany. Ale sądzę że deweloperzy cake’owi to jakoś przeżyją :)))

01 marca 2007 . 08:56:51

favicon Malin

Prawda jest taka że cake to chamskie i zdupiałem php4. Prawda jest taka że interesuje mnie bardzo jak wygląda struktura samego frameworka, ponieważ to dzięki niemu mogę mieć rozpierdol w aplikacji. Po 2 nie mam ochoty pisać pseudo obiektowo. Brak modyfikatorów metod jest wkurwiające i to bardzo. To że zmienne mogę sobie zdefiniować jak w JS przez var też jest zdupiałe i nic mi nie mówiące. A cake z tego co się orientuje dopiero teraz układa kod, ażeby był przejrzysty, do tej pory mieli niezły rozpierdol.
Używanie cake’a to używanie już prehistoycznego php4. Trwają prace nad php6 a tu się tworzy pseudo obiektowo w php5. To tak jak pisać w C zamiast w C++. Mniej więcej podobne przejście. Cake nie jest i na pewno nie będzie standardem. Szczególnie że przerobienie cake’a na php5 nie będzie łatwe ;].

01 marca 2007 . 09:01:35

lego

php6 lol za 3 lata? na większości hostów nie ma jeszcze php5… mnie szczerze wali czy jest to php4 czy php8567 – zależy mi a) prostocie aplikacji b) szybkim jej napisaniu c) małej liczbie bugów d) przenośności e) żeby kod był w miarę przejrzysty f) żeby się nie namęczyć przy okazji.
Sorry chłopaki ale ideologie w biznesie są tylko kulą u nogi.

01 marca 2007 . 09:06:19

lego

Z resztą php i obiektówka to jest śmiech. Chcecie prawdziwej obiektowości – przerzućcie się na django albo railsy… php jeszcze baaaaaardzo daleko do nich…

01 marca 2007 . 09:09:33

favicon Malin

To ciekawe czemu piszesz w php4. A jakbym chciał obiektówki to bym pisał sobie w Javie…

01 marca 2007 . 09:10:23

lego

Malin: bo mnie zmusza pracodawca? A brak chętnych do przepisania projektów np. na takiego pythona owocuje tym że nadal się babrzemy w php… Z resztą cake działa równie dobrze na php5 więc nikt nie karze Ci go używać pod 4…

Java ssie, tzn sam język jest super, ale te wszystkie J2EE itd. to jest makabra

01 marca 2007 . 09:13:09

lego

ps. polecam do poczytania świetny blog o frameworkach webowych – http://blog.zabiello.com/

01 marca 2007 . 09:16:24

favicon Malin

Powiem tak. Piszemy w php5. Zend Framework działa jak nam potrzeba. Argument że serwery nie mają mnie nie przekonują ponieważ mamy własne kolokacje, w większości nie w polsce. A pisanie dla pisania jest z dupy.

01 marca 2007 . 09:18:33

lego

Malin: to gdzie Ty pracujesz że masz takich elastycznych pracodawców co pozwalają używać niestabilnego oprogramowania? :)))) Moi by woleli zapewne sepukku popełnić swoimi platynowymi mastercarami niż zatwierdzić używanie takiego ZF :)

01 marca 2007 . 09:27:57

favicon Malin

Ehh i widać dalej nie rozumiesz… ZF w inkubatorze jest niestabilny. Sam core frameworka jest stabilny i działający. To że pojawiają się bugi, które są poprawiane na przykład w Zend_DB świadczy o tym że jest używany i rozwijany, a nie że jest niestabilny. Odsyłam do inżynierii oprogramowania :]

01 marca 2007 . 09:29:40

lego

Sorry ale takie Zend_DB zawsze musisz używać... A samym corem to sobie można co najwyżej… i wywinąłeś się do odpytania – wiesz ciekaw jestem :)

01 marca 2007 . 09:32:29

favicon Malin

red-sky software. Przykładowy, rozwijany portal na ten czas: http://efox.pl. I Zend_db od momentu przejścia z inkubatora do core jest stabilne. To że jest dodawana obsługa udziwnionych joinów, których używam rzadko i które mogę wykonać przez metodę query a nie przez metodę selectów.

01 marca 2007 . 09:36:35

lego

jony z palca? dziękuje postoję :) wole zadeklarować asocjacje w modelu i mieć z tym święty spokój :)

01 marca 2007 . 09:41:44

favicon stormfly

@lego:
Co za brednie, na którym hostingu nie ma PHP5? Na jakiej większości? Na nazwa, na home, jest na kei, jest na az jest.

Fajnie, że wali Cię czy to PHP5 czy PHP4, ale to tylko świadczy o poziomie Twojego programowania. W poprzedniej firmie też musiałem pisać w PHP4, ale często narzekałem, że nie piszę się tak dobrze jak mi się pisało w domu w PHP5. Nie ma wyjątków, sztuczne abstrakcje, ogólnie dla mnie jest DUŻA różnica czy pisze w tym czy w tym. Może po prostu nie umiesz wykorzystać nowych możliwości, zatrzymałeś się na jakimiś etapie „rozowju” i jest Ci z tym dobrze.

01 marca 2007 . 10:55:48

lego

sf: fajnie za podsumowanie mojej wiedzy, dzieki! Mam nadzieje że nie zaplułeś bardzo śliniaczka przy pisaniu tego hmm tekstu. Szkoda tylko że się w ogóle nie znamy i za przeproszeniem gówno o mnie wiesz…

Sorry php to cienki język i nic go nie ratuje – obiektowość w 5 też nie jest rewelacyjna (jest wręcz cienka). Dlatego wole pythona nad php (czy jest to 4 czy 5). A mój poziom programowania hmm żaden z pracodawców nie narzekał, wręcz przeciwnie.

01 marca 2007 . 11:22:35

favicon stormfly

@lego:
Na potrzeby www jest bardzo dobry: łatwo, szybko, tanio. Z Twojej jednak wypowiedzi wynika, że preferujesz pisanie w PHP, użyję przytoczonego przez Ciebie słowa – cienko. Po co mi interfejsy, po co mi abstrakcje, po co mi stałe w klasie, lepiej używać define, dostęp do danych też niech będzie publiczny wszędzie. Nie ma żadnej różnicy, która wersja PHP.

... podsumowuje Twoje stwierdzenie, że nie ma różnicy czy PHP4 czy PHPX. Skoro jest cienki to w ogóle po co się do niego pchasz. Zajmij się pythonem skoro jest taki idealny.

PS przykro mi, że Cię tak uraziłem, tak nie znam Ciebie
PS2 nie zaplułem się, ale dzięki za troskę

01 marca 2007 . 11:45:09

lego

LOL stary trochę dystansu! python nie jest idealny ale jest ze 100 razy lepszy niż php… Popularność pehapa zmusza mnie do tego aby się nim zajmować, przynajmniej na razie (z czegoś trzeba żyć, nawet jeśli jest to babranie się w nieco niedorobionym języku). Na szczęście zdrowe alternatywy w postaci railsów i django niedługo powinny to zmienić...

01 marca 2007 . 11:51:35

favicon stormfly

RoR jest za wolny. Kolega był bardzo napalony na to i zrobił z współpracownikami gruntowne test, niestety stwierdził, że nie ma szans. Na RoR tylko postawili wewnętrzny system CRM, a resztę dalej robią w PHP.
No chyba, że nastawić się na duże firmy jak RedDot, który sprzedaje swój wg mnie śmieszny system w wersji podstawowej za kilkadziesiąt tysięcy, a to prawie nic nie potrafi, poza edycją za pomocą tych kropek i budowaniu strony z panela, które i tak wymaga dobrego umysłu by się w tym nie pogubić.

01 marca 2007 . 11:59:04

lego

W teście szybkości frameworków – php (z symfony) był najwolniejszy… Rails jest wolny ale zależy jeszcze jaka wersja. I tak python (z django) jest najszybszy…

01 marca 2007 . 12:02:17
Nickname:

Treść komentarza:
Textile Lite włączony ( szczegółowy opis znaczników ):
*strong* | # lista numerowana | * lista wypunktowana | _em_ | __italic__ | "link":http:// | bq. cytat.

Strona WWW (opcjonalnie)

Wprowadź kod code