Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zend Framework już jest!
Forum PHP.pl > Inne > Hydepark
Stron: 1, 2
matid
Cytat
We are glad to finally unveil the Zend Framework project. We have worked hard in the past few months with our partners and the community to get to this stage. We believe the Zend Framework can already be of great use to php developers, although we still have a lot of work ahead of us.

Jestem ciekaw, czy choć trochę ustandaryzuje to proces budowania aplikacji w php. W każdym razie php w końcu się doczekało swojego oficjalnego frameworka: http://framework.zend.com/download
aleksander
hmm szczerze mówiąc myślałem ze ten framework będzie w C i bedzie wkompilowany w jądro ewntualnie jako biblioteka:) A tak to pfff. Otworzyłem pierwszy lepszy plik a tam 15 require_once O_o. no ale zobaczymy jak sie sytuacja rozwinie.
sf
Bylo na sieci, ze to bedzie framework oparty na php, a nie na c.
hwao
Dla mnie to nic nie zmienia tongue.gif taki sam zbior klas jak eZ Components smile.gif
Vengeance
Póki co KUPA :]
mike
LOL co to jest?

I jeszcze to frameworkiem nazwali. Buhahahaha.

Zobaczymy co zrobia delej. Może akurat uda im się zmienić to w coś wartego uwagi, na razie nie ma czym sobie głowy zawracać.
Strzałek
eee tam. Trudnbo to frameworkiem nazwać.
Zbiór klas i tyle.
Kopia eZ Componets.
Jak narazie lipa.
slash.
ktos probowal to uruchomic dla testow - bo u mnie wszystko co bylo w katalogu demos konczylo sie fatal error, brak dokumentacji do instalacji w katalogu dokumentacji,
nie doszukalem sie rowniez tak slawetnie zapowiadanej wersji activerecord dla php - chodz moze zle szukalem - ale jak tu szukac gdy nic nie chce dzialac.
Zastanawia mnie tylko dlaczego nie wykrozystali funkcji __autoload() - z tego co zagladalem nie ma tak strasznego narzutu na wydajnosc.
Niemniej jednak podobnie jak wszyscy sadze - ze caly ten framework mocno przereklamowali - przynajmniej jak na obecna chwile.
NuLL
Cytat
nie doszukalem sie rowniez tak slawetnie zapowiadanej wersji activerecord dla php

Moze sie myle ale napisanie czegos takiego jest proste jak drut.
seaquest
Wydaje mi się, że to wcale nie takie proste. Oddzielenie (całkowite) modelu od kontrolera - tak jak to jest zrobione w Ruby w php nie byłoby takie proste.
ActivePlayer
a co ma wspolnego oddzielanie modelu od kontrolera z activerecord'em?
NuLL
Dla mnie ActiveRecord to tylko model - ale to moja wlasnie opinia.
eMartio
Właśnie przeglądasz Zend Framework. Słuchajcie, do czego służą klasy: HttpClient, Zend_Uri_Http oraz za co odpowiada HTTP Request? Nie jestem biegły z anglika, dlatego pytam tutaj...
hwao
Cytat(eMartio @ 2006-03-22 21:06:20)
Właśnie przeglądasz Zend Framework. Słuchajcie, do czego służą klasy: HttpClient, Zend_Uri_Http oraz za co odpowiada HTTP Request? Nie jestem biegły z anglika, dlatego pytam tutaj...

nie dubluj pytan...
Fipaj
A ja zaspamuję: http://fipaj.livenet.pl/blog/index.php/200...sze-spojrzenie/

W skrócie: może i kupa, ale na pewno klas. I to całkiem przydatna kupa...
g00fy
imho , jesli juz zend robi frameworka powinni go razem wkompilowac w php - powinien byc napisany w C, bo tak niczym sie nie rozni od masy innych.
NuLL
http://devzone.zend.com/content/samples/ed...2/phpblox2.html

Zabawa dopiero sie zaczyna - to co teraz widzimy to tylko wstep biggrin.gif
hwao
mnie to sie wogole nie podoba
NuLL
Mnie tez nie do konca - jesli php wedruje w ta strone to ja spadam do MS-a winksmiley.jpg
SongoQ
Cytat
Mnie tez nie do konca - jesli php wedruje w ta strone to ja spadam do MS-a

A co myslales ze jak sie rozwinie? Przeciez wszystko zmierza w ta strone. Jednym kliknieciem i "polowa aplikacji" zrobiona
seaquest
Ale dlaczego by nie? Ja tam jestem za tym, żeby php miało swoje Visual Studio.
acztery
nic nadzwyczajnego. parę sekund oglądanie i wyrobiłem sobie zdanie np.

klasa do wysyłania maili

  1. <?php
  2. class Zend_Mail_Transport_Sendmail implements Zend_Mail_Transport_Interface
  3. {
  4. public function sendMail(Zend_Mail $mail, $body, $headers)
  5. {
  6. /**
  7.  * @todo error checking
  8.  */
  9. mail(join(',', $mail->getRecipients()), $mail->getSubject(), $body, $headers);
  10. }
  11. }
  12. ?>


co to za badziew ? nie wiem kto by tego uzywal jak za pomoca pear mozna 100 razy wiecej.

----------
klasa nie classa
--
dr_bonzo
NuLL
@acztery - widac masz malo pojecia o programowaniu tiredsmiley.gif
dr_bonzo
acztery: przeciez ta klasa sluzy do wysylania maili mail()'em
tu http://framework.zend.com/developer/browse...nsport/Smtp.php masz duzo wieksza funkcjonalnosc
acztery
wiem ale po co pisac do funkcji mail klase pozatym a ja chce wyslac z załacznikiem do wielu userow itp fakt faktem ubogie to ...

Null do Ciebie mi brakuje .... ale jezeli ty zastosował bys coś takiego to spoko. ale chyba moge miec swoje zdanie na temat tego framweroka a wypowiadam sie tylko o tej klasie jezeli ona dla ciebie jest tak zaawansowana to sobie ja stosuj....


----------
klase nie classe
--
dr_bonzo
dr_bonzo
Cytat
wiem ale po co pisac do funkcji mail klase pozatym a ja chce wyslac z załacznikiem do wielu userow itp fakt faktem ubogie to ..

Bo ten framework jest w OOP i gdy chcesz zmienic sposob wysylania maili to zmieniasz tylko obiekt klasy Zend_Mail_Transport_Sendmail na Zend_Mail_Transport_Smtp.

Cytat
nic nadzwyczajnego. parę sekund oglądanie i wyrobiłem sobie zdanie np.

mowisz o frameworku na podst. jednej klasy
Cytat
a wypowiadam sie tylko o tej klasie

mowisz ze mowisz tylko o tej klasie biggrin.gif

Widze sprzecznosc.
Ace
Również jestem za. O to chodzi, żeby efekt był przy małym wkładzie pracy.
Seth
Nie wiem skad poglad niektorych osob na to, ze to nie framework.
.NET to takze zbior klas, luzno lub mocniej zwiazanych ze soba.

Mnie tylko jedno przeszkadza we wspolczesnych frameworkach. Brak porzadnych dokumentacji.
Zend Framework wypada tutaj srednio. Nie znalazlem infromacji o instalacji, wymaganiach etc.
Czesc dokumentacji jest tylko zaczeta, wiec trzeba badac fuinkcjonalnosc po omacku.
To zdecydowanie mnie odstrasza od takich pozycji.

Tak samo jak z Prado - bardzo ciekawie sie zapowiada 3cia wersja tego srodowiska, ale coz... dokumentacja jest o kant stolu potluc. Brak prostych przykladow, ktore byly by w pelni opisane.

Dlatego do ZF narazie tez podchodze z dystansem. Niech sie chlopaki rozkreca i przygotuja porzadna dokumentacje. Wtedy bedzie mozna sie za to wziasc i sprawdzic jak to dziala w "realnym swiecie".
Poki co dla mnie jest to tylko ciekawostka.
cyphelf
Cytat(Seth @ 5.06.2006, 20:50 ) *
Nie wiem skad poglad niektorych osob na to, ze to nie framework.
.NET to takze zbior klas, luzno lub mocniej zwiazanych ze soba.


Dokładnie. Z tą różnicą że .NET ma IDE w pełni zintegrowane z frameworkiem, ale Zend także planuje w pełni zintegrować swoje IDE czyli Zend Studio z frameworkiem. Prawdopodobnie będzie też możliwość programowania kontrolkowego (PHPBlox).

Cytat(Seth @ 5.06.2006, 20:50 ) *
Mnie tylko jedno przeszkadza we wspolczesnych frameworkach. Brak porzadnych dokumentacji.
Zend Framework wypada tutaj srednio. Nie znalazlem infromacji o instalacji, wymaganiach etc.
Czesc dokumentacji jest tylko zaczeta, wiec trzeba badac fuinkcjonalnosc po omacku.
To zdecydowanie mnie odstrasza od takich pozycji.


Tu nie ma co się dziwić, istniejąca dokumentacja to dopiero zarodek, w końcu wydane zostały dopiero trzy poglądowe wersje. Do zakończenia prac nad frameworkiem i dokumentacją jeszcze trochę czasu zostało.

Cytat(Seth @ 5.06.2006, 20:50 ) *
Dlatego do ZF narazie tez podchodze z dystansem. Niech sie chlopaki rozkreca i przygotuja porzadna dokumentacje. Wtedy bedzie mozna sie za to wziasc i sprawdzic jak to dziala w "realnym swiecie".
Poki co dla mnie jest to tylko ciekawostka.


W sumie to już da radę zrobić całkiem przyzwoitą w aplikację w oparciu o ZF. Wg mnie bardzo dobrze to o frameworku świadczy, biorąc pod uwagę to, że jest on w tak wczesnej wersji. Z tego co pamiętam to Zend Developer Zone oraz strona frameworka działają w oparciu o ZF.
seaquest
Seth, dokumentacji do ZF nie brakuje, jest dobry manual: http://framework.zend.com/manual z przykładami, a do tego w pakiecie jest całe API wygenerowane z PHPDoc. Jak dla mnie dokumentacji nie brakuje.

Podobnie zresztą w .NET, dokumentacja w ramach Visual Web Developer jest bardzo dobra i kompletna.

Faktycznie szkoda PRADO, bo ten framework w wersji 2 był na prawdę całkiem niezły, ale ciężko było coś zbudować od razu. Wersja 3 bardzo różni się od poprzednika i ciężko się w to wgryźć.
bigZbig
Przyjrzałem się wstępnie ZF i niestety jestem troszkę rozczarowany. Juz sam sposob uzycia tego frameworka wymagający uzycia pliku .htaccess, w którym nie tylko wpisujemy regułę o przekierowaniu każdego żadania na index.php w katalogu głównym, co uniemożliwia nam np. umieszczenie osobnych projektow w podkatalogach, ale też konieczność zmiany dyrektywy php_value include_path "/path/to/lib". Jakby nie mozna tego bylo załatwić przy pomocy stałej.

Zend_Controler - wymuszone jest umieszczenie wszystkich kontrolerow w jednym katalogu. Moim zdaniem nie sprzyja to budowaniu modularnych aplikacji, a w każdym razie uniemozliwia trzymanie wszystkich plikow danego modulu w jednym katalogu.

Adapter do baz danych zapowiada się ciekawie. Jeszcze nie testowalem, ale napewno wyprobuje

Zend_Filter jest prosty - zwykly zbior statycznych metod. Przydalby sie jakis sposob zarzazdzania poszczegolnymi testami. Kiedys nad czyms takim pracowalem. Trzymalem kazdy test w osobnej klasie oczywiscie implementujacej okreslony interfejs. Nie wiem czy to bylo najlepsze rozwiazanie, ale umozliwialo latwa rozbudowe bazy testow.

Zend_InputFilter - w takiej formie w jakiej to jest teraz to miom skromnym zdaniem jest to przyklad bezsensownej roboty. Po pierwsze mysle ze daloby sie to zrobic przy pomocy metody magicznej __call. Po drugie uzycie tej klasy ogranicza nas do przeprowadzenia tylko jednego testu na danej zmiennej.

Na temat pozostalych klas nie mam na razie refleksji, ale moze inni mają. Chętnie dowiem się co myślicie o tym frameworku.
cyphelf
Cytat(bigZbig @ 22.06.2006, 10:57 ) *
Przyjrzałem się wstępnie ZF i niestety jestem troszkę rozczarowany. Juz sam sposob uzycia tego frameworka wymagający uzycia pliku .htaccess, w którym nie tylko wpisujemy regułę o przekierowaniu każdego żadania na index.php w katalogu głównym, co uniemożliwia nam np. umieszczenie osobnych projektow w podkatalogach, ale też konieczność zmiany dyrektywy php_value include_path "/path/to/lib". Jakby nie mozna tego bylo załatwić przy pomocy stałej.


Tu się nie zgodzę. Konieczność przekierowania wszystkich żądań do pliku index.php wcale nie blokuje umieszczenia innych projektów w podkatalogach. W takim podkatalogu wystarczy umieścić plik .htaccess wyłączający mod_rewrite. Jeśli chodzi o zależność od mod_rewrite to autorzy ZF chcą uniezależnić framework od konieczności użycia pliku .htaccess, ale żadnych konkretów jeszcze w tej kwestii nie przedstawili.

Cytat(bigZbig @ 22.06.2006, 10:57 ) *
Zend_Controler - wymuszone jest umieszczenie wszystkich kontrolerow w jednym katalogu. Moim zdaniem nie sprzyja to budowaniu modularnych aplikacji, a w każdym razie uniemozliwia trzymanie wszystkich plikow danego modulu w jednym katalogu.


Póki co działa to przy założeniu, że klasa jest kontrolerem a jej metoda akcją. Niedługo ma być tu większa dowolność np. aby traktować katalogi jako kontrolery a pliki w tych katalogach jako akcje. Będzie na pewno możliwość wyboru. Jeśli chodzi o modularność czyli o jakieś pod-kontrolery to podejrzewam, że też będą.

Cytat(bigZbig @ 22.06.2006, 10:57 ) *
Adapter do baz danych zapowiada się ciekawie. Jeszcze nie testowalem, ale napewno wyprobuje


Testowałem tylko u siebie offline, ponieważ na serwerze coś nie do końca chce działać PDO. Wydaje się działać, jednak jest to jeszcze najbardziej zbugowany komponent.

Cytat(bigZbig @ 22.06.2006, 10:57 ) *
Zend_Filter jest prosty - zwykly zbior statycznych metod. Przydalby sie jakis sposob zarzazdzania poszczegolnymi testami. Kiedys nad czyms takim pracowalem. Trzymalem kazdy test w osobnej klasie oczywiscie implementujacej okreslony interfejs. Nie wiem czy to bylo najlepsze rozwiazanie, ale umozliwialo latwa rozbudowe bazy testow.

Zend_InputFilter - w takiej formie w jakiej to jest teraz to miom skromnym zdaniem jest to przyklad bezsensownej roboty. Po pierwsze mysle ze daloby sie to zrobic przy pomocy metody magicznej __call. Po drugie uzycie tej klasy ogranicza nas do przeprowadzenia tylko jednego testu na danej zmiennej.


Generalnie filtry są skonstruowane w taki sposób aby nie było konieczne przeprowadzanie kilku testów na jednej zmiennej. W większości przypadków filtry z tej klasy powinny wystarczyć. Jeśli chcemy przetestować coś niekonwencjonalnego, zawsze zostaje metoda isRegex($value, $pattern).
g00fy
imho w metodach "akcjach" w pozniejszym stadium rozwoju zenda beda uruchamiane klasy akcji tak jak w ez
Vengeance
A mnie sie Zend Fw dalej nie podoba :/ Klasy z samego pakietu na pewno się przydadzą... ale to nie same biblioteki czynią framework.
bigZbig
A mnie sie ZF zaczyna coraz bardziej podobac. Zgadzam sie, ze jest to (patrzac pod katem frameworka) rozwiazanie jeszcze ubogie i niestabilne jesli moge to tak nazwac, ale zapowiada sie ciekawie.
LBO
Wielkimi krokami zbliża się 0.6. Na SVNie ciągle coś się dzieje (ostatnio przenieśli kilka komponentów z ikubatora do głównej lokalizacji), a dokumentacja się rozrasta (nawet polska) i jest "w miarę" aktualna. Pojawiły się nawet komponenty, na które szczególnie czekałem [Zend_Acl, czy Zend_Registry (zintegrowany z klasą Zend)] chociaż brakuje mi Zend_Image (mam już własna klasę zbudowaną "w duchu" założeń frameworka. Było kilka propozycji wcześniej, ale czegoś im brakowało, z czym się zgadzam, i zostały odrzucone) oraz apletów.

Nadal nie widzę, tego niestety tego czegoś co by łączyło te biblioteki w całość - oczywiście, można to złożyć samemu, ale jednak >_> Patrząc na dokumentację i kody źródłowe, tym klejem może być Zend_Controller_Plugin: rejestrujesz Zend_Controller_Plugin_Acl i masz kontrolę dostępu, dalej Zend_Controller_Plugin_Session i aplikacja przestaje być bezstanowa etc.

Zauważyłem także ostatnio zainteresowanie tym frameworkiem na naszym forum i mam nadzieję, że tym postem reaktywuję chociaż na chwilę dyskusję na jego temat.

Pozdrawiam.

edit: Pisząc o Zend_Controller_Plugin napisałem, że MOŻE będzie on klejem, jeszcze trochę brakuje do wzorca FilterChain znanego z tylu innych frameworków.
athabus
Chętnie podyskutuję ;-)

Jest to pierwszy framework, który zamierzam wykorzystać - do tej pory korzystałem z pojedyńczych klas. Może dlatego podoba mi się idea ZF, że można wykorzystywać niektóre elementy. Bardzo ułatwia to naukę - można sobie po kolei dokładać do układanki kolejne klocki. Fakt faktem brakowało czegoś co będzie działoło jako 'klej' i to coś na dzień dzisiejszy trzeba sobie wypracować samemu.

To co najbardziej mi się podoba w ZF to, że w zasadzei można go wykorzystać z marszu. Na początku myślałem, że trochę potrwa jego nauka, ale dzięki dokumentacji już po jednym wieczorze można sklecić prostego bloga czy forum. Wszystko jest bardzo fajnie przemyślane i w większości nawet nie trzeba zaglądać do manuala, żeby wiedzieć jakie argumenty podać.

Sam manual. Cóż dziwi mnie, że ludzie go wcześniej krytykowali - pewnie po prostu miał więcej niedoróbek niż tera. Obecny manual jest na prawdę wystarczający na początek. Są w nim opisane prawie wszystkie wazniejsze elementy.

Na minus jak dla mnie działają tylko drobne błędy w manualu i nie zawsze aktualna dokumentacja API (sporadyczne przypadki). W porównaniu z innymi projektami dokumentacja i tak jest na 4+ a przecież to dopiero preview jest.

Minus obecnego ZF to na pewno wiele niestabilnych klas znajdujących się w inkubatorze, przez co ZF to jeszcze nie jest rozwiązanie do zastosowań produkcyjnych - przynajmniej nie do średnich projektów.

Już teraz jednak czekam na wersję 0.6 która ma być wydana niedługo - użyję jej w jednym projekcie. Mam nadziję, że po refactoringu bedzie możliwy uprade ZF :-) (pewnie się na tym przejadę tongue.gif )
LBO
Taak, mi też się bardzo podoba uniwersalność frameworka oraz wielorakość dostępnych komponentów. Nie można zaprzeczyć drzemiącemu potencjałowi tych bibliotek.

BTW. Czy nie uważacie, że ZF przydałby się autoloader?
athabus
sam sobie napisalem hehe ;-)

  1. <?php
  2. __autoload($class)
  3. {
  4.  Zend::loadClass($class);
  5. }
  6. ?>


oczywiście wcześniej trzeba dodać odpowiednią sciężkę do samego FW do include_path

Dziwi mnie tylko brak jednego komponentu - czegoś do pracy z obrazkami. Większosć FW, które oglądałem ma coś takiego.
dr_bonzo
Wez Image z ezComponents.
athabus
Cytat(dr_bonzo @ 11.12.2006, 11:47:52 ) *
Wez Image z ezComponents.

Jakoś nie mogę się do tej klasy przekonać - w zasadzie całe eZ mnie nie przekonuje. Niby wszystko jest dobrze napisane w sensie obiektowym i ma dobrą dokumentację, ale jakoś nie wychodzi mi korzystanie z tego. Na początku byłem zachwycony, ale przy zwykłych zadaniach eZ IMHO zbyt bardzo komplikuje rzeczy proste.
Do obrazków mam taką małą klasę z phpClasses - nie pamiętam teraz jej nazwy. Na razie wystarcza, bo głównie chodzi u mnie o proste operacje typu miniaturki. Chciałem raczej zobaczyć jak rozwiązaliby kwestię ludzie od ZF bo nie ukrywam, że ich podejście do tematu bardzo mi się podoba.
LBO
Cytat(athabus @ 11.12.2006, 09:48:52 ) *
sam sobie napisalem hehe ;-)

  1. <?php
  2. __autoload($class)
  3. {
  4.  Zend::loadClass($class);
  5. }
  6. ?>


oczywiście wcześniej trzeba dodać odpowiednią scieżkę do samego FW do include_path


Nie o to mi chodzi. Przeczytaj na na php PRO temat o tym i zrozumiesz. To co ty zaserwowałeś jest ograniczone w sumie do nazw klas w stylu PEAR (albo ZF jak kto woli tongue.gif). Chodzi mi o automat, tworzący mapę klas w plikach (nazwa klasy i ścieżka do pliku ją zawierającego), a __autoload() pięknie z tego ładuje. Może założyć wątek (issue) o tym na JIRA/wiki?

Cytat(athabus @ 11.12.2006, 09:48:52 ) *
Dziwi mnie tylko brak jednego komponentu - czegoś do pracy z obrazkami. Większość FW, które oglądałem ma coś takiego.


Czyli masz ten sam problem co ja miałem smile.gif Tutaj (jeden, dwa) masz dwie propozycję odrzucone przez developerów ZF. Musisz się ze mną zgodzić, że pomimo, że klasy nie są złe czegoś w nich nie ma - ducha ZF, tych szczególnych wzorców i sposobu myślenia jakie developerzy używają tworząc nowe komponenty.

Spróbuję później wrzucić swoje klasy (szkielety) i zobaczymy czy coś z tego wyjdzie.

Pozdrowienia Alan!
athabus
Myślałem że chodzi ci o same klasy ZF. Jeśli mówimy o wszystkich elementach typu klasy modelu itp. to faktycznie brakuje tego elementu. Ja mam taki "wynalazek" napisany samodzielnie. Zasada jest bardzo prosta. Jest klasa (singleton) Autoloader. Ma ona zmienną $arPath - która zawiera scieżki do zdefiniowanych katalogów. Wywoływana jest przez __autoload. Jeśli klasy używa się po raz pierwszy to Autoloader szuka jej w katalogach z $arPath. Wszystko następnie jest zapisywane do tablicy klasa=>sciezka i serializowane do pliku. Przy następnych uruchomieniach danej klasy dane są już brane z pliku. Jeśli zmienię lokalizacje pliku to autoloader sam usuwa plik i tworzy go od nowa. Ogólnie rozwiązanie proste i nie wnosi nic nowego do tematu, ale działa :-)

Jak sobie teraz tak myślę to faktycznie jest to trochę dziwne, że takiego komponentu nie ma... pewnie szybko się pojawi.

Co do klas "obrazkowych" to ich API wygląda całkiem przyjemnie... Po prostu chyba zabrakło im trochę "finezji" ;-) No ale IMO mogły by być.

PS. Co do wątku autoloadera to wątek na wiki mógłby być fajny - pamiętam jak ja napisałem pierwszego autoloadera to cieszyłem się jak dziecko, że nie muszę wszędzie pisać include ;-)
ARJ
nie wiem czy wiecie ale pojawił się Zend Framework 0.6.0.
co prawda myślałem, że ACL i Session będą już w wersji stable, a one są nadal w inkubatorze ale i tak jest dobrze. dokumentacja dobra i nawet jest opis migracji z 0.2.0 na 0.6.0.

Changelog:
Cytat
=RELEASE 0.6.0 / 16-Dec-2006=
- Zend_Acl: new architecture (incubator).
- Zend_Auth: new component (incubator).
- Zend_Cache_Backend_ZendPlatform: new class (incubator).
- Zend_Console_Getopt: new component (incubator).
- Zend_Db_Adapter_Oci: new database adapter.
- Zend_Gdata: new component integrated into core library.
- Zend_Http_Client: new architecture, cookie support.
- Zend_Http_Client: proxy server support (incubator)
- Zend_Http_Server: new tool (incubator).
- New I18N components Zend_Date, Zend_Locale, Zend_Measure (incubator).
- Zend_Mail_Folder: new component (incubator).
- MVC: improvements, documentation, moved to core library.
- Zend_Registry: improvements, moved to core library.
- Zend_Search_Lucene: new search query language, many improvements.
- Zend_Service_Simpy: new component (incubator).
- Zend_Session: new implementation (incubator).
- Zend_TimeSync: new component (incubator).
- Zend_Uri: new documentation.
- Zend_XmlRpc_Client,Server: improvements, documentation, moved to core library.
- Many improvements to documentation and testing coverage.
- 135 issues resolved; for a detailed list, see the changelog
in the issue tracker at http://framework.zend.com/issues
MichalGacki
Cytat(acztery @ 1.06.2006, 22:19:21 ) *
nic nadzwyczajnego. parę sekund oglądanie i wyrobiłem sobie zdanie np.

klasa do wysyłania maili

  1. <?php
  2. class Zend_Mail_Transport_Sendmail implements Zend_Mail_Transport_Interface
  3. {
  4. public function sendMail(Zend_Mail $mail, $body, $headers)
  5. {
  6. /**
  7.  * @todo error checking
  8.  */
  9. mail(join(',', $mail->getRecipients()), $mail->getSubject(), $body, $headers);
  10. }
  11. }
  12. ?>


co to za badziew ? nie wiem kto by tego uzywal jak za pomoca pear mozna 100 razy wiecej.

Kolega ma rację - klasa zawierająca jedną funkcję, w dodatku taką, która przekazuje parametry do funkcji mail to nieporozumienie. Widzę jeszcze getRecipients() - myślę, że to może być tablica userów, tylko że mail nie obsługuje tablic maili...


Co do filmiku - ciekawy, ale php idąc w taką stronę tylko się spowolni. Ja rozumiem - programowanie w Visualu pod Windowsa, Linuxa, ale nie pod strony WWW i to w dodatku w php! O optymalizacji już nikt nie myśli...
Co jak co, ale my w Polsce jeszcze nie mamy serwerów dla osób prywatnych, które utrzymałyby stronę przy setkach tysięcy odsłon dziennie na czymś takim, no "bez jaj" panowie.

To by było dobre jako składnik php jak już koledzy wcześniej wspomnieli. W każdym razie może za wcześnie na opinie, aczkolwiek nie powinno się wystawiać wersji skończonej w 1/3 czy jakiejś alfa, bo po co tylko ludziom na złość robić, żeby o sobie przypomnieć?
NuLL
Cytat
Kolega ma rację - klasa zawierająca jedną funkcję, w dodatku taką, która przekazuje parametry do funkcji mail to nieporozumienie. Widzę jeszcze getRecipients() - myślę, że to może być tablica userów, tylko że mail nie obsługuje tablic maili...

Zend Frameworka nie lubie - ale zadam dwa pytania winksmiley.jpg
-> kolega widzi funkcje join() ?
-> kolega wie cos nt programowania obiektowego i programowania wiekszych aplikacji badz ich szkieletow ?
LBO
Trafiłem przypadkiem na framework'a Solar. I małe zaskoczenie, pod wieloma względami przypomina ZF. Pod bardzo wieloma, a ku sprostowaniu ZF przypomina Solar (S. wg jego autora, datuje się na rok przed powstaniem ZF).

Poszperałem trochę i znalazłem to. Podobieństwa, pomimo umniejszania Ich znaczenia są ogromne.
Co do różnic: implementacja różna.. ale... założenia znów się pokrywają.

Któryś z głównych kontrybutorów ZF musi/musiał być bardzo oczarowany Solar'em.

edit:
Prócz bardzo wczepionej we framework i jego komponenty klasie bazowej Solar, framework ten ma kilka rzecz, które można z powodzeniem uznać za "klej" (o którym pisałem wcześniej, że w ZF go brakuje) m. in. Solar_App_*. Autor stworzył (ma zamiar stworzyć) kilka bibliotek, które są gotowymi aplikacjami.

Podoba mi się Solar.
athabus
Cytat(MichalGacki @ 18.12.2006, 22:35:26 ) *
W każdym razie może za wcześnie na opinie, aczkolwiek nie powinno się wystawiać wersji skończonej w 1/3 czy jakiejś alfa, bo po co tylko ludziom na złość robić, żeby o sobie przypomnieć?

Nie wiem czy przeczytałeś dokładnie info o ZF ale to jest wersja przeznaczona jedynie do testowania. Nikt z teamu nie twierdzi, że ten framework jest już gotowy do rozwiązań produkcyjnych, choć IMHO da się na nim juz parę fajnych rzeczy zrobić.
Wydaje mi się, że w projektach OS jest normą, że wszystko jest dostępne jeszcze przed wydaniem wersji 1.0 dla testerów - dzięki temu można korygować wszystko o wymagania społeczności i ich uwagi.

PS. ZF może Ci się nie podobać, ale mówienie że jest to fuszerka po obejrzeniu źródła jednej klasy to przesada. Nie jestem znawcą php ale po pobieżnym obejrzeniu kodu mogę stwierdzić, że jest on bardzo fajnie napisany.
Pominę już fakt, że chyba nie do końca zrozumiałeś sposób w jaki wysyła się maile w ZF - ale wszystko znajdziesz w manualu. Trochę mnie zdziwiły Twoje słowa, zajrzałem więc do manuala i już po 3 minutach wiedziałem, że nie masz racji.

ARj Też czekałem na te dwa komponenty, bo chciałem użyć ich w jednej aplikacji... I teraz mam problem czy ich używać z Inkubatora czy nie... Boję się, że zmieni sie API albo co gorsze, logika ich działania i będzie dużo przeróbek koniecznych potem.
dr_bonzo
Cytat
ARj Też czekałem na te dwa komponenty, bo chciałem użyć ich w jednej aplikacji... I teraz mam problem czy ich używać z Inkubatora czy nie... Boję się, że zmieni sie API albo co gorsze, logika ich działania i będzie dużo przeróbek koniecznych potem.

1. tak wczesnych wersji nie uzywa sie w systemach produkcyjnych
2. a jak juz uzywasz to godzisz sie na zmieniajace sie API

--
Cytat
Kolega ma rację - klasa zawierająca jedną funkcję, w dodatku taką, która przekazuje parametry do funkcji mail to nieporozumienie. Widzę jeszcze getRecipients() - myślę, że to może być tablica userów, tylko że mail nie obsługuje tablic maili...

cd. NuLLa:
a od kiedy to wyznacznik liczby linii kodu jest wyznacznikiem jakosci klasy? Ta klasa ma wysylac maile sendmailem (lub odpowiednikiem) i tyle. I robi to. Poza tym mail() jest wrzucone w klase po to zebys mogl wymieniac transport mailowy (polimorfizm, fabryki itd), powiedzmy ze chcesz przerzucic sie z maila() na logowanie sie do POP3 i wysylanie maila i co robisz? szukasz w kodzie wszystkich wystapien mail() zamieniasz na kod obslugi pop3, dobrze bedzie gdy zamienisz 100% wystapien i nie bedziesz musial tego znowu robic; dochodzi jeszcze przekazywanie parametrow polaczenia itd. A gdy masz obiekt Transportu Mailowego -- wystarczy utworzyc obiekt innej podklasy i reszta kodu pozostaje bez zmian.
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-2025 Invision Power Services, Inc.