Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Frameworki _ Wybór Frameworka.

Napisany przez: Lk_hc 27.06.2008, 11:48:43

Witam, jestem początkującym, raczej mało znającym inżynierie oprogramowania, koderem. Ostatnimi czasy zagłębiam się w temat Frameworków. Chciałbym abyście poradzili mi jakiego Frameworka wybrać do nauki i wydajnego tworzenia aplikacji z naciskiem na naukę. Chciałbym środowiska które nie robi wszystkiego za mnie, daje dużo wolnej ręki a jednocześnie jest przejrzyste. Zależałoby mi na tym aby było do niego dostępnych trochę polskich tutoriali (niekoniecznie polska dokumentacja ale byłoby super).

Przyglądałem się już ZF ( heavymind ) oraz phiendowi i artom na jego temat na php.pl, wydaje mi się że oba w pewnym stopniu mi nie pasują, cakePhp wydaje się mało rozbudowany. Co możecie poradzić?

Napisany przez: mike 27.06.2008, 11:49:58

Ja radzę przejrzeć forum bo takich wątków było już wiele.
I nie ma sensu specjalnie dla Ciebie wałkować tego samego setny raz.

Napisany przez: Lk_hc 27.06.2008, 11:59:35

Przeglądnąłem trochę i widzę że większość wątków to problemy związane z konkretnymi platformami. Poza tym na takim forum jak to, temat taki jak mój powinien być podwieszony jeśli był i był pomocny.

Napisany przez: kwiateusz 27.06.2008, 12:05:12

Imo jednym z lepszych jest Symfony, jak nie będziesz wykorzystywał całego potencjału cli to pkt. dot. tego zeby fw nie robł wszystkiego za Ciebie bedzie spełniony.

Jeśli chcesz robic wszystko sam od a do z to ZendFramework bo to tylko zbiór klas które musisz poskładać do kupy i używać.

Z lżejszych np Kohana, poskładane do kupy, ale prawie wszystko piszesz sam (nie liczac helperów itp.)

Do wyboru jest jeszcze bodaj Agavi (nie używałem)

Napisany przez: LBO 27.06.2008, 12:24:05

Cytat(kwiateusz @ 27.06.2008, 13:05:12 ) *
Do wyboru jest jeszcze bodaj Agavi (nie używałem)


Używam Agavi na codzień i jestem bardziej niż zadowolony: świetna architektura, duża elastyczność (jednak z naciskiem na sprawdzone już wzorce i schematy), kilka wbudowanych zajebistych rozwiązań tj. PopulationFormFilter, integracja z natywnymi sterownikami baz danych (mySQL, SQLite, PDO etc.) jak i ORMami (Propel, Doctrine)... ALE niestety dokumentacja leży i dla kolegi to nie bedzie przydatne, chyba, że chce na początku przegryzać się przez źródła.

Pozdrawiam, Alan

Napisany przez: Cysiaczek 27.06.2008, 12:43:17

Kohana - działa i ok, ale jako wzór do nauki? Nie.
Zend !Framework - ale ponoć ma kilka ciekawych rozwiązań
Agavi - dzisiaj słyszałem, że po RoRowcach, to najbardziej bojowo nastawiona społeczność - ludzi biją na konferencjach, czy coś... tongue.gif

Moja sygnaturka smile.gif

Pozdrawiam.

Napisany przez: normanos 27.06.2008, 13:29:39

Cytat(Cysiaczek @ 27.06.2008, 11:43:17 ) *
Kohana - działa i ok, ale jako wzór do nauki? Nie.

nie, bo co? znowu głupi flejm? też tak umiem: symfony bym kijem nie tknął ;P

Napisany przez: LBO 27.06.2008, 13:39:23

Hmmm, Kohana wygladała ciekawie - ma po prostu zupełnie odmienna wewnetrzną architekturę o tego co można spotkać na rynku. ale/// kijem bym nie tknął tongue.gif

Napisany przez: mike 27.06.2008, 13:44:49

~normanos masz bota napisanego? Bo jak tylko ktoś gdzieś napisze, że nie poleca Kohany to przylatujesz i plujesz się dookoła.
Autor zapytał o opinię i ~Cysiaczek swoją wyraził. Że nie poleca Kohany do nauki.

Flejm Ty tworzysz.

~Cysiaczek chyba musisz zmienić czołówkę wojowniczych plemion. Proponuję: 1. RoRowcy, 2. normanos, 3. Agavi, .....

Napisany przez: normanos 27.06.2008, 14:09:13

@mike: mógłbym to samo napisać o tobie: ja coś napisze to od razu zlatujesz się odgryźć, na szczęście mam sporo dystansu do siebie i nawet mnie to bawi winksmiley.jpg

a merytorycznie: "nie bo nie" to dla mnie za mało więc zapytałem z ciekawości o argumentację.

ps. 1. RoRowcy 2. Symfoniarze, zdecydowanie, widać to choćby na tym forum winksmiley.jpg Kto nie używa Sym-'Hummer'-fony jest przeciwko nam winksmiley.jpg

@Lk_hc: w zasadzie do wyboru masz 5:

cakePHP
CodeIgniter
KohanaPHP
Symfony
ZendFramework

2 pierwsze skreślasz ze względu na używanie nie supportowanych wersji PHP. Zostają Ci 3 FW z których KAŻDY reprezentuje inną filozofię tworzenia aplikacji. Wchodzisz na strony, przeglądasz dokumentacje, przykłady i wybierasz ten, który jest najbliżej TWOJEJ filozofii pisania. Nie ma uniwersalnych rozwiązań, albo rybki albo akwarium.

Napisany przez: LBO 27.06.2008, 14:14:42

Pomimo w/w przezemnie powodów boli mnie jak Agavi jest pomijane :////

Napisany przez: kwiateusz 27.06.2008, 14:16:54

nie kazdy ma tyle samozaparcia zeby po źródłach szukać, mi sie czesto manuala/dokumentacji nie chce przegladac, a co mowic o szukaniu bez jakiegoś kierunkowskazu smile.gif

Napisany przez: mike 27.06.2008, 14:20:39

Cytat(LBO @ 27.06.2008, 15:14:42 ) *
Pomimo w/w przezemnie powodów boli mnie jak Agavi jest pomijane :////
Jest takie powiedzenie: Informacja, której nie da się znaleźć, nie istnieje.
Nie dziw się, że nikt nie chce korzystać z frameworka, do którego nie ma żadnej dokumentacji.

Napisany przez: LBO 27.06.2008, 14:27:13

Mam nadzieję, że się to w końcu zmieni - jak narazie cieszę sie wygodą pracy w tym frameworku.
Czas zainwestowany w jego poznanie procentuje.

Napisany przez: mike 27.06.2008, 14:27:14

Cytat(normanos @ 27.06.2008, 15:09:13 ) *
cakePHP
CodeIgniter
KohanaPHP
Symfony
ZendFramework

2 pierwsze skreślasz ze względu na używanie nie supportowanych wersji PHP. Zostają Ci 3 FW z których KAŻDY reprezentuje inną filozofię tworzenia aplikacji. Wchodzisz na strony, przeglądasz dokumentacje, przykłady i wybierasz ten, który jest najbliżej TWOJEJ filozofii pisania. Nie ma uniwersalnych rozwiązań, albo rybki albo akwarium.
Po tym jak zostaną Ci trzy zastanów się kto Ci pomoże jeśli będziesz miał problem. Zmierz sobie wtedy popularność frameworków, ich rozwiązań i porównaj istniejące społeczności. W końcu szukasz czegoś do nauki.
http://www.google.com/trends?q=Kohana%2C+Symfony%2C+Zend+Framework
Jak widzisz Kohana to bardzo mało popularne rozwiązanie.


Zostaje Ci Zend Framework i Symfony.

Napisany przez: kwiateusz 27.06.2008, 14:29:07

Pozwoliłem sobie przykleić dla przyszłych pokoleń smile.gif

Napisany przez: normanos 27.06.2008, 14:34:27

no tak, to wybierzmy za owego "każdego", dajmy wafelka i pogłaszczmy po główce? winksmiley.jpg Jakieś minimum wkładu własnego chyba by się przydało? winksmiley.jpg Jeżeli ktoś nie jest w stanie sam wybrać sobie FW to co będzie jak nadejdzie pierwszy problem? winksmiley.jpg A znowu nie ma tego tak wiele, w zasadzie tylko 3 (LBO, okej, 4 ;P) liczące się, jako, że każdy to coś zupełnie innego to chyba można dosyć szybko się zorientować, choćby METODĄ ELIMINACJI, co nam pasuje.

Parę lat temu miałem wybór: cakePHP, CI, Symfony i Prado. Najpierw skreśliłem Symfony, potem Prado i CI. Został wtedy cakePHP w którym napisałem parę drobnostek i jeden większy serwis i wtedy miałem już dosyć tych wszystkich ograniczeń. Musiałem ponowić wybór, do listy doszedł wtedy ZendFramework i Rapide. Z Rapide widziałem ciekawą przyszłość ale czas brutalnie to zweryfikował. ZF jest b. ciekawym zbiorem klas ale składanie tego w kupę to 'pain in the ass'. Nie było wyjścia CI: i tu napisałem NAJWIĘCEJ I NAJSZYBCIEJ. Projekt za projektem, wysoka wydajność, możliwość dołączenia wszystkiego (nawet klas ZF) i niczym nieograniczona moja kreatywność winksmiley.jpg Niestety czas mijał a CI z swoimi wadami stał w miejscu. Na szczęście znalazło się więcej osób, które to zauważyły i w taki sposób powstała KohanaPHP, najpierw jako fork, potem jako zupełnie nowy, niezwiązany projekt z CI, z którym co najwyżej dzieli filozofię tworzenia. KISS. Prościej i szybciej już być nie może. winksmiley.jpg

Napisany przez: mike 27.06.2008, 14:39:28

~normanos to prawda. Masz rację.
~Lk_hc to nie jest tak że my sobie tu pogadamy i za kilkanaście postów padnie wyrok: bierz symfony, czy bierz kohanę. Ty zainstalujesz i świat stanie się piękniejszy.
Musisz sam przetestować co Ci pasuje. Bo niby jak będziesz wiedział, że wybrałeś najlepszą dla siebie opcję skoro nie poznasz niczego innego?

Napisany przez: Cysiaczek 27.06.2008, 14:39:31

Już pisałem na blogu, że niektóre rzeczy mnie śmieszą w Kohanej. nawet ktoś mi odpisał, że to beta, że niektóre rzeczy będą poprawione... a ja dalej nie widzę, żebym mógł sobie normalnie używać obiektu View, dalej główna klasa Kohana służy do wyszukiwania plików... Dlatego uważam, że dla celów szkoleniowych jest to zły framework, bo analiza jego kodu dostarcza momentami niezłej rozrywki. Nie chodzi o to, ze SF jest jakoś wybitnie napisana, bo ma swoje wady, przy czym Kohana nie ma nawet 20% funkcjonalności SF.
Nie umniejszam temu, że wygodnie się w tym FW pisze smile.gif

Pozdrawiam.

Napisany przez: normanos 27.06.2008, 14:45:20

Cytat(mike @ 27.06.2008, 13:27:14 ) *
Po tym jak zostaną Ci trzy zastanów się kto Ci pomoże jeśli będziesz miał problem. Zmierz sobie wtedy popularność frameworków, ich rozwiązań i porównaj istniejące społeczności. W końcu szukasz czegoś do nauki.
http://www.google.com/trends?q=Kohana%2C+Symfony%2C+Zend+Framework
Jak widzisz Kohana to bardzo mało popularne rozwiązanie.
Zostaje Ci Zend Framework i Symfony.

Tak, to jest dosyć istotna składowa wyboru! Nie mniej jeżeli chodzi o Kohanę to jak pokazuje powyższy wykres jest to NOWY projekt więc trudno, żeby przebił pozostałe dwa (i mam nadzieję, że nie wejdzie w mainstream). To raz.

Dwa: jest całkiem dobrze działające POLSKIE forum, jest BARDZO aktywne forum angielskie (główne), a od kilku dni trwa integracja lokalnych serwisów w jeden (=> kohanaphp.pl w momencie pisania jeszcze nie wszystko działa).

Trzy: dla mnie najważniejsze... nawet dev Kohany podkreślają, że to NIE jest fw dla wszystkich i NIE będzie szedł w mainstream.

Tak więc jeżeli ktoś musi mieć tutorial za rączke jak w 14 dni zrobić askeet to niech NIE WYBIERA KOHANY! Dokumentacja jest do poprzedniej (aktualnej oficjalnie) wersji, nowa 2.2SVN takiej nie ma i na razie trzeba się samemu orientować.

Napisany przez: radex_p 27.06.2008, 14:51:54

Z Kohaną nie ma takiego problemu, jeśli zna się już trochę Code Ignitera. Cała reszta to dokumentacja.

Napisany przez: normanos 27.06.2008, 15:04:22

pytanie w celu szkoleniowym: jak się normalnie używa obiektu view?

---
Mnie osobiście nie interesuje poznawanie idealnej struktury FW i używanie FW jako materiału szkoleniowego. Ja mam robotę do wykonania, nie jestem na studiach i nie przygotowuje się do zaliczenia winksmiley.jpg To też jedna ze składowych wyboru FW dla siebie: POTRZEBY.

ps. uzupełnienie wykresu:
http://www.google.com/trends?q=Kohana%2C+Symfony%2C+Zend+Framework%2C+cakephp%2Ccodeigniter&ctab=0&geo=all&date=all&sort=1

Napisany przez: Cysiaczek 27.06.2008, 15:08:05

No ok, nie jest to FW dla wszystkich. Piszesz, że najszybciej kodujesz w Kohanej i że szybciej się nie da. To nie do końca jest prawda. W Symfony możesz w 15 minut zbudować model, wygenerować podstawowy backend i masz naprawdę mocne podstawy do rozwoju. Ja się ciągle uczę SF, ale już teraz znając ograniczenia - generuję co się da, a potem tylko przestawiam co nieco w widoku, ewentualnie dodam komponent lub partiala i wszystko śmiga. Wielojęzykowość? Praktycznie do dodania na każdym etapie projektu, więc nie trzeba sobie nią głowy specjalnie zawracać. kolejna rzecz - analiza żądania - jest web_debug, który pokazuje wydajność, cache, ilość zapytań do bazy (i ich treść). Widok - poza standardem - w SF są sloty, które zapewniają maks elastyczności przy wypełnianiu layoutu - zdefiniowany slot w jednym miejscu szablonu, można w każdej chwili dynamicznie zastąpić innym kodem. Kodując w SF czuję, że framework daje mi wsparcie prawie we wszystkim. To, ze nie zawsze jest ono doskonałe? Coż, takie jest życie smile.gif

Pozdrawiam.

--edit
Normalnie? Proszę

  1. <?php
  2. $view=new View('file');
  3. $view->zmienna='ble';
  4. if(!$costam)
  5. {
  6. $view->setFile('inny_plik'); // tej metody nie ma w Kohanej, co jest skandalem!
  7. }
  8. // itp.
  9. ?>


W Kohanej

  1. <?php
  2. $view=new View('file');
  3. $view->zmienna='ble';
  4. if(!$costam)
  5. {
  6. $view2=new View('inny_plik');
  7. }
  8. // albo przepiszemy zmienne z obiektu $view do $view2, albo ustawimy je od nowa...
  9. i to jest rozs&#261;dne?
  10.  
  11. // itp.
  12. ?>


Jasne, że da się to obejść wypełniając obiekt na końcu, ale czy naprawde cięzko było dać jakiś obiekt VarHoldera? To nie jest bzdura, to powoduje, że FW staje się kulą u nogi

Pozdrwiam.

Napisany przez: normanos 27.06.2008, 15:32:11

Mnie nie musisz ewangelizować, jestem twardym elektoratem niesamowicie zadowolonym ze 'swojego' FW. Żaden inny nie daje mi takiej swobody działania, nie każe mi uzywać ORM, konfigurować w xml, bawić się cli, robić miliona plików konfiguracyjnych itd. winksmiley.jpg Sf NIE jest dla mnie i tyle. Koniec. Kropka winksmiley.jpg Dobrze Ci się pisze? Świetnie! I to jest clue dyskusji "jaki FW?" winksmiley.jpg

Chyba Cie nie zrozumiałem. Chcesz zastąpić widok innym?

  1. <?php
  2. $view=new View('file');
  3. $view->zmienna='ble';
  4. if(!$costam)
  5. {
  6. $view->set_filename('inny_plik');
  7. }
  8. ?>

kulą u nogi? mocna przesada, jeszcze na taki problem nie natrafiłem winksmiley.jpg

Napisany przez: Cysiaczek 27.06.2008, 15:41:09

Aż zainstalowałem, żeby sprawdzić

Cytat
Fatal error: Call to undefined method View::set_filename() in /usr/local/apache2/htdocs/kohana/application/controllers/welcome.php on line 15


Cytat
Array
(
[0] => factory
[1] => __construct
[2] => set
[3] => bind
[4] => set_global
[5] => __set
[6] => __get
[7] => __toString
[8] => render
)

Wiem, że to już nudne smile.gif

Napisany przez: normanos 27.06.2008, 15:42:24

SOA#1 może nie ma tej metody w poprzedniej wersji? nie wiem, nie grzebie w archiwum winksmiley.jpg

http://trac.kohanaphp.com/browser/trunk/system/libraries/View.php

Napisany przez: LBO 27.06.2008, 15:48:25

Wiecie co, wydaje mi się, że takie bzdeciki nie koniecznie ważą o przydatności frameworka - zwykłe czepianie się.

  1. <?php
  2. $view=new ProjectView('file');
  3. $view->zmienna='ble';
  4. if(!$costam)
  5. {
  6. $view->setFile('inny_plik'); // tej metody nie ma w Kohanej, co jest skandalem!
  7. // teraz już jest!
  8. }
  9. // itp.
  10. ?>

O frameworku decyduje jego architektura, a także podatność na modyfikacje. Więc to nie jest miejsce na kłótnie, czy dana metoda jest, czy jej nie ma.

Napisany przez: Cysiaczek 27.06.2008, 16:06:09

@normanos - też tak myślałem, ale mam stable, ze strony http://kohanaphp.com/download.html i tej metody nie ma.
@LBO - ale to istotne jest, bo owszem, rozszerzać sobie można, ale pewne rzeczy są tak oczywiste, że ich brak poważnie potrafi zniechęcić, na starcie.
Ale racja - nie ma co dyskutować nad zaginiona metodą smile.gif

Pozdrawiam.

Napisany przez: normanos 27.06.2008, 16:17:50

Może komuś ta informacja się przyda:

numeracja w Kohanie oznacza tyle, że:

2.x - wersje pełne gdzie mogą zachodzić istotne zmiany w API
2.1.x - tylko poprawki pełnej wersji

tym sposobem obecnie do pobrania jest 2.1.2 czyli poprawiona wersja 2.1 z lutego br.
a 2.2 SVN przez tyle miesięcy zdążyło się zmienić trochę rzeczy.

Dokumentacja jest zawsze do ostatniej stabilnej wersji.

Napisany przez: batman 27.06.2008, 17:08:59

A ja się wstawię za ZF. Jak już zostało to wspomniane, nie jest to framework pełną gębą, a zbiór luźno powiązanych klas. I dlatego właśnie ZF jest, moim zdaniem, bardzo dobrym frameworkiem (nie piszę najlepszym, bo zaraz zacznie się dyskusja masło vs margaryna). Korzystasz tylko z tego, co jest Ci w danym momencie potrzebne. Frameworka tego zacząłem używać dopiero od wersji 1.5 i od razu rzuciły mi się w oczy dwie rzeczy - Zend_Layout i Zend_Form. Na szczęście nie miałem przyjemności pracować na starszych wersjach, więc nie wiem dokładnie ile ZF zyskał na dodaniu tych funkcjonalności. Niemniej jednak są to dwa bardzo duże ułatwienia dla programisty (oczywiście wymagają one poświęcenia trochę czasu na zrozumienie).

Napisany przez: LBO 27.06.2008, 20:43:33

@batman, nikt nigdzie ni napisał, że ZF to szajs. Większość modułów jest bardzo przydatnych - tylko z doświadczenia wiem, że te jego MVC o kant dupy można potłuc. To co dostaję out-of-box w innych frameworkach tutaj sam muszę sobie stworzyć.
I ta dowolność - może i fajna sprawa, ale co oglądam projekt oparty o ZF to zupełnie inaczej wygląda. Przykład: w jednym proj. konfiguracja ładowana z osobnych pików, w innym z jednego dużego, a w jeszcze innym wszystko ustawiane w bootstrapie. I nie zawsze to jest podyktowane jakimiś względami, czy to szybkości, czy (sic!) czytelności.
Wolę jak framework załatwia za mnie sprawę - obym tylko wiedział jak to jest przeprowadzane (czyli źródełka panowie) i tak w Agavi konfiguracja odbywa się rzez logicznie rozdzielone pliki XML (z dodanymi XSD, więc podpowiadanie składni jak najbardziej dostępne) i cachowane do kodu PHP.

Wiem, że to drobny wycinek tego co frameworki oferują, ale reprezentatywny.

Stawianie czegoś w ZF to Ból, bo generalnie trzeba dopiero frameworka sobie napisać. Natomiast używanie poszczególnych komponentów - jak najbardziej tak.

Pozdrawiam, Alan

Napisany przez: batman 27.06.2008, 20:51:08

W ramach nauki ZF postanowiłem napisać spory projekt. Muszę przyznać Ci rację, że możliwość napisania tego samego na kilka sposób jest raczej irytująca niż pomocna. Mam jednak takie dziwne wrażenie, że ZF pisany był pod kątem jakiegoś IDE, a raczej RAD i stąd taka dowolność.
Jak na razie wygodnie mi się na ZF pracuje (uczy).

Napisany przez: LBO 27.06.2008, 21:08:25

Problem w tym, że developerzy ZF wzięli sobie za bardzo do serca, tą dowolność, więc wszelkie prośby o pewien standard, usystematyzowanie są wyrzucane do kosza.
Widziałem kiedyś propozycje Zend_Application (albo Zend_Bootstrap), w którym faktycznie, by cos takiego było i... cisza.

Jako kolejny przykład podam wzorzec filter chain , którego w ZF pełnią funkcję pluginy frontcontrollera. Szlak mnie trafia jak widzę cała masę pluginów konfigurowanych (co jest standardem przekazanym przez manuala) w bootstrapie. Chciałem mieć pewnego razu dynamiczne ich ładowanie, więć napisałem własny plugin do ładowania pluginów z konfigu i? Nie dało rady - nie pamietam co dokłdnie to było, ale coś ze złym indeksowaniem filtrów w wewnętrznej tablicy frontcontrollera (były dodawane jak chciały, co utrudniało sprawę). Zgłosiłem to nawet w http://framework.zend.com/issues/browse/ZF-2204, ale odłożyli to na później, bo nie wiedza jak to naprawić smile.gif Nie wspominam, o predefiniowanych pluginach np. do Layoutu, ale też coś nie tak, jeden na 100-nym indeksie, drugi 99-tym, a inny na 1000-nym smile.gif
Generalnie w pewnym momencie zrobiła się padaka.

Pozdrawiam, Alan.

Napisany przez: normanos 27.06.2008, 22:35:09

tak na prawdę ZF powinien się nazywać ZEND COMPONENTS winksmiley.jpg dobrze, że te klasy bardzo milutko się integrują z Kohanką winksmiley.jpg

Napisany przez: LBO 27.06.2008, 22:47:13

normanos: większość rzeczy milutko się integruje z ZF, tutaj wielki plus dla developerów.

Napisany przez: Lk_hc 29.06.2008, 22:06:35

Symfony ściągnąłem i próbuje wystartować, ale z tego co piszecie to do nauki projektowania aplikacji dobry mógłby być ZF, ponieważ nie narzuca z góry ustalonego schematu/filozofii programowania i można sobie ją wyrobić samemu...

Napisany przez: radex_p 29.06.2008, 22:10:34

Cytat(Lk_hc @ 29.06.2008, 23:06:35 ) *
nie narzuca z góry ustalonego schematu/filozofii programowania i można sobie ją wyrobić samemu...


I w tym może być problem. Można sobie wyrobić bardzo zły sposób programowania, a potem propagować go na niekorzyść innych.

Napisany przez: batman 29.06.2008, 22:16:59

Cytat
I w tym może być problem. Można sobie wyrobić bardzo zły sposób programowania, a potem propagować go na niekorzyść innych.
Niekoniecznie. ZF daje sporą dowolność programiście, ale nie tak dużą, by tworzyć śmietnik. Osobiście bardzo mi odpowiada to, że nie muszę sztywno się trzymać reguł przechowywania plików.

Napisany przez: normanos 30.06.2008, 12:07:46

CI zrobił dużo złego w tym temacie bo nawet w manualu i tutorialach propagowali takie piekne rozwiązania jak pobieranie danych w C (do dzisiaj znam osoby, które mają tylko C i V winksmiley.jpg ) lub mieszanie widoku i modelu w kontrolerze tongue.gif

Napisany przez: LBO 30.06.2008, 12:20:25

To nie CI, a RoR...
Tam kontrolery/akcje moga siegać kilkuset linijek smile.gif

Napisany przez: normanos 30.06.2008, 12:25:28

co ma RoR do używających CI ?!?

Napisany przez: LBO 30.06.2008, 12:28:33

RoRowe podejcie do MVC, a dokładnie ActiveRecord zastepujacy model. Zainfekowało bardzo dużo frameworków zainspirowanych RoRem.

Napisany przez: normanos 30.06.2008, 16:32:13

CI jest ostatnim FW którego bym o takie rzeczy posądzał winksmiley.jpg prędzej cake...

Napisany przez: LBO 30.06.2008, 16:43:45

Cytat(normanos @ 30.06.2008, 17:32:13 ) *
CI jest ostatnim FW którego bym o takie rzeczy posądzał winksmiley.jpg prędzej cake...


zwracam honor, faktycznie (sprawdziłem biggrin.gif) CI ma wyraźnie oddzielony, niewyspecjalizowany, model. Ale to co pisałeś o dokumentacji - wywodzi się z RoR.

Napisany przez: radex_p 30.06.2008, 16:59:00

Cytat(normanos @ 30.06.2008, 13:07:46 ) *
CI zrobił dużo złego w tym temacie bo nawet w manualu i tutorialach propagowali takie piekne rozwiązania jak pobieranie danych w C (do dzisiaj znam osoby, które mają tylko C i V winksmiley.jpg ) lub mieszanie widoku i modelu w kontrolerze tongue.gif


Ja znam osobę, która w swoim CMS-owym pseudo-MVC ma tylko M i V. Rzeczy przypisane normalnie do C idą po części do M, a po części do V.

Napisany przez: -=Peter=- 1.07.2008, 15:14:29

Mam pytanie odnośnie frameworka symfony (nie chciałem zakładać "niepotrzebnie" nowego tematu, więc tutaj piszę).

Czy jest w sf jakiś input filter? Na początku myślałem że convertery definiowane w plikach walidacji są odpowiedzialne za filtrowanie danych wejściowych, ale dowiedziałem się że mają jednak inną funkcję (filtrują tylko dane zwrotne do formularza...). Kiedyś przeglądałem kod ZF i tam się natknąłem na klasę input filtra (odpowiedzialną za filtrowanie oraz walidację). Może da się convertery jakoś uaktywnić, aby działały jako input filter do filtrowania danych z formularza, przeznaczonych do wpisania w bazę danych? Dopiero od niedawna czytam dokumentację sf i coś w sf robię, więc proszę o wyrozumiałość smile.gif

PS. Wiem też, że w pliku konfiguracyjnym jest opcja escaping_strategy oraz escaping_method, ale to działa tylko do filtrowania danych przed wyświetlenim widoku, a nie przed zapisaniem do bazy danych...

z góry dzięki za wyjąśnienia i wskazówki smile.gif

Napisany przez: mike 1.07.2008, 15:17:05

Cytat(-=Peter=- @ 1.07.2008, 16:14:29 ) *
Dopiero od niedawna czytam dokumentację sf i coś w sf robię, więc proszę o wyrozumiałość smile.gif
Skoro czytasz to wiesz o czymmmówię.
Po lewej masz blok z linkami do zagadnień rozsianych po dokumentacji.
Jednym z nich jest filter a drugim validators. Jakim cudem je przeoczyłeś?

Napisany przez: -=Peter=- 1.07.2008, 17:39:16

Nie przeoczyłem tego. Wiem że symfony korzysta ze wzorca intercepting filter. Chodziło mi o to, czy ma wbudowany mechanizm (klase) filtrowania danych wejściowych. Jest sfFillInFormFilter, ale też tylko filtruje dane zwrotne do formularza, które go wypełniają w razie nieudanego wysłania danych (nie przejścia walidacji), nie modyfikuje wartości parametrów w obiekcie Request.

Czyli poprostu trzeba sobie taki filtr dopisać, czy znowu coś "przeoczyłem"? smile.gif

Napisany przez: mike 1.07.2008, 18:24:56

A skąd projektanci symfony mieliby wiedzieć na okoliczność czego chcesz filtrować i co chcesz filtrować?
Dali możliwość, w końcu na tym polega framework winksmiley.jpg

A filtry pisze się bardzo łatwo spróbuj,

Napisany przez: LBO 1.07.2008, 20:07:15

Cytat(mike @ 1.07.2008, 19:24:56 ) *
A filtry pisze się bardzo łatwo spróbuj,


Zawsze może użyć Zenda o którym wspominał - będzie jeszcze łatwiej smile.gif Na tym polega piękno frameworków.

Napisany przez: -=Peter=- 2.07.2008, 00:04:21

Cytat
A filtry pisze się bardzo łatwo spróbuj,

Właśnie spróbowałem, tak pisze się łatwo, bo kod samego filtra nie jest jakiś skomplikowany. Ale aby ładnie zintegrować swój filter (w moim przypadku odpowiedzialny za filtrowanie danych wejściowych w requeście) trzeba było napisać też do tego ConfigHendlera (aby dane na temat filtrów były pobierane z nowego pliku konfiguracyjnego osobnego dla każdej akcji) oraz rozgryść z czym to się je, a dojście do tego od zera jest trochę bardziej trudne tongue.gif

Dzięki za naprowadzenie na rozwiązanie.

Napisany przez: Lk_hc 2.07.2008, 14:10:33

Wybór padł - Wziąłem się na poważnie za Symfony. Jest na prawdę dobrze opisany językiem dla początkującyh na stronie projektu: przystępnie ale nie prymitywnie. Po przerobieniu kilku pierwszych chapterów poradnika ( http://www.symfony-project.org/book/1_2/01-Introducing-Symfony ) można już zrobić pierwsze działające konstrukcje ( w sf_sandbox )

Jasne jest że jeszcze prawie nic o tym frameworku nie wiem ale o jego dokumentacji i wsparciu mogę powiedzieć że są na prawdę dobre, żeby nie powiedzieć najlepsze (najprzystępniejsze) z tych, z jakimi się spotkałem w swojej krótkiej frameworkowej karierze.

Materiały oczywiście po angielsku.

Napisany przez: mike 2.07.2008, 14:16:20

Cytat(Lk_hc @ 2.07.2008, 15:10:33 ) *
Materiały oczywiście po angielsku.
Nie tylko.
http://trac.symfony-project.com/wiki/Documentation/pl_PL/book/1.0

Napisany przez: BartazZ 14.07.2008, 10:28:24

a jak sie ma wykorzystywanie frameworkow do projektow komercyjnych? trzeba za to placic czy mozna korzystac zupelnie za darmo?

Napisany przez: mike 14.07.2008, 10:31:38

Nie trzeba płacić. Ale nie możesz brać kasy za sam framework, możesz brać tylko za aplikację napisaną za jego pomocą.

Napisany przez: b4x 14.07.2008, 10:44:20

Niedługo mam zamiar skorzystać z jakiegoś FrameWorka, jakiego polecacie na początek? winksmiley.jpg

Napisany przez: mike 14.07.2008, 10:48:04

Jaja sobie robisz? W wątku na temat wyboru frameworka po 50 postach piszesz co Ci polecamy?
Rusz dupsko i przeczytaj to co zostało już napisane!

Napisany przez: b4x 14.07.2008, 10:51:07

@mike, faktycznie- zapomniałem przejrzeć poprzednie strony. :-)

Napisany przez: Elf 31.07.2008, 09:35:31

Pragmatycznie porównanie Zend Framework, Symfony i CakePHP zrobione przez ludzi z IBM:
http://www.ibm.com/developerworks/library/os-php-fwk1/index.html?ca=drs-

Napisany przez: SirZooro 3.08.2008, 23:00:17

Jest jeszcze framework PRADO (http://www.pradosoft.com/) - jest on wzorowany na ASP.NET, więc jeżeli ktoś go zna to się poczuje prawie jak u siebie w domu. Strona jest po angielsku, ale Wiki (a przynajmniej część) jest przetłumaczona na Polski. Polecam też obejrzeć Blog Tutorial znajdujący się w sekcji Documentation - jest to przykład jak wykorzystując PRADO zbudować prostego bloga.

Napisany przez: jarek_bolo 5.08.2008, 23:51:00

A bawił się ktoś http://akelos.org/ questionmark.gif Że najbardziej RoRowy ponoć.

Napisany przez: ayrten 19.08.2008, 16:13:15

Cytat
I want to slap the a$$ who came up with OOP. You keep telling yourself that it’s better than procedural code while you jerk off to that abstract object. While you’re still trying to fit everything into objects, I’m already done writing an application and have already started a new one.

  1. <?php
  2. //OOP
  3. class helloWorld {
  4. function myPrint() {
  5. http://www.php.net/print "Hello, world.";
  6. }
  7. }
  8. $myHelloWorld = new helloWorld();
  9. $myHelloWorld->myPrint();
  10. ?>


  1. <?php
  2. //Procedural
  3. http://www.php.net/print "Hello, world.";
  4. ?>


WTF??

taki mały OT smile.gif

Napisany przez: LBO 19.08.2008, 16:16:23

Cytat(ayrten @ 19.08.2008, 17:13:15 ) *
taki mały OT smile.gif


A jakie masz stanowisko, co do tego powyżej. Bo dla mnie bzdury... rubbish!

Napisany przez: athabus 13.09.2008, 09:39:27

Ja w swojej "karierze" przerobiłem 3 frameworki:
- Zend Framework - w wersji 0.7
- CI
- Symfony

O pierwszym zostało już wszystko powiedziane. Potężny zbiór klas, ale nie framework. Często korzystam z samych klas, ale jako framework nie jest to dla mnie wygodne rozwiązanie. Plus za dokumentację.

CI - bardzo wygodny był przy małych projektach. Szalenie szybko się w tym pisało - podstawy frameworka można było opanować w kilka godzin. Bardzo dobra (w sensie przystępności) dokumentacja. Minus to php4 i "ubogość". Dla mnie raczej był to szkielet frameworka. Sposób napisania frameworka sprawiał, że dokonywanie zmian wymagało "niebezpiecznych" zagrań, które mogły się zemścić w innych miejscahc - wiadomo globale itp.

Symfony - miłość od 2 wejrzenia. Za pierwszym razem coś nie chciało się zainstalować i szybko się poddałem. Wróciłem po jakimś czasie i się zakochałem ;-). Główne plusy:
- bardzo dobra dokumentacja zarówno "książka" jak i api
- framework obiektowy, więc modyfikacje są bardzo proste i wygodne
- świetny system konfiguracji - na początku wydaje się nie do ogarnięcia, ale po przeczytaniu odpowiedniego rozdziału książki wszystko robi się dziecinnie proste
- konfigurowalne środowiska - 2 liniijki i masz wersję aplikacji, która działa z cache albo bez, która wyświetla błędy dla programisty albo nie itd itp.
- debugtolbar - świetna sprawa - widzisz ile czasu trwało żądanie, ile i jakie zapytania poszły do bazy, co ile trwało, wszystkie logi i zmienne requesta w jednym miejscu - jednym słowem proste debugowanie
- doskonały system cache - kilka linijek konfiguracji i można cachować całe strony lub ich części odciążając serwer. Cache jest kilkustopniowy i można go bardzo ładnie dostosować do konkretnych potrzeb.
- doskonała organizacja widoku - layout, widok akcji, proste partiale i komponenty, które są w zasadzie miniakcjami
- generacja modułu admina - świetna sprawa, gdyż moduł można łatwo modyfikować zarówno z poziomu konfiguracji jak i kodu gdy potrzeba nieco niestandardowych zachowań
- przykładowe zestawy danych, które można wgrywać do bazy danych po jej przeróbkach - nie trzeba po każdej zmianie dodawać testowych danych - robisz to raz a symfony będzie je potem wgrywać po zmianach
- ilość pluginów, które dodają najczęściej wykorzystywane funkcje. Potrzebujesz galerii - wgrywasz plugin i po sprawie
- ajax - ajax znam słabo, ale symfony robi to za mnie ;-)
- propel - czyli zapominamy o monotonii pisania prostych zapytań sql

I tak wymieniać można by bez końca. Cena, która się płaci za tą wygodę to zwolnienie aplikacji - ale przy dużych projektach nie jest to aż tak widoczne. Testy typu hello world bardzo zakłamują sytuację bo symfony nadrabia dość mocno do innych frameworków gdy aplikacja jest "sensownych rozmiarów. Pisałem już kiedyś na forum o tym.
Paradoksalnie dla przykładu moje projekty przepisane na symfony zwzwyczaj przyspieszają, gdyż mogę prosto zastosować cachowanie - wcześniej nie chciało mi się w to bawić, ale w symfony cachowanie jest tak proste i intuicyjne, że grzechem było by nie skorzystać ;-)

Napisany przez: Don Pedro 21.09.2008, 16:23:42

Szukam frameworka który będzie w miare prosty, najlepiej z polską dokumentacją i i w miare funkcjonalny (to mój pierwszy framework)

jaki polecacie ?

Napisany przez: Cysiaczek 21.09.2008, 16:30:32

Zacytuje kilka postów wyżej mike'a

Cytat
Jaja sobie robisz? W wątku na temat wyboru frameworka po 50 postach piszesz co Ci polecamy?
Rusz dupsko i przeczytaj to co zostało już napisane!

Napisany przez: Don Pedro 21.09.2008, 16:36:33

czytałem i nie znalazłem nic co by miało jakaś obszerna polska dokumantacje...

Napisany przez: kbsucha 21.09.2008, 16:41:34

Cytat(Don Pedro @ 21.09.2008, 17:23:42 ) *
Szukam frameworka który będzie w miare prosty, najlepiej z polską dokumentacją i i w miare funkcjonalny (to mój pierwszy framework)

jaki polecacie ?


Ech, tak to chyba tylko w Erze... . Najbardziej zadziwia ten warunek z polska dokumentacja, jezeli angielski sprawia ci az taki problem to radzilbym zaczac nauke jak najszybciej. Do czytania dokumentacji nie wymagana jest jakas zawrotna wiedza.
Co do wyboru, ja mimo wszystko polecilbym Kohane, nie przytlacza ogromem, w miare prosty, niezle udokumentowany. Dobry na poczatek moim zdaniem.

pozdr

Napisany przez: normanos 21.09.2008, 18:48:41

kohana i "nieźle udokumentowany" ładny oksymoron biggrin.gif ta dokumentacja nie nadąża za zmianami, jeszcze nie uzupełnili jej do 2.2 a już jest nieaktualna winksmiley.jpg

Napisany przez: LBO 21.09.2008, 20:05:55

Cytat(normanos @ 21.09.2008, 19:48:41 ) *
kohana i "nieźle udokumentowany" ładny oksymoron biggrin.gif ta dokumentacja nie nadąża za zmianami, jeszcze nie uzupełnili jej do 2.2 a już jest nieaktualna winksmiley.jpg


@normanos, tak się kontrolnie zapytam, czy wraz z tymi zmianami idą zmiany API, czy tylko nowe funkcjonalności bez BC?

Napisany przez: jarek_bolo 21.09.2008, 20:28:51

Zmiany API też.
Rozgorzała dyskusja na forum Kohany, że troche za dynamicznie się rozwija itd. ale ostatecznie ustalono, że tak ma być, ze zmiany są dużo dające, idą w kierunku PHP6 itd. więc ludzie się pogodzili.
Maja zamrożony 2.2.1, a jak wypuszczą 2.3 za kilka miechów to od nowa nauczyć się trzeba będzie tych istotnych zmian.

Napisany przez: kbsucha 21.09.2008, 21:09:02

Cytat(normanos @ 21.09.2008, 19:48:41 ) *
kohana i "nieźle udokumentowany" ładny oksymoron biggrin.gif ta dokumentacja nie nadąża za zmianami, jeszcze nie uzupełnili jej do 2.2 a już jest nieaktualna winksmiley.jpg


Dla mnie aktualna dokumentacja, wraz z calkiem przystepnie opisanym kodem, w zupełności wystarczyła do poznania tego FW. Nie ma co się oszukiwać, Kohana to żaden kombajn w stylu Symfony, Cake czy Zenda.

Co do zmian w 2.3 to istotnie jest to duży problem, ale głównie ze względu na tempo w jakim te zmiany następują. Naprawde nie sposób przewidzieć czy z koleji w 2.4 Shadowhand'owi nie zwidzi się jakaś kolejna innowacja, mająca wpływ na cały poprzednio napisany kod. Moim zdaniem to uniemożliwia oparcie na Kohanie jakiekoś poważnego projektu.
My na szczęście w firmie postanowiliśmy dokonać dużych zmian już wcześniej, więc w pewien sposób zrobiliśmy fork fork'a czarodziej.gif i nie dotyczą nas zmiany w 2.3.

pozdr

Napisany przez: acztery 21.09.2008, 21:13:42

polecam ZF może nie ma polskiego wsparcia ale jest świetny nie zamieniłbym go na nic innego. Stosowałem troszkę symfony ale nie przypadł mi do gustu.

Napisany przez: emp 26.09.2008, 13:53:22

Twoj framework to najlepszy framework

Frameworki to przezytek i nie rozumie czemu mialbym uczyc sie cudzego frameworka zamist napisac wlasnego jak robie system informatyczny to zaden framework sie nie sprawdzi a jak nie robie systemu to wykorzystuje jakis cms. W firmach it sie to stosuje bo jest dokumentacja ktorej nie czeba robic i przemial pracownikow maja. Jak ty bys z kolega zrobil frameworka to nie mogli by was zwolnic jakbyscie nie mieli do niego dokumentacji bo by mieli zonka. Powazne firmy stosuja wlasne rozwiazania to nie jest duzo pracy a masz to co dokladnie potrzebujesz.

Wystarczy klika prostych klas jeden intefejs i juz masz swojego frameworka z obsluga modulow, baz danych przy okazji wszystko bedziesz rozumial ,czegos sie nauczysz, nie bedzieszm mial problemow z rozwijam, nie bedziesz musial czekac na aktualna dokumentacje, nie bedziesz sie uczyl cudzych pomoslow tylko rozwijal i tworzyl wlasne

Frameworki to starata czasu i cofanie sie w rozwoju - szukasz rozwiazan, pomysl czego potrzebujesz, przejzyj net, ocen rozwiazania i stworz wlasne.
Ucz sie od najlepszych patrz co robia az sam sie staniesz najlepszy, a jak bedziesz tylko wykorzystywal ich rozwiazania i je rozwijal to bedziesz stal w miejscu. Pozatym stosowanie cudzych rozwiazan 99% nie sprawdza sie przy tworzeniu systemow informatycznych twoj klient w 99% nigdy nie poprosi o to samo o co ktos inny juz poprosil.

A najlepiej to qooxdoo http://demo.qooxdoo.org/current/demobrowser/ a po stronie php tylko i wylacznie polaczenie z baza danych, zapytania , system uprawnien i zabespieczen

Napisany przez: mike 26.09.2008, 13:59:44

Chory bełkot.

~emp a ten fragment najlepiej świadczy o tym, że nie masz najmniejszego pojęcia o czym piszesz:

Cytat(emp @ 26.09.2008, 14:53:22 ) *
Pozatym stosowanie cudzych rozwiazan 99% nie sprawdza sie przy tworzeniu systemow informatycznych twoj klient w 99% nigdy nie poprosi o to samo o co ktos inny juz poprosil.

Napisany przez: LBO 26.09.2008, 14:18:50

Cytat
Wystarczy klika prostych klas jeden intefejs i juz masz swojego frameworka z obsluga modulow, baz danych


Tia, a świstak siedział i zawijał w sreberka.

Naprawdę sadzisz, że tak trudno nauczyć się 3rd-party frameworka? I nie mówie tylko o obsłudze, ale całości. Korzystam od długiego czasu z Agavi i teraz znam ją prawie jakbym sam napisał.

Napisany przez: athabus 26.09.2008, 14:22:51

@emp - ciekawa teoria ;-) Tylko jaką firmę stać na napisanie od podstaw frameworka, który będzie zbliżony funkcjonalnością do dajmy na to Symfony, potem przetestować to, napisać dobrą dokumentację i rozwijać. Zauważ, że nawet samo symfony nie tworzy wszystkiego od nowa, tylko używa sprawdzonych komponentów typu propel - po co to pisać od nowa? W Polskich realiach firm kilkuosobowych pisanie frameworka to nieporozumienie - to co ludzie z takich firm nazywają frameworkami to najczęściej zbiór kilku klas - ale to nie framework to komponenty... Na dodatek kompoenenty, które są zazwyczaj słabo przetestowane i zawierają więcej dziur niż ser szwajcarski. Dla porównania nad frameworkiem czuwa duża społeczność, która zgłasza błędy, moduły posiadają swoje test itd itp.
Tylko duże firmy mogą sobie pozwolić na napisanie tego typu frameworka na własne potrzeby.

Fragment o stosowaniu cudzych rozwiązań się nie sprawdza śmieszy mnie szczególnie. Framework to w tylko zbiór komponentów połączonych w pewną całość i narzucający pewien sposób wykonywanie czynności. Za pomocą jednego frameworka mogą napisać zarówno forum, stronę firmową, sklep czy portal społecznościowy - nie wiem czemu klient miałby mieć coś przeciwko stosowaniu frameworka, którego użyto do innego ;-)

Frameworki mają pewne wady, ale na pewno nie powodują "cofania się w rozwoju". Pisanie swoich rozwiązań w większości przypadków jest dla mnie śmieszne. Powiedz mi jak długo pisałbym coś takiego jak Propel czy Prototype? Jak długo pisałbym subframework do formularzy taki jak w Symfony 1.1? Jeśli natomiast dla Ciebie klasa będąca nakładką na mysqli, jakiś prosty router i klasa generująca panel typu CRUD to już framework to chyba rozumiemy pod tym pojęciem coś innego.

Napisany przez: Crozin 26.09.2008, 14:29:59

@emp: to teraz wpisz format C: i bierz się za pisanie nowego, swojego systemu, bo przecież korzystanie z cudzych jest cofaniem się. Ale nie... sorry, najpierw będziesz musiał napisać swój własny język programowania, bo przecież używanie C++ (czy innego) się nie sprawdzi w Twim systemie. Ale nie... przecież nie skorzystasz z klawiatury i PC bo... tak zgadłeś winksmiley.jpg To cudze pomysły i rozwiązania - zaprojektuj wszystko od nowa. ...i tak dojdziemy do ~prehistorii.

A jeżeli ten przykład Ci nie pasuje:
po jaką cholere jakaś firma ma pisać swój framework? Przecież to jeden, dwa, trzy ... sześć miesięcy pracy całego zespołu programistów. A im trzeba zapłacić niemałe pieniądze, do tego wszystkie ZUSy, USy i inne ustrojstwa. A potem jeszcze Ci sami programisci będą mogli Cie szantażować

Cytat
Albo podwyżka o 100%, albo odchodzimy i masz kawał kodu, którego nikt inny używać nie potrafi



Zastanów się zanim coś napisesz. winksmiley.jpg

Napisany przez: emp 27.09.2008, 13:56:43

To jest tylko moja opinia oparta na moim doswiadczeniu i pracy piszecie ze nie wiem o czym mowie okej nie przeszkadza mi to. Mam sporo doświadczenia, troche ukończonych projektów, niektóre bardzo zaawansowane i duze wiem o czym mowie nie zajmuje sie bzdurami tylko systemami informatycznymi czuje sie pewnie.

Moze z zewnatrz to tak wyglada ze uniwersalne rozwiazanie jest okej w kazdej firmie sie sprawdzi. Ja nie robie tylko oprogramowania moja firma je kupuje i to co chcial inny klient my tez chcemy ale to musi byc zmodyfikowane nikt nie chce dokladnie tego samego co ktos inny ten 1% roznicy to 99% roboty. Wiekszosc firm kupujaca oprogramowanie na zamowienie nie dostaje tego co chce bo uzywacie tego co juz macie zrobione, modyfikujecie co powoduje bledy, a jak sie nie da to sie mowi to jest niemozliwe taka jest filozofia systemu winksmiley.jpg Robienie softu za 5tysiakow a za 500 to jest spora roznica ale tylko w cenie gheheh. Pogadal bym moze z wami na ten temat i tego co odpialiscie ale za bardzo sie podniecacie ja twierdze ze to wy nie macie pojecia za malo doswiadczenia i jeden punkt widzenia. Nie bede sie juz udzielal w tym temacie kazdy moze przeczytac wasza i moja opinie.

Napisany przez: kwiateusz 27.09.2008, 14:38:42

nie zrozumiałem... używanie rpzecinków i ponowne przeczytanie przed wysłaniem pomogłoby smile.gif

z grubsza chodzi chyba o to ze kupujecie soft i go przerabiacie? to co to ma do frameworkow?

Napisany przez: LBO 27.09.2008, 14:48:58

Cytat(kwiateusz @ 27.09.2008, 15:38:42 ) *
z grubsza chodzi chyba o to ze kupujecie soft i go przerabiacie? to co to ma do frameworkow?


i że chyba kupują za 500,- a sprzedają za 5 000,-


Czy jakoś tak :]

Napisany przez: athabus 27.09.2008, 17:09:16

Ja zdaje się zrozumiałem co chciał kolega powiedzieć, ale emp chyba nie rozróżnia frameworka od gotowego oprogramowania. Co za różnica czy oprogramowanie jest tworzone na podstawie frameworka czy pisane od podstaw? W sensie "dla klienta" oczywiście? Przecież używanie frameworka nei polega na przerabianiu tego samego softu dla 20 różnych klientów... Framework ma "tylko" automatyzować powtarzalne zadania.

Napisany przez: mike 27.09.2008, 17:56:30

Dobra już nie ma co karmić trolla. Koleś widać, że nie ma zielonego pojęcia co jest framework i jakie jest jego zastosowanie.
Choć z drugiej strony podziwiam determinację ludzi, którzy strugają swój własny młotek jak mają zamiar wbić gwoździa.

Żeby ta dyskusja wróciła do odpowiedniego, wyższego poziomu sugeruję pominąć wypowiedzi ~emp i nie odpisywać na nie. Część ludzi po prostu nie jest reformowalna.

Napisany przez: phpion 8.12.2008, 09:14:17

@athlabus:
Fakt, stworzyć aplikację na pewno można szybciej przy pomocy Symfony (generator modeli, generator admina etc.). Problemy jednak zaczynają się w momencie gdy trzeba coś zmienić (np. dodać nowe pole do tabeli, które dodatkowo będzie w relacji z inną tabelą) lub zmienić wygląd admina. Wszystko jest oczywiście możliwe, tego nie neguję, jednak dla mnie było to bardzo upierdliwe. Może źle szukałem ale nie znalazłem w Internecie informacji w jaki sposób korzystać z widoków PostgreSQL. Nie podoba mi się również to, że pola w tabeli w bazie danych są uniwersalne tj. takie, które są poprawnie interpretowane w najpopularniejszych silnikach baz danych (ale to już nie wina Symfony tylko samego Propela). Pisząc system pod PostgreSQL chcę w pełni wykorzystyać listę typów danych, jakie oferuje ta baza. Co tam jeszcze... konfiguracja w *.yml. No dobra, fajnie, ale często miałem problem typu "!@#$% jak to zapisać w YML?". M.in. z tych właśnie powodów odszedłem od Symfony - za dużo kombinowania jak dla mnie.
Jeżeli dobrze Ci się kodowało w CI to zapewniam Cię, że w K będzie Ci się kodowało jeszcze przyjemniej. Wybór jednak należy do Ciebie, my możemy jedynie wyrazić nasze prywatne zdanie.

Napisany przez: athabus 8.12.2008, 11:45:33

@phpion
Hehe tu właśnie dochodzi kwestia gustów. Każdy z nas ma inne oczekiwania do frameworka. Ja zrezygnowałem z CI z powodu kiepskiej obiektowości (wiem, że Kohana pod tym względme jest dużo lepsza) oraz ogólnie dużej prostoty (dużo rzeczy trzeba było sobie samemu dorobić). W Symfony cenię to, że 95% standardowych rzeczy mam "out of the box" i "ready to use". Wiąże się to też z pewnymi ograniczeniami - np. wspomniane przez Ciebie wykorzystanie Propela jako ORM. Widoki co prawda Propel wspiera, ale fakt faktem, że abstrakcja wymusza zrezygnowania z opcji niestandardowych, jak np. dodatkowe typu pól w Postgresie. Można oczywiście zrezygnować z Propela i pisać wszystko samemu, ale wtedy traci się wiele udogodnień, które oferuje w Symfony.
Symfony ma też ten "minus", że wymaga znajomości/douczenia się pewnych zagadnień typu Prototype, Propel, subframework do formularzy czy konstrukcja yml - wynika to z tego, że Symfony wykorzystuje wiele komponentów napisanych przez kogoś innego. Jest to z jednej strony plus (bardziej dojrzałe i przetestowane rozwiązania), ale z drugiej strony wymaga większego wkładu w naukę na początku aby móc wykorzystać 100% możliwości.

Ogólnie jednak powiem Ci, że testowałem 3 frameworki i w każdym dopisywałem sobie pewne "skróty" i dodatki. Po przerzuceniu się na Symfony okazało się, że tam już wszystkie te rzeczy były i to w zasadzie miały podobne api do tego co ja napisałem. Można więc powiedzieć, że w Symfony jest tok myślenia jaki ja preferuję. Teraz gdy powoli przerzucam się na Symfony 1.2 widzę, że dodano tam jeszcze więcej tego typu umilaczy. Ty masz pewnie podobnie w Kohanej.

Napisany przez: michalg 8.12.2008, 18:05:04

Cytat(phpion @ 8.12.2008, 09:14:17 ) *
@athlabus:
Problemy jednak zaczynają się w momencie gdy trzeba coś zmienić (np. dodać nowe pole do tabeli, które dodatkowo będzie w relacji z inną tabelą) lub zmienić wygląd admina. Wszystko jest oczywiście możliwe, tego nie neguję, jednak dla mnie było to bardzo upierdliwe. Może źle szukałem ale nie znalazłem w Internecie informacji w jaki sposób korzystać z widoków PostgreSQL. Nie podoba mi się również to, że pola w tabeli w bazie danych są uniwersalne tj. takie, które są poprawnie interpretowane w najpopularniejszych silnikach baz danych (ale to już nie wina Symfony tylko samego Propela). Pisząc system pod PostgreSQL chcę w pełni wykorzystyać listę typów danych, jakie oferuje ta baza.


No niestety, taka jest cena abstrakcji bazy danych. Ale przecież nie musisz korzystać z propela przy pisaniu projektu pod symfony - zawsze możesz korzystać bezpośrednio z sqli.

Jeżeli chodzi o możliwość wykorzystania dodatkowych typów z psql przy użyciu ORM, to *teoretycznie* mógłbyś tworzyć strukturę bazy za pomocą ręcznie pisanego DDLa zamiast generowanego przez ORM.

Napisany przez: phpion 8.12.2008, 18:20:32

Cytat(michalg @ 8.12.2008, 20:05:04 ) *
No niestety, taka jest cena abstrakcji bazy danych. Ale przecież nie musisz korzystać z propela przy pisaniu projektu pod symfony - zawsze możesz korzystać bezpośrednio z sqli.

No coś Ty. W Kohana również mam abstrację bazy danych i nie mam żadnych wyżej opisanych problemów. Korzystanie bezpośrednio z raw SQL? W takim razie po co mi "dobrodziejstwa" Propela?

Cytat(michalg @ 8.12.2008, 20:05:04 ) *
Jeżeli chodzi o możliwość wykorzystania dodatkowych typów z psql przy użyciu ORM, to *teoretycznie* mógłbyś tworzyć strukturę bazy za pomocą ręcznie pisanego DDLa zamiast generowanego przez ORM.

No tak, tylko znowu jesteśmy w punkcie opisanym powyżej: po co nam w takim wypadku cały Propel? W tym momencie staje się on przeszkodą niż ułatwieniem.

Napisany przez: michalg 8.12.2008, 18:34:37

Cytat(phpion @ 8.12.2008, 18:20:32 ) *
No coś Ty. W Kohana również mam abstrację bazy danych i nie mam żadnych wyżej opisanych problemów. Korzystanie bezpośrednio z raw SQL? W takim razie po co mi "dobrodziejstwa" Propela?


No tak, tylko znowu jesteśmy w punkcie opisanym powyżej: po co nam w takim wypadku cały Propel? W tym momencie staje się on przeszkodą niż ułatwieniem.


To jak to wygląda w Kohana? Możesz to pokrótce opisać, bo szczerze mówiąc nie znam tego, a jestem ciekaw. Chodzi mi o etap przygotowania schematu bazy danych oraz dostępu. I czy w Kohanie masz abstrakcję na obu tych etapach?

Napisany przez: phpion 8.12.2008, 19:18:32

Nie, w K tworzysz bazę danych "ręcznie" (co dla mnie jest dużą zaletą), natomiast cała komunikacja z bazą danych realizowana jest z użyciem abstrakcji.

Napisany przez: michalg 8.12.2008, 19:27:25

Cytat(phpion @ 8.12.2008, 19:18:32 ) *
Nie, w K tworzysz bazę danych "ręcznie" (co dla mnie jest dużą zaletą), natomiast cała komunikacja z bazą danych realizowana jest z użyciem abstrakcji.


To w takim razie chyba się nie zrozumieliśmy - pisząc abstrakcja miałem na myśli również abstrakcję definiowania schematu bazy oraz budowania sqli. To dają rozwiązania typu propel i doctrine. Tego Ci nie da np PDO (chyba, że się mylę). Oczywiście nie mówię, że jest to zaleta - bo sam się męczyłem, jak za pomocą doctrina napisać trochę bardziej skomplikowane zapytanie i skończyło się na bezpośrednim wykorzystaniu PDO. Niestety, nie ma rozwiązań idealnych.

A czym Twoje rozwiązanie się różni od tego co napisałem wcześniej?

Cytat
Ale przecież nie musisz korzystać z propela przy pisaniu projektu pod symfony - zawsze możesz korzystać bezpośrednio z sqli.

Napisany przez: phpion 8.12.2008, 19:39:03

Cytat(michalg @ 8.12.2008, 21:27:25 ) *
To w takim razie chyba się nie zrozumieliśmy

I chyba dalej się nie rozumiemy smile.gif Kohana nie posiada generatora bazy danych na podstawie napisanego schematu (schema.yml). Cały schemat (tabele, kolumny, relacje itd.) tworzysz ręcznie. Natomiast jeśli chodzi o samą komunikację z bazą danych to K posiada warstwę abstrakcji bazy danych (MsSQL, MySQL, MySQLi, PostgreSQL). Dodatkowo (i chyba o to Ci chodzi) posiada tzw. query builder czyli narzędzie służące do dynamicznego tworzenia zapytań:
http://docs.kohanaphp.com/libraries/database/builder
Można również korzystać z bezpośrednich zapytań do bazy.

Napisany przez: michalg 8.12.2008, 20:23:55

Cytat(phpion @ 8.12.2008, 19:39:03 ) *
I chyba dalej się nie rozumiemy smile.gif Kohana nie posiada generatora bazy danych na podstawie napisanego schematu (schema.yml). Cały schemat (tabele, kolumny, relacje itd.) tworzysz ręcznie.


Ok, to rozumiem - piszesz ręcznie sqla z create table itp. Ale i tak tracisz przy tym abstrakcję, bo piszesz pod konkretną bazę danych. Za to możesz skorzystać z rzeczy typowych np tylko dla postgresa.

Cytat(phpion @ 8.12.2008, 19:39:03 ) *
Natomiast jeśli chodzi o samą komunikację z bazą danych to K posiada warstwę abstrakcji bazy danych (MsSQL, MySQL, MySQLi, PostgreSQL).


Czyli coś podobnego, co daje PDO. Czy ta abstrakcja w K korzysta z PDO czy to jest coś zupełnie innego?

Cytat(phpion @ 8.12.2008, 19:39:03 ) *
Dodatkowo (i chyba o to Ci chodzi) posiada tzw. query builder czyli narzędzie służące do dynamicznego tworzenia zapytań:
http://docs.kohanaphp.com/libraries/database/builder


Ok, czyli to jest jedyny element, którego nie masz w symfony jeśli decydujesz się na rezygnację z któregoś z ORM.

Jednym słowem - punkty 1 i 2 można osiągnąć w symfony, jeżeli zdecydowałbyś się nie używać propela (w sf 1.2 jest to nawet jako plugin, który można wyłączyć). Jedyne czego nie ma, to ten query builder.

Być może w kolejnych wersjach symfony pojawi się takie "lekkie" rozwiązanie wspomagające dostęp do bazy danych, lub ktoś wypuści jakiś plugin.

A propo kolejnych wersji - nie wiem, na ile ta strona zawiera prawdziwe oraz aktualne informacje
http://trac.symfony-project.org/wiki/Symfony2Discussion

ale jest tam coś takiego:
Orm:

Napisany przez: normanos 9.12.2008, 11:32:14

Cytat(michalg @ 8.12.2008, 20:23:55 ) *
Czy ta abstrakcja w K korzysta z PDO czy to jest coś zupełnie innego?

nie korzysta. typowy ActiveRecord. ORM jako osobna biblioteka.

Napisany przez: mike 9.12.2008, 11:37:52

Ostatnio oglądałem sobie to całe Kochana winksmiley.jpg Chyba nawet skuszę się na kilka "stronek" w tym, ale jak znajdę chwilkę czasu na przeczytanie dokumentacji, która pozostawia wiele do życzenia (wróć, jest po prostu dardzo słaba) i jak podłączę tam Propela 1.3.

Napisany przez: normanos 9.12.2008, 15:23:57

jezu. jak @Mike zrobi cos w Kohanie to znaczy że świat stanął na głowie winksmiley.jpg

ps. dokumentacja nie nadąża za zmianami ale taka fatalna to nie jest. chyba winksmiley.jpg

Napisany przez: phpion 9.12.2008, 19:51:10

Cytat(normanos @ 9.12.2008, 17:23:57 ) *
dokumentacja nie nadąża za zmianami ale taka fatalna to nie jest. chyba winksmiley.jpg

Też jestem zdania, że nie jest najgorsza. Powiedziałbym wręcz inaczej: jest wystarczająca. Jeżeli mam jakieś wątpliwości to sobie przeglądam źródła klas i w bardzo krótkim czasie jestem w stanie połapać się co i jak działa (w przeciwieństwie do Symfony, a o Zend Framework już nie wspomnę hehehe).

// Edit:
Swoją drogą: dyskusja chyba zeszła nieco z tematu więc może lepiej byłoby przenieść niektóre posty do http://forum.php.pl/Wybor_Frameworka_t96851.html?

Napisany przez: kwiateusz 9.12.2008, 20:47:51

j.w. cześć postów została wydzielona z http://forum.php.pl/SymfonySymfony_a_duze_projekty_t108386.html

Napisany przez: normanos 9.12.2008, 21:14:49

można sobie w pare sekund wygenerować PHPDOCa ze źródeł Kohany, to też jest przydatne.

Napisany przez: Grzesiek 16.12.2008, 21:41:58

Wracając do tematu wyboru frameworka: ja mam dylemat nieco inny, zainstalowałem sobie ostatnio Symfony, które miało być frameworkiem pod mój nowy projekt i ... no nie powiem jego możliwości robią wrażenie, ale projekt nad którym pracuje będzie softem "pudełkowym", (czyli pobierasz i instalujesz na hostingu z PHP i MySQL), tymczasem z tego co do tej pory zobaczyłem - delikatnie mówiąc - Symfony średnio się do tego celu nadaje. dry.gif

Po pierwsze przeglądając źródło w wygenerowanym pliku ProjectConfiguration.class.php mam linie:

  1. <?php
  2. require_once '/usr/share/php/symfony/autoload/sfCoreAutoload.class.php';
  3. ?>

czyli bezwzględny adres do pliku na moim localhost, nie wiem czy takich require'ów lub include'ów jest więcej, bo narazie mało co zrobiłem, ale utwierdza mnie to w moim przekonaniu smile.gif

Po drugie w trac'u http://trac.symfony-project.org/wiki/SharedHostingNotSecure są specjalne patche i instrukcje jak instalować aplikacje na "shared hosting", to też mi dało do myślenia.

Na koniec, przeglądając strony zrobione przy użyciu Symfony (http://trac.symfony-project.org/wiki/ApplicationsDevelopedWithSymfony) zauważyłem że zdecydowana większość to serwisy (prawdopodobnie) na serwerach dedykowanych.

Na koniec dodam, że nie chodzi mi o to że Symfony jest złe a framework XXX jest lepszy, ale raczej o to, że Symfony nie zostało stworzone z myślą o aplikacjach które będą instalowane w setkach kopii (mam nadzieje smile.gif) na różnych hostingach, a na jednym serwerze dedykowanym i w przypadku takich aplikacji Symfony sprawdza się dobrze/świetnie/najlepiej (niepotrzebne skreślić)?

Napisany przez: kwiateusz 16.12.2008, 21:55:21

takie require jest 1 w konfiguracji, jak zrobisz freeze to biblioteki sf zostana przekopiowane do odpowiednich katalogów i nie ma sie co tym martwić smile.gif

a co do kopii to owszem sf jest bardziej pomyślane pod serwisy pojedyncze na dedykowanych maszynach, aczkolwiek działają równie dobrze na dzielonych smile.gif

Napisany przez: athabus 18.12.2008, 10:58:34

Swego czasu napisałem mały projekt dla siebie, ale potem udostępniłem go jako OS. Muszę przyznać, że było trochę problemów z instalacją na niektórych hostingach. Problemy były małe i w 95% udało się je przeskoczyć, ale jednak udostępnienie tego typu projektu wiąże się z zaoferowaniem supportu przy instalacji.
Na pocieszenie dodam, że nie zrobiłem żadnego instalatora itp - napisałem jedynie szczegółową instrukcję jak wyedytować pliki w konfiguracji etc. Większość błędów była spowodowana tym, że ludzie nie potrafili czytać/mieli konta z dziwnymi wynalazkami typu php4 albo jakieś dziwne ustawienia w konfiguracji. Z moich obserwacji wynika, że symfony jest dość czułe na "niestandardowe" ustawienia w php.ini i z tego powodu możesz mieć problem z aplikacjami pudełkowymi. Nie jest to duży problem jeśli sprzedajesz 50 kopii po 1k zł ale gorzej jak sprzedajesz 5.000 po 10zł.

Napisany przez: qbatoja 5.01.2009, 18:20:22

Czas, zeby ktos napisal cos parktycznego laugh.gif

Jesli chcesz produkowac gnioty i pazdzioszki, to symfony nadaje sie do tego idealnie. szybko tworzysz aplikacje, jest sporo pluginow. pani jadzia zadowoli sie backendem szybko stworzonym dla niej (crud generator i pluginy (polecam SfSimpleCms)).
Jesli chcesz napisac cos jak youtube, z funkcjonalnoscia facebooka, to tylko zend framework. dzieki temu ze jest to zbior luzno powiazanych z soba klas, sam decydujesz co wykorzystac. Nie uruchamiasz rzeczy nie potrzebnych, tylko to co jest ci potrzebne. najprostrza aplikacja na zf jest co prawda wolniejsza od byle aplikacji na symfony, ale geek'i ktore znaja sie na inzynierii oprogramowania, na wydajnosci, zastosuja duzo zajebistych technik (modyfikacja autoloadingu i czary mary z nim zwiazane, cache(memcached) zapytan do bazy, funkcji, klas, zbiorow klas i cache stron statycznych), dzieki czemu zachowujemy swobode programowania)

Moj cms oparty na zf, zniszczy kazda aplikacje oparta na symfony smile.gif

Co do kochanej, to sie nie wypowiadam, bo sie poprostu nie znam. mozliwe ze jest super ekstra i jest lepsza od zenda, choc baaardzo w ta watpie. nie mam czasu, zarobiony jestem tongue.gif

tak na marginesie, jesli chcecie szybko pisac spoko stronki, to odrazu w drupala wejdzcie, po co tracic czas na frameworki? smile.gif

Napisany przez: mike 5.01.2009, 18:22:35

Cytat(qbatoja @ 5.01.2009, 18:20:22 ) *
Czas, zeby ktos napisal cos parktycznego laugh.gif
Jesli chcesz produkowac gnioty i pazdzioszki, to symfony nadaje sie do tego idealnie. (...)
No i to nie będziesz Ty.
Takich debilizmów nie było tu dawno. Chyba zasilę nimi wątek Humor tongue.gif

Napisany przez: phpion 5.01.2009, 18:28:47

Cytat(qbatoja @ 5.01.2009, 20:20:22 ) *
Moj cms oparty na zf, zniszczy kazda aplikacje oparta na symfony smile.gif

Fajowo. Może jakieś argumenty? Screenshoty chociaż? Bo na razie poza kosmiczną extazą nie podałeś nic konkretnego co świadczyłoby o wyższości ZF nad S.

BTW:
Cytat
modyfikacja autoloadingu i czary mary z nim zwiazane, cache(memcached) zapytan do bazy, funkcji, klas, zbiorow klas i cache stron statycznych

Super framework! Żeby można było na nim postawić coś wydajnego konieczne są takie zabiegi. Gratulacje!

Napisany przez: LBO 5.01.2009, 19:02:07

Cytat(qbatoja @ 5.01.2009, 18:20:22 ) *
Moj cms oparty na zf, zniszczy kazda aplikacje oparta na symfony smile.gif


Znałem takiego ZF kozaka - przechwalał się, przechwalał, a jak na kod spojrzałem to trwoga mnie ogarnęła smile.gif Całość konfiguracji w jednym pliku, bo tak wydajniej i tryliard ścieżek w include_path, bo wszystko chciał ładować "cudownym" zendowym autoloaderem.

BTW nie chcę się czepiać, ale co to jest memcache zbiorów klas?

Napisany przez: qbatoja 6.01.2009, 01:00:15

@mike, nie podniecaj sie ze jeden serwis yahoo jest na sf, bo to nie jest wyznacznik. nasza klasa tez dziala dobrze, jak kupila milion serwerow ;]

@phpion, widze ze jak byla lekcja o problemach optymalizacji i duzych trafficow, to w klasie cie nie bylo, bo zaspales, myslac do pozna w nocy, dlaczego cos ci nie dziala w propelu, bo zapomniales jescze raz wygenerowac model, czy moze zastanawiales sie czemu aplikacja konsolowa do w sandboxie nie jest zogdna ze standardem optget?

@LBO, ty tez sie nie podniecaj, bo w moim include_path, mam jedna sciezke. a jak chcesz sie klocic ze require_once jest szybszy od auto loadera, to zapraszam do dyskusji. przytocze ci mase argumentow przeczacych. co do configa to n/c. nie kazdy kto kozakiem sie nazywa, kozakiem jest. Z tym memcached zbioru klas, to sie zapedzilem, ale to przez glosne myslenie. mam na mysli moj prywatny algorytm przyspieszania ZF.

Chciales argumenty, to je dostaniesz.

1. Uporzadkowane nazewnictwo. Dzieki nazwom, wiesz co gdzie jest.

2. Developerzy. Ciagle pracuja nad rozwojem. Zobacz jak dynamicznie sie on rozwija. Zobacz ile dodatkowych bibliotek z kazda nowa wersja wychodzi. Jak bardzo dbaja o stabilnosc i wydajnosc. Przelec benchamrkiem i zobacz jak co kazdy powazny release, wydajnosc wzrasta od kilkunastu do kilkudziesieciu procent. A prace ciagle trwaja. Mimo dynamiki, dokumentacja jest zawsze na bierzaco.

3. Rozszerzalnosc. W wiekszej grupie programistow, docenisz mozliwosci ZF. Duzo latwiej pisac pluginy i helpery (view, action) do zf. W polaczeniu z pkt 1 duzo latwiej sie odnalesc.

4. Zend_Form i Zend_Dojo_Form. Stary, przeanalizuj co te biblioteki daja. Z jaka latwoscia mozesz zbudowac dynamiczne wydajne formularze z walidacja po stronie przegladarki, nie wymagajac od php developera znajomosci js.

5. Zend_Cache. Sf ma w sobie tylko cachowanie w plikach. A jesli znasz sie na rzeczy, to wiesz, ze jest to najwolniejszy z mozliwych rodzajow cache. zend ma wsparcie dla memcached, apc no i dla zend_platform, ktore w polaczeniu z innymi produktami zenda, wymiata.

6. Firma. Symfony zostalo napisane przez jedna osobe, architektura opracowana przez jedna moze dwie osoby. i to francuza, a co z francji jest dobrego? ;p koles i tak potem odszedl bo nei doszedl do porozumienia. Skoro tak jest to wszystko idzie w zlym kierunku. A Zend? Tworca PHP 5 (Zend Engine II) dobrze wie, jakie zalozenia powinien spelniac framework i aplikacja oparta na PHP. pisana przez wielu developerow komunikujacych sie miedzy soba. Zend podpisal umowe z Adobe, na temat wspolnego rozwoju (gdzie flex w sf, no gdzie?), wspolpracuje tez z wiodacymi javascriptowymi frameworkami dojo, jquery.

7. Biblioteki. Powiesz ze masz dostep do wielu pluginow w symfony, ale one pisane sa przez developerow z dupy wzietych, biblioteki zenda sa pisane przez natywnych developerow. Chocby Zend_Pdf, Zend_Gdata, Zend_Services_* W manualu zf jest napisane nawet jak zaadoptowac smarty.

8. Spolecznosc. W Symfony nie ma wplywu na rozwoj waznych elementow frameworka, co jest krytykowane nawet przez adoratorow sf (wspone ze autor ksiazki do symfony zbrechtal je, co jest na maksa smieszne. http://redotheweb.com/2008/05/16/no-one-is-irreplaceable/)

8. Roznorodnosc. W ZF, moge uzyc jako configa i xml, i ini (cokolwiek co implementuje pewien interfejs), dla i18n, mam mase adapterow, w tym gettext od GNU, plus punkt 5 (specjalnie go wyroznilem, bo to barodz wazny element)

9. DB. W sf jestem zmuszony do propela lub doctrine, dlugo w sf byly bugi w ich adaptacji. Te smieszne generowanie schematu i modelu, bleee. bajzel! smile.gif w ZF, mam zjebisty Zend_Db, ktory mi pozwala na wiele. i jeszcze wiecej

10. Przepowiadam, albo to juz zostalo pzrepowiedziane, ze Zend Framework stanie sie standardem.

Nie rozumiem ludzi ktorzy chca sie klocic i mi wmowic , ze aplikacja napisana specjalnie per projekt (a zf do tego idealnie sie nadaje) nie jest wydajniejsza od gotowego sytemu dedykowanego do wszystkich rodzajow stron. nie wiem czy plakac czy smiac sie.

Napisany przez: Xniver 6.01.2009, 01:46:47

Cytat
5. Zend_Cache. Sf ma w sobie tylko cachowanie w plikach.

Niedoinformowany jesteś
http://www.symfony-project.org/api/1_2/cache

Cytat
8. Roznorodnosc. W ZF, moge uzyc jako configa i xml, i ini (cokolwiek co implementuje pewien interfejs), dla i18n, mam mase adapterow, w tym gettext od GNU, plus punkt 5 (specjalnie go wyroznilem, bo to barodz wazny element)

A w symfony to nie masz?
http://www.symfony-project.org/api/1_2/i18n

Cytat
10. Przepowiadam, albo to juz zostalo pzrepowiedziane, ze Zend Framework stanie sie standardem.

Koniec świata prędzej będzie

BTW, co sądzicie o http://www.yiiframework.com/, wygląda na bardzo rozbudowany.

Napisany przez: AxZx 6.01.2009, 01:46:55

Cytat(qbatoja @ 6.01.2009, 01:00:15 ) *
2. Developerzy. Ciagle pracuja nad rozwojem. Zobacz jak dynamicznie sie on rozwija. Zobacz ile dodatkowych bibliotek z kazda nowa wersja wychodzi. Jak bardzo dbaja o stabilnosc i wydajnosc. Przelec benchamrkiem i zobacz jak co kazdy powazny release, wydajnosc wzrasta od kilkunastu do kilkudziesieciu procent. A prace ciagle trwaja. Mimo dynamiki, dokumentacja jest zawsze na bierzaco.


mam takie pytanie, czy to, że z każdą nową wersją ZF wzrasta wydajność aplikacji napisanych na tym FW ma jakieś znaczenie na naszą aplikację napisaną jakiś czas temu? czy łatwo jest aktualizować na bieżąco pliki tego frameworka tak, żeby aplikacja ciągle działała?
pytam bo w Symfony nie mogę jakoś się zabrać do zaktualizowania z wersji 1.0.16 do najnowszej 1.2.1.

Napisany przez: phpion 6.01.2009, 08:03:00

Cytat(qbatoja @ 6.01.2009, 03:00:15 ) *
@phpion, widze ze jak byla lekcja o problemach optymalizacji i duzych trafficow, to w klasie cie nie bylo, bo zaspales, myslac do pozna w nocy, dlaczego cos ci nie dziala w propelu, bo zapomniales jescze raz wygenerowac model, czy moze zastanawiales sie czemu aplikacja konsolowa do w sandboxie nie jest zogdna ze standardem optget?

Muszę Cię niestety zmartwić bo trafiłeś kulą w płot. Nie używam Symfony. Pracowałem na nim grubo ponad rok i aktualnie przeszedłem na coś zdecydowanie mniejszego (Kohana) i dającego większą dowolność przy zachowaniu jednego standardu (co niestety nie ma miejsca w ZF). Z ZF miałem krótką styczność ale moim zdaniem to przerost formy nad treścią. Aplikacje webowe powinny być **przede wszystkim** szybkie i wydajne. Rozbijanie wszystkiego co się da na X plików może i wygląda PRO ale czy aby na pewno jest dobre dla serwisów internetowych?

Poboba Ci się zapis konfigu w XML czy INI? Super! Ja jednak wolę czyste PHP. Nie muszę się wówczas martwić jak zapisać konkretne dane (np. tablicę).

Jeżeli chodzi o Propela to przyznam Ci razję; początkowo był on dla mnie "oł łał" ale po pewnym czasie zaczął przeszkadzać (przebudowa modeli, brak możliwości korzystania ze specyficznych dla danej bazy typów).

Piszesz, że Zend podpisał umowę z Adobe, że jest tworzony przez ludzi od PHP itd. Widzisz - tu chyba właśnie leży jego siła, w działaniach marketingowych. Dlatego też każdy inny framework jest już z miejsca na gorszej pozycji niż ZF.

Napisany przez: dr_bonzo 6.01.2009, 08:08:37

Cytat
pytam bo w Symfony nie mogę jakoś się zabrać do zaktualizowania z wersji 1.0.16 do najnowszej 1.2.1.

Teoria: aktualizujesz jak najczesciej == najmniej roboty przy kazdej aktualizacji, jestes na bierzaco ze zmianami, wiesz co zmienili itp., jak jeszcze masz automatyczne testy dla calego systemu to juz bajka - wykryja ci bledy wprowadzone przez update FW smile.gif
Praktyka: kazdy wie jak jest winksmiley.jpg

Napisany przez: qbatoja 6.01.2009, 10:40:20

Cytat(AxZx @ 6.01.2009, 00:46:55 ) *
mam takie pytanie, czy to, że z każdą nową wersją ZF wzrasta wydajność aplikacji napisanych na tym FW ma jakieś znaczenie na naszą aplikację napisaną jakiś czas temu? czy łatwo jest aktualizować na bieżąco pliki tego frameworka tak, żeby aplikacja ciągle działała?


Z doswiadczenai ci powiem, ze mialem klopot w przejsciu z 1.0 na 1.4 czy tam 1.5, nie pamietam, bo zmienilo sie parsowanie routera dla akcji (nie mozna camelCasem wywolywac). Jakis czas temu podpialem wersje 1.7.2 w miejsce 1.5 i nie mi sie nie pieprzylo, przeciwnie, bylo lepiej (lekko wydajniej).

Cytat(phpion @ 6.01.2009, 07:03:00 ) *
(...) aktualnie przeszedłem na coś zdecydowanie mniejszego (Kohana) i dającego większą dowolność przy zachowaniu jednego standardu (co niestety nie ma miejsca w ZF).


Nie znam Kohana, mozliwe ze jest fajny. Ale co do tego standardu... Jak juz mowilem ZF idealnie sie nadaje do dedykowanych projektow, i z wielu wybieram standard odpowiadajacy mi najbardziej. Poza tym, odradzam poczatkujacym pisania wiekszych aplikacji w ZF, bo sie zagubia. ZF jest dobry do nauki i do zaawansowanych aplikacji webowych.

Cytat(phpion @ 6.01.2009, 07:03:00 ) *
Aplikacje webowe powinny być **przede wszystkim** szybkie i wydajne. Rozbijanie wszystkiego co się da na X plików może i wygląda PRO ale czy aby na pewno jest dobre dla serwisów internetowych?


Zgadzam sie z pierwszym zdaniem, a to rozbijanie wlasnie to potwierdza, bo dzieki temu ze masz taka strukture, app mozesz przyspieszyc w dowolnym miejscu smile.gif

Cytat(phpion @ 6.01.2009, 07:03:00 ) *
Piszesz, że Zend podpisał umowę z Adobe, że jest tworzony przez ludzi od PHP itd. Widzisz - tu chyba właśnie leży jego siła, w działaniach marketingowych. Dlatego też każdy inny framework jest już z miejsca na gorszej pozycji niż ZF.


Choc to ma znaczenie, bardziej mi sie podoba to co w sobie kryje. Dla mnie to jest ogromny plus ze taka wspolpraca istnieje. dzieki temu moge miec nadzieje, ze beda jakies zajebiste biblioteki, ze komunikacja z flashem bedzie jedno linijkowa, mamy juz zajebiste zend_amf. Nie wiemy tez, czy zend nie podpisze wspolpracy z google i cos niesamowitego nie wyrzezbia.

Moja konkluzja jest taka. Symfony jest swietnym frameworkiem, ale nie ma takiego potencjalu jak Zend Framework. A ja jestem czlowiekiem ktory ma mase pomyslow i chce je wykorzystac wlasnie dzieki takiemu potencjalowi. W wiekoszosci agencji w Londynie uzywany jest symfony, bo jest najbardziej oplacalny. Sam musze w tym pare stronek rzezbic, bo przez ten kryzys nie ma pieniedzy na to zeby napisac cms w ZF.

Napisany przez: itsme 6.01.2009, 12:49:47

hmm ciekawa dyskusja ale jest jeden podstawowy błąd.

Nie należy porównywać tych dwóch produktów. Gdyż to są zupełnie nic nie mające ze sobą rzeczy.

1. Zend Framework - choć w nazwie ma Framework nim nie jest to jest zestaw swietnych, zajefajnych class i nic więcej
2. Symfony - kurde w nazwie nie ma Framework a nim jest :-)

I po co te dyskusje ?

Światowej klasy naukowiec, praktykant, świetny człowiek o szerokim podejściu do życia (hello mike hihihihih) kiedyś dał mi przykład:
- posadź 10 programistów w celu napisania bloga przy ZF i po tygodniu będziesz miał uzgodnione i ujednolicone zasady kodowania ale bloga nie
- posadź 10 programistów w celu napisania bloga przy Symfony a po tygodniu będziesz miał blog, sklep, naszą klasę i po podłączeniu do expresu do kawy będzie robił kawe :-)

i ja się z tym zgadzam.
Tak długo dopóki nie napiszecie w ZF własnego Frameworka to będzie tylko ZC Zend Classes i nic ponadto - co nie zmienia faktu że kod jest wibitnie napisany w obu przypadkach :-)

Chcecie porównywać - pogadajcie o jakości dokumentacji, jakjości kodu, wsparciu społeczności ale nie o Frameworkach :-)

Pozdrawiam

Itsme

Napisany przez: qbatoja 6.01.2009, 16:44:19

masz duzo racji, ale tez przesadzasz, parenascie linijek kodu ktory konfiguruje front controller i laduje ustawienia i masz tez prostego frameworka. moze za bardzo pojechalem symfony, ale tak mam jak ktos jezdzi po zf tongue.gif a poza tym nie chodzi o wybitnosc kodu tylko o rozwiazanie pewnych problemow, do ktorych zf podszedl pierwszorzednie. cache, acl, auth np

Napisany przez: mike 6.01.2009, 16:54:35

Cytat(qbatoja @ 6.01.2009, 16:44:19 ) *
masz duzo racji, ale tez przesadzasz, parenascie linijek kodu ktory konfiguruje front controller i laduje ustawienia i masz tez prostego frameworka
Zacznij pisac na Humorze tongue.gif
Kilka linijek mówisz? Za dużo widziałem w sieci wątków w stylu Jaką wy macie struktórę folderów w ZF tongue.gif Jeśli juz tu są rozjazdy, to później to co określasz jako kilka linijek jest bardzo duzym problemem. Ilu programistów ZF tyle pomysłów na umieszczenie konfiguracji, podział na moduły, działanie aplikacji, wczytanie konfiguracji, etc. Że już pominę debilne nazwy klas tongue.gif
Pracuję i na ZF i na symfony i takie mam doświadczenia. Każdy w ZF pisze inacze, co czyni z niego dupę nie framework.

Napisany przez: qbatoja 6.01.2009, 17:05:32

nie napinaj sie tak i nie powtarzaj.W zend studio for eclipse, tworzysz nowy projekt, masz gotowa strukture wszystkiego. nawet konfiguracja front controllera. i juz normalnie mozna pisac prosta aplikacje. poza tym mysle ze ciagle czekasz na cos jak:

  1. <?php
  2. $myApp = new Facebook;
  3. ?>

Jakie debilne nazwy klas? blink.gif

Napisany przez: mike 6.01.2009, 17:10:39

Cytat(qbatoja @ 6.01.2009, 17:05:32 ) *
Jakie debilne nazwy klas? blink.gif
Zend_Controller_Plugin_Abstract
Zend_Controller_Request_Abstract
Zend_Controller_Dispatcher_Standard
Zend_Controller_Router_Route_Hostname
... i tak dalej. Nie znalazłem sześcioczłonowej choć na pewno jest tongue.gif

Napisany przez: qbatoja 6.01.2009, 17:31:53

bo nie wiesz co one odwzorowuja... jak dla mnie jest to zarabiste nazewnictwo, bo wszystko staje sie logiczne. latwiej zainkludowac klase (auto loader jest szybszy od np require_once), same benefity.

Napisany przez: phpion 6.01.2009, 17:36:35

Cytat(qbatoja @ 6.01.2009, 19:31:53 ) *
jak dla mnie jest to zarabiste nazewnictwo, bo wszystko staje sie logiczne

Zgadzam się. Moim zdaniem taka konwencja nazewnicza jest bardzo dobra, rodem z PEAR. W ZF brakuje mi jednak, o czym pisał mike, jednolitego standardu jeśli chodzi o budowę aplikacji. Gdyby wprowadzili jakieś obostrzenia w tym kierunku praca z ZF mogłaby wyglądać zupełnie inaczej.

Napisany przez: mike 6.01.2009, 18:25:12

Cytat(qbatoja @ 6.01.2009, 17:31:53 ) *
bo nie wiesz co one odwzorowuja...
Doskonale wiem co one odwzorowują. Są jednak zbędne i utrudniają życie. Muszę pamiętać całe API żeby stworzyć obiekt Hostname. Bo przecież ktoś musiał nazwać klasę Zend_Controller_Router_Route_Hostname tongue.gif
Logiczne aplikacje da się napisać bez takich nazw klas. Autoloader równie dobry i szybki podobnie. Te nazwy są zbędne i nieczego nie dają.

Napisany przez: normanos 6.01.2009, 19:38:54

Cytat(mike @ 6.01.2009, 17:10:39 ) *
Zend_Controller_Plugin_Abstract
Zend_Controller_Request_Abstract
Zend_Controller_Dispatcher_Standard
Zend_Controller_Router_Route_Hostname
... i tak dalej. Nie znalazłem sześcioczłonowej choć na pewno jest tongue.gif

ha ha, przyganiał kocioł garnkowi biggrin.gif nie wiem czy to powinien być argument w tej (żenującej) konwersacji w momencie gdy w Sf mamy jeszcze gorsze (imho) potworki typu:

sfPropelActAsNestedSetBehaviorPlugin rulez tongue.gif guitar.gif
sfYzClientSideValidationPlugin
sfPropelLoadbalancerPlugin
sfPrototypeWindowPlugin
sfCookieSessionStoragePlugin
sfCheckTaskExecutionPlugin

Z dwojga złego underscore'y czytelniejsze winksmiley.jpg ale i tak oba FW mają porypane nazewnictwo winksmiley.jpg

Napisany przez: Mize 6.01.2009, 19:39:48

Ostatnio korzystałem z kilku fw po trochu. ( ZF, Kohana, CI, Symfony... )

IMHO najlepiej wypadl ZF. Mimo, ze rzeczywiście wyglada to na zestaw luznych klas, to wlasnie w tym widzialem najwiekszy atut.

Naczytalem sie troche negatywnych opinii o Kohanej, ale ku mojemu zaskoczeniu - bardzo sympatycznie to wygladalo.

CI nie wypadl najlepiej mimo, iz tez mam pozytywne odczucia.

A Symfony, ouch... troche mnie przerazilo.
Z ORM mialem juz do czynienia, ale w sf, denerwowalo mnie to, ze mnostwo kodu bylo generowane automatycznie.
Przyspiesza to prace, okay, ale bez przesady.
Moze mnie to Symfony przeroslo, jako ze nie jestem jeszcze na takim poziomie na jakim chcialbym byc.

Teraz mam ochote przetestowac Agavi, bo widze, ze LBO je bardzo zachwala. tongue.gif

No, ale to tylko moj punkt widzenia.
Na razie pozostane przy swoim fw, ktory jest bardzo podobny do Zenda i Kohanej, ale do doskonalosci mu jeszcze daleko... ;s

Napisany przez: LBO 6.01.2009, 19:42:08

Cytat
@LBO, ty tez sie nie podniecaj, bo w moim include_path, mam jedna sciezke. a jak chcesz sie klocic ze require_once jest szybszy od auto loadera, to zapraszam do dyskusji. przytocze ci mase argumentow przeczacych. co do configa to n/c. nie kazdy kto kozakiem sie nazywa, kozakiem jest. Z tym memcached zbioru klas, to sie zapedzilem, ale to przez glosne myslenie. mam na mysli moj prywatny algorytm przyspieszania ZF.


1. Co ma szybkość require_once do autoloadera i gdzie twierdzę cokolwiek? Ale jeżeli już to uwierz, że mam poważne zastrzeżenia co do zendowego autoloadera. Jest zupełnie nieelastyczny i nie mogę sobie dodać do niego zewnętrznych klas nietrzymających się nazewnictwa PEARa. Nie mówiąc o tym, że jest IMO przekombinowany.
W Agavi mam zwykłą mapę i autoloader nie robi nic, prócz
  1. <?php
  2. include(self::$map[$classname]);
  3. ?>

Taka prościzna, a zapewnia multum elastyczności.

Cytat(qbatoja @ 6.01.2009, 01:00:15 ) *
1. Uporzadkowane nazewnictwo. Dzieki nazwom, wiesz co gdzie jest.


Dokładnie, wiem przez ile folderów będę się musiał przebić.

Cytat(qbatoja @ 6.01.2009, 01:00:15 ) *
2. Developerzy. Ciagle pracuja nad rozwojem. Zobacz jak dynamicznie sie on rozwija. Zobacz ile dodatkowych bibliotek z kazda nowa wersja wychodzi. Jak bardzo dbaja o stabilnosc i wydajnosc. Przelec benchamrkiem i zobacz jak co kazdy powazny release, wydajnosc wzrasta od kilkunastu do kilkudziesieciu procent. A prace ciagle trwaja. Mimo dynamiki, dokumentacja jest zawsze na bierzaco.


No i? Wydajność swoją drogą, a wygoda i szybkość adaptacji swoją.

Cytat(qbatoja @ 6.01.2009, 01:00:15 ) *
3. Rozszerzalnosc. W wiekszej grupie programistow, docenisz mozliwosci ZF. Duzo latwiej pisac pluginy i helpery (view, action) do zf. W polaczeniu z pkt 1 duzo latwiej sie odnalesc.


Hmmmm, wolę stworzyć np. jQueryHelper extends ViewHelper (w katalogu app/helepers) uzbrojoną w metody typu jQueryHelper::dragItem(), jQueryHelper::dropItem, jQueryHelper::attachCarousel() etc. niż zestaw klas MyCompany_View_Helpers_Jquery_Item_Drop, MyCompany_View_Helpers_Jquery_Item_Drag, MyCompany_View_Helpers_Jquery_Attach_Carousel.

Cytat(qbatoja @ 6.01.2009, 01:00:15 ) *
4. Zend_Form i Zend_Dojo_Form. Stary, przeanalizuj co te biblioteki daja. Z jaka latwoscia mozesz zbudowac dynamiczne wydajne formularze z walidacja po stronie przegladarki, nie wymagajac od php developera znajomosci js.


Wydaje mi się, że Symfony ze swoim frameworkiem formularzy + helpery wcale, a wcale nie stoi w tyle.

Cytat(qbatoja @ 6.01.2009, 01:00:15 ) *
5. Zend_Cache. Sf ma w sobie tylko cachowanie w plikach. A jesli znasz sie na rzeczy, to wiesz, ze jest to najwolniejszy z mozliwych rodzajow cache. zend ma wsparcie dla memcached, apc no i dla zend_platform, ktore w polaczeniu z innymi produktami zenda, wymiata.


Twierdzisz, jakby tylko zend miał coś takiego? Ale wiesz co - tak nie jest. Wiele frameworków ma wsparcie dla takich rzeczy. I wiesz jaka jest różnica wtedy między nimi? Że w konfiguracji, w ustalonym pliku cache.xml/yml/ini (czy cokolwiek prawdziwy framework wspiera) ustawię sobie
Kod
enable = yes
driver = file|memcache|etc


Cytat(qbatoja @ 6.01.2009, 01:00:15 ) *
6. Firma. Symfony zostalo napisane przez jedna osobe, architektura opracowana przez jedna moze dwie osoby. i to francuza, a co z francji jest dobrego? ;p koles i tak potem odszedl bo nei doszedl do porozumienia. Skoro tak jest to wszystko idzie w zlym kierunku. A Zend? Tworca PHP 5 (Zend Engine II) dobrze wie, jakie zalozenia powinien spelniac framework i aplikacja oparta na PHP. pisana przez wielu developerow komunikujacych sie miedzy soba. Zend podpisal umowe z Adobe, na temat wspolnego rozwoju (gdzie flex w sf, no gdzie?), wspolpracuje tez z wiodacymi javascriptowymi frameworkami dojo, jquery.


A Symfony nie współpracuje, a wsparcie dla większości powyższych ma smile.gif

Cytat(qbatoja @ 6.01.2009, 01:00:15 ) *
7. Biblioteki. Powiesz ze masz dostep do wielu pluginow w symfony, ale one pisane sa przez developerow z dupy wzietych, biblioteki zenda sa pisane przez natywnych developerow. Chocby Zend_Pdf, Zend_Gdata, Zend_Services_* W manualu zf jest napisane nawet jak zaadoptowac smarty.


Uwierz mi, że użytkownicy Symfony umieją odróżnić badziewny plugin od cuda. I piszesz jakby po necie nie krążyły biblioteki-syfy do Zenda.

Cytat(qbatoja @ 6.01.2009, 01:00:15 ) *
8. Spolecznosc. W Symfony nie ma wplywu na rozwoj waznych elementow frameworka, co jest krytykowane nawet przez adoratorow sf (wspone ze autor ksiazki do symfony zbrechtal je, co jest na maksa smieszne. http://redotheweb.com/2008/05/16/no-one-is-irreplaceable/)


Piszesz jakby społeczność Zenda miała takie liczące się zdanie. W ZF zawsze wszystko sprowadza się do opiekuna komponentu - jednej osoby.

Cytat(qbatoja @ 6.01.2009, 01:00:15 ) *
8. Roznorodnosc. W ZF, moge uzyc jako configa i xml, i ini (cokolwiek co implementuje pewien interfejs), dla i18n, mam mase adapterow, w tym gettext od GNU, plus punkt 5 (specjalnie go wyroznilem, bo to barodz wazny element)


W Agavi mogę użyć tylko XML........................ takiego z podpowiadaniem składni na podstawie XSD, includowaniem innych plików xml (ze wsparciem XPath), a co najlepsze potem te XMLe kompilowane są wprost do PHP, ale nie tylko jako tablice danych, a raczej część samego frameworka - kod, który współpracuje wewnętrznie z filtrami, akcjami, widokiem itd


Kod
9. DB. W sf jestem zmuszony do propela lub doctrine, dlugo w sf byly bugi w ich adaptacji. Te smieszne generowanie schematu i modelu, bleee. bajzel! :)



W Symfony też możesz się bez Nich obejść - po prostu nie skorzystasz z dedykowanych generatorów.

Kod
w ZF, mam zjebisty Zend_Db, ktory mi pozwala na wiele. i jeszcze wiecej



hehehehehehe, muszę Ciebie uświadomić - Zend_Db to shit smile.gif


Kod
10. Przepowiadam, albo to juz zostalo pzrepowiedziane, ze Zend Framework stanie sie standardem.



Śmiem wątpić. Ale akurat ten pubkt jest zbyt subiektywny, żeby się spierać.

PS. Przeszedłem z cytatów na kod, bo forum ma ograniczenie na Ich (cytatów) ilość w poście (sic!).

Napisany przez: phpion 6.01.2009, 19:48:28

Cytat(LBO @ 6.01.2009, 21:42:08 ) *
hehehehehehe, muszę Ciebie uświadomić - Zend_Db to shit smile.gif

Tak z ciekawości - dlaczego?

Napisany przez: LBO 6.01.2009, 19:59:14

Cytat(phpion @ 6.01.2009, 19:48:28 ) *
Tak z ciekawości - dlaczego?


Bo to takie niedorobione Doctrine. Z DQL skończyli na select'cie, a przy okazji przekombinowali z drobiażdżkami typu Zend_Db_Expr. Zniechęcił mnie też brak wsparcia do CC.

http://framework.zend.com/issues/browse/ZF-1182


edit:

I gdzie generatory? Wystarczy mi, że zaprojektuję bazę. Nie chcę mieć potem mnóstwa pisaniny dodatkowej.

Napisany przez: mike 6.01.2009, 20:08:33

Cytat(qbatoja @ 6.01.2009, 01:00:15 ) *
6. Firma. Symfony zostalo napisane przez jedna osobe, architektura opracowana przez jedna moze dwie osoby. i to francuza, a co z francji jest dobrego? ;p koles i tak potem odszedl bo nei doszedl do porozumienia. Skoro tak jest to wszystko idzie w zlym kierunku. A Zend? Tworca PHP 5 (Zend Engine II) dobrze wie, jakie zalozenia powinien spelniac framework i aplikacja oparta na PHP. pisana przez wielu developerow komunikujacych sie miedzy soba. Zend podpisal umowe z Adobe, na temat wspolnego rozwoju (gdzie flex w sf, no gdzie?), wspolpracuje tez z wiodacymi javascriptowymi frameworkami dojo, jquery.
1. Za symfony stoi wiele więcej osób niż jeden człowiek;
2. François Zaninotto, który odszedł z Sensio Labs był głównie odpowiedzialny za dokumentację. Więc kod na jego odejściu nie ucierpiał.
3. Przywoływanie jako argumenty słów typu "i to francuza, a co z francji jest dobrego?" jest żenujące i świadczy o tym, że nie masz nic do powiedzenia. Równie dobrze mógłbym powiedzieć w Twoim kierunku "Nie rozmawiam z debilem. Najpierw sprowadzi Cię do swojego poziomu a późnije pokona doświadczeniem".
4. Ze http://framework.zend.com/community/contributors, którzy wnieśli cokolwiek do ZF tylko Gutmans jest faktycznym autorem PHP, więc nie chrzań, że autorzy PHP pisali ZF.
5. symfony współpracuje z tymi samymi wiodącymi frameworkami JavaScript.
6. Zend_Db jest kulawy jak stary wilk morski z deską zamiast nogi.

Zresztą mieliśmy porównywać frameworki. Jeśli dodajemy do tego ZF to czemu nie http://ez.no/ezcomponents?

Napisany przez: LBO 6.01.2009, 20:19:02

Cytat(mike @ 6.01.2009, 20:08:33 ) *
...to czemu nie http://ez.no/ezcomponents?


Mike, robią teraz komponent ezcFramework smile.gif Zgadnij za co będzie odpowiedzialny smile.gif

P.S. ezcDatabase to kawał dobrego kodu.

Napisany przez: itsme 7.01.2009, 09:17:02

słuchajcie może zamiast ściagania się w konkursie "kto komu lepiej dopie*" proponuję inną zabawę - z korzyścią dla wszystkich.

@LBO: jako żywy dowód obrony ZF znajdź w nim 10 największych minusów oraz 10 największych plusów w Symfony. Nie porównywamy tych dwóch produktów - poprostu szukamy plusy i minusy.

tą samą prośbę kieruje do @Mike :-) oczywiście znajdź 10 minusów w Symfony (dla Ciebie najbardziej dotkliwych) i 10 plusów ZF.

Jedyne życzenie to takie że argumentując ZF lub Symforny nie mnożecie się odwoływać do drugiego przedmiotu rozprawy/badań.

pozdrawiam

Napisany przez: qbatoja 7.01.2009, 12:29:35

@LBO

Spoko, dodasz sobie zewnetrzna biblioteke ktora ma w sobie 100 klas i co? Recznie dodajesz klasy do mapy i ich sciezki? Poza tym w Zend mam cos takiego jak metode registerAutoload, gdzie w parametrze mozesz podac klase, ktora ci zmodyfikuje auto loadowanie klas. nic nie stoi na przeszkodzi rozszerzyc zamienianie _ na / i najpierw sprawdzic czy klasa jest w twojej tablicy. pare linijek kodu. Prawda jest taka, ze tez mam zastrzezenia do zend autoloadera ale innej natury. poza tym nie to ze sie czepiam, ale spl_autoload_register jest szybsze smile.gif

Ad 1. Yhm, nie tylko wiem gdzie znajduja sie pliki, ale wiem do jakiego elementu logiki dana klasa nalezy.

Ad 2. Ehh.. Przeciez sam w kazdym poscie pisze, ze to prawda ze w sf szybko mozna napisac aplikacje, a ZF jest super do pisania aplikacji per project lub zgodnie z wlasnymi zalozeniami. Czytamy ze zrozumieniem smile.gif

Ad 3. uhh, ale sie napiszesz tongue.gif Poza tym i tak przesadzasz, bo tak samo moge napisac: MyCompany_View_Helpers_Jquery::itemDrag(); A w uzyciu nie piszesz calej klasy, tylko $this->jquery();

Ad 4. Masz racje, wydaje Ci sie smile.gif Naprawde nie zdajesz sobie sprawy z mocy jaka tam jest, ze generujac formularz, mozwesz zalatwic walidacje, filtrowanie, dekoracje itd. Z calym szacunkiem, ale tego nie ma w symfony.

Ad 5. Tematu nie ma, zapedzilem sie nie badajac jak sie maja sprawy w symfony.

Ad 6. Zend_Amf to poczatek wpolpracy, napewno beda kolejne swietne rzeczy. Poza tym PHP to open source, wiec poki Zend nie zrobi wala i nie bedzie dodawal skompilowanych bibliotek, symfony moze podpatrzec kod i rowniez go zaadoptowac. Poza tym, skoro tak wspolpraca jest, to mozliwe ze adobe bedzie tak wypuszczalo nowe produkty, zeby byly na maksa kompatybilne z zf.

Ad 7. Nie wiem czy kraza, bo ja takowych nie potrzebuje. Skoro Symfony jest takie wow, to dlaczego junior developer musi rozrozniac badziew od dobrego kawalka kodu?

Ad 8a. Zapraszam http://framework.zend.com/wiki/display/ZFDEV/Home, sporo programistow wystawia proposale, jest caly diagram postepowania opisany, aktywnosc na tym polu jest bardzo wysoka. Poza tym jest genialny wzor dla specyfikacji jaka musi developer przedstawic. Ludzi sie lacza w teamy, pomagaja developowac nowe i isteniejace bilbioteki. Tam wsyzstko jest.

Ad 8b. Cos mi sie powalilo z tymi 8 tongue.gif Tu tez tematu nie powinno byc, aczkolwiek co do twojego xml, to spoko. Podoba mi sie, sek w tym, ze niektorzy lubia format ini.

Ad 9. Zdanie "Db to shit" bardzo mnie uswiadomilo. Uuu tongue.gif Bardzo mi sie podoba Zend_Db_Select jest przyjemniejszy od Klasy Criteria. Bardziej naturalny. To samo z Zend_Db_Table, kotry implementuje znakomity wzorzec Table Gateway. Co do tego problemu co podales w innym poscie, ja go nie mam, bo mi taka technika sie nie podoba i jest malo wydajna. Mam klasy modelu gdzie joinuje co trzeba i przekazuje do kontrolera tablce/obiekt bardzo smaczny i pachnacy.

Ad 10. Masz racje, to bylo subiektywne i nie ma sensu sie o to wspierac


@mike

Ad 1
Cytuje François Zaninotto:

Cytat
Today, my opinions are clearly not the ones of the “symfony core team”. Important design choices are not discussed with the community, just like when symfony was only developed internally. 95% of the code base is still the result of a single man’s work and decisions. The community is just there to provide support, do the beta testing and play with plugins. This is a big strength of the project (no dispersion, no time lost in sterile discussions), but it’s also frustrating when somebody wants to get more involved.


Ad 2.
Ale byl silnie zwiazny z tym teamem, wiec to ma znaczenie, skoro nie znalazl porozumienia.

Ad 3.
Ehh, zapomniales emotki zacytowac, ktora symbolizowala nacjonalistyczny zart (kazdy sobie zartuje z roznych narodowosci. dla jasnosci nie mam uprzedzen). Ale spoko, wiem ze to bylo specjalnie zeby mnie zgnoic nie majac argumentow.

Ad 4.
Chrzanisz to ty, sam strzelajac sobie gola. Gutmans chlopcze to jedna z wazniejszych postaci w swiecie PHP i skoro on tam jest, to znaczy ze cos w tym jest, z reszta jest zarzad ktory podjemuje najwazniejsze decyzje, co do kierunku w ktorym to wsyzstko ma isc. Ehhh

Ad 5. Mozliwe, nie napisalem ze Symfony tego nie ma. Chcialem tylko zaznaczyc, jaki potencjal ma Zend technologies.

Ad 6. "jak juz mowilam w poprzednim wejsciu, podwozie bylo zle, a szyny... szyny tez byly zle" (http://youtube.com/watch?v=KIlS5EO17e0)


Nie bede sie juz spieral, to moj ostatni tego typu post, bo to nie ma sensu. nikt nikogo nie przekona. Jedyne czego bym oczekiwal to wiecej szacunku do siebie.
@ itsme, ciekawe, ale moze pozniej tongue.gif

Napisany przez: phpion 7.01.2009, 12:34:48

Świetna zabawa itsme! Mimo, że nie jestem w paczce winksmiley.jpg to napiszę co mnie najbardziej denerwuje w Symfony:
1. Zbyt duża automatyzacja. Czasem aby coś zmienić/dostosować do swoich potrzeb trzeba się nieźle nagłowić.
2. Konfiguracja zapisana w *.yml. Również trzeba główkować i kombinować jak zapisać jakieś dane (np. tablice).
3. Propel. Wszystko fajnie, szybko się buduje modele, ale gdy trzeba wprowadzić jakieś zmiany trzeba wszystko przebudować. Dalej za Propelem: brak możliwości korzystania ze specjalnych typów dla danej bazy danych.
4. Utworzenie własnego wyglądu formularza (np. inne ułożenie kliku pól) rownież nie należy do najprzyjemniejszych.
5. Pluginy. Jakoś nie mogłem się w nich połapać. Niby jest ich masa ale...
6. Największa (jak dla mnie wada) to fakt, że jak się na czymś utknie to kaplica.
7. Do wygodnej obsługi na serwerze docelowym przydałby się dostęp przez konsolę, a na większości serwerów (wirtualnych) takowego brak.
8. *
9. *
10. *

O ZF nie będę się wypowiadał, bo nie miałem z nim dłuższego kontaktu.

* Brak, a nie chcę wymyślać na siłę.

Cytat(qbatoja @ 7.01.2009, 14:29:35 ) *
Ad 4. Masz racje, wydaje Ci sie smile.gif Naprawde nie zdajesz sobie sprawy z mocy jaka tam jest, ze generujac formularz, mozwesz zalatwic walidacje, filtrowanie, dekoracje itd. Z calym szacunkiem, ale tego nie ma w symfony.

http://www.symfony-project.org/book/forms/1_2/en/ ?

Napisany przez: JoShiMa 7.01.2009, 12:42:56

No i zrobił się flame o wyższości świąt Bożego Narodzenia nad świętami Wielkiej Nocy. Litości, panowie...

Napisany przez: phpion 7.01.2009, 12:44:27

Cytat(JoShiMa @ 7.01.2009, 14:42:56 ) *
No i zrobił się flame o wyższości świąt Bożego Narodzenia nad świętami Wielkiej Nocy. Litości, panowie...

Dlaczego? Temat to "Wybór Frameworka" więc chyba jest to miejsce do wypowiadania się o plusach i minusach różnych rozwiązań. Wolałabyś abyśmy pisali "S/ZF/K/CI bo tak!"?

Napisany przez: qbatoja 7.01.2009, 13:12:16

Cytat(phpion @ 7.01.2009, 11:34:48 ) *
http://www.symfony-project.org/book/forms/1_2/en/ ?

Nie znalzlem tego w glownej dokumentacji i ksiazce do symfony, najwidoczniej nie znam sie na sf dobrze, wiec wycofuje sie z tematow, czego symfony nie ma smile.gif Dzieki pion za info

Napisany przez: LBO 7.01.2009, 15:32:28

Cytat(qbatoja @ 7.01.2009, 12:29:35 ) *
@LBO

Spoko, dodasz sobie zewnetrzna biblioteke ktora ma w sobie 100 klas i co? Recznie dodajesz klasy do mapy i ich sciezki? Poza tym w Zend mam cos takiego jak metode registerAutoload, gdzie w parametrze mozesz podac klase, ktora ci zmodyfikuje auto loadowanie klas. nic nie stoi na przeszkodzi rozszerzyc zamienianie _ na / i najpierw sprawdzic czy klasa jest w twojej tablicy. pare linijek kodu. Prawda jest taka, ze tez mam zastrzezenia do zend autoloadera ale innej natury. poza tym nie to ze sie czepiam, ale spl_autoload_register jest szybsze smile.gif


Nie, po to mam w Agavi plik config.php, a sf klase ProjectConfiguration, żeby tam sobie zrobić

  1. <?php
  2. spl_register_autoload(http://www.php.net/array('ezcBase', 'autoload'));
  3. ?>


bez zbędnej pisaniny i dodatkowych obiektów. I po co? Żeby na siłe podłączyć pod autoloader frameworka?

Cytat(qbatoja @ 7.01.2009, 12:29:35 ) *
Ad 1. Yhm, nie tylko wiem gdzie znajduja sie pliki, ale wiem do jakiego elementu logiki dana klasa należy.


Tak, a czy naprawdę konieczna jest nazwa "Zend_Controller_Request_Http"? Bo jak dla mnie wystarczy "WebRequest" i jest tak samo opisowe.

Cytat(qbatoja @ 7.01.2009, 12:29:35 ) *
Ad 2. Ehh.. Przeciez sam w kazdym poscie pisze, ze to prawda ze w sf szybko mozna napisac aplikacje, a ZF jest super do pisania aplikacji per project lub zgodnie z wlasnymi zalozeniami. Czytamy ze zrozumieniem smile.gif


Odniosłem się do Twojego punktu. Oraz czepianie się "czytania ze zrozumieniem" to jest najniższa z form riposty smile.gif

Cytat(qbatoja @ 7.01.2009, 12:29:35 ) *
Ad 3. uhh, ale sie napiszesz tongue.gif Poza tym i tak przesadzasz, bo tak samo moge napisac: MyCompany_View_Helpers_Jquery::itemDrag(); A w uzyciu nie piszesz calej klasy, tylko $this->jquery();


Owszem napiszę się. Dla mnie ta funkcjonalność powinna być zamknięta w obiekcie, a nie w klasach. Tutaj developerzy Zf dali ciała.

Cytat(qbatoja @ 7.01.2009, 12:29:35 ) *
Ad 4. Masz racje, wydaje Ci sie smile.gif Naprawde nie zdajesz sobie sprawy z mocy jaka tam jest, ze generujac formularz, mozwesz zalatwic walidacje, filtrowanie, dekoracje itd. Z calym szacunkiem, ale tego nie ma w symfony.


za @phpionem

Cytat(qbatoja @ 7.01.2009, 12:29:35 ) *
Ad 6. Zend_Amf to poczatek wpolpracy, napewno beda kolejne swietne rzeczy. Poza tym PHP to open source, wiec poki Zend nie zrobi wala i nie bedzie dodawal skompilowanych bibliotek, symfony moze podpatrzec kod i rowniez go zaadoptowac. Poza tym, skoro tak wspolpraca jest, to mozliwe ze adobe bedzie tak wypuszczalo nowe produkty, zeby byly na maksa kompatybilne z zf.


ZF to zestaw klas i komponentów. Nic nie trzeba zaadoptować, tylko sobie użyć.

Cytat(qbatoja @ 7.01.2009, 12:29:35 ) *
Ad 7. Nie wiem czy kraza, bo ja takowych nie potrzebuje. Skoro Symfony jest takie wow, to dlaczego junior developer musi rozrozniac badziew od dobrego kawalka kodu?


Nie potrzebujesz, bo prócz jakiś tam pluginów kontrolera, to w ZF nic nie ma. W Symfony, plugin to plugin i możesz w nim podpiąć wszystko - od zwykłego zestawu klas, po cały administracyjny interfejs stoczni.

Cytat(qbatoja @ 7.01.2009, 12:29:35 ) *
Ad 8a. Zapraszam http://framework.zend.com/wiki/display/ZFDEV/Home, sporo programistow wystawia proposale, jest caly diagram postepowania opisany, aktywnosc na tym polu jest bardzo wysoka. Poza tym jest genialny wzor dla specyfikacji jaka musi developer przedstawic. Ludzi sie lacza w teamy, pomagaja developowac nowe i isteniejace bilbioteki. Tam wsyzstko jest.


Masz pluginy w symfony. Jeżeli coś jest dobre to to szlifują i wtłaczają do projektu.

Cytat(qbatoja @ 7.01.2009, 12:29:35 ) *
Ad 8b. Cos mi sie powalilo z tymi 8 tongue.gif Tu tez tematu nie powinno byc, aczkolwiek co do twojego xml, to spoko. Podoba mi sie, sek w tym, ze niektorzy lubia format ini.


W Agavi (i w symfony) obsługa konfiguracji też jest podmieniana. Chodzi o to, że w mam tam najlepszy IMO dobrze rozwiązany i przemyslany system i nie potrzebuję się przesiadać na nic innego. Czemu w Javie XML odgrywa tak dużą rolę?

Cytat(qbatoja @ 7.01.2009, 12:29:35 ) *
Ad 9. Zdanie "Db to shit" bardzo mnie uswiadomilo. Uuu tongue.gif Bardzo mi sie podoba Zend_Db_Select jest przyjemniejszy od Klasy Criteria. Bardziej naturalny. To samo z Zend_Db_Table, kotry implementuje znakomity wzorzec Table Gateway. Co do tego problemu co podales w innym poscie, ja go nie mam, bo mi taka technika sie nie podoba i jest malo wydajna. Mam klasy modelu gdzie joinuje co trzeba i przekazuje do kontrolera tablce/obiekt bardzo smaczny i pachnacy.


Post z wyjaśnieniem miałeś niżej, wiec bez "uuuu" proszę smile.gif I nie napisałeś nic, co by zaprzeczyło, temu co napisałem wcześniej o Zend_Db i Doctrine.

edit:

Uważam, że dyskusja sie trzyma kupy. Każdy ma swoje zdanie, którego broni i pomimo uszczypliwości to flame nie jest smile.gif

@qbatoja - Pozdrawiam biggrin.gif

Napisany przez: qbatoja 7.01.2009, 16:03:31

Nie chce mi sie juz rozwodzic na ten temat, bo slepych wrogow ZF nawet jak by ktos mial 100% racji, to nie przekona. Odnniose sie tylko do punktu 3. Jak chcesz wszystko zamykac w 1 obiekcie to przenies sie na programowanie strukturalne, to ze tobie sie nie podoba cos, lub czegos nie rozumiesz, nie znaczy ze najbardziej wplywowi ludzie w swiecie php i it ktorzy maja wieloletnie doswiadczenie daja ciala. Ale rowniez pozdrawiam.

Zly jestem ze dalem sie sprowokowac do takiej dyskusji i zeby bylo jasniej:

1. Symfony - Bardzo spoko framework, ma duzo mozliwosci, szybko moge postawic stronke, jest duzo pluginow, dzieki czemu moge zarobic sporo kasy na pani jadzi w kilka minut.
2. Zend Framework, wybitnie napisany kod, dzieki dowolnosci jaka oferuje, sam moge tak polaczyc jego biblioteki, ze bedzie idealna i mocna podstawa mojego portalu. Ustalam pewne rzczy per projekt, per potrzeby. Klient chce konfiga w ini? bedzie go mial.

p.s. lubie sie "klocic" z tymi ktorzy sie znaja na rzeczy i ich argumenty sa merytoryczne i w pozytywnym duchu smile.gif

Napisany przez: JoShiMa 7.01.2009, 16:07:09

Cytat(phpion @ 7.01.2009, 14:44:27 ) *
Temat to "Wybór Frameworka" więc chyba jest to miejsce do wypowiadania się o plusach i minusach różnych rozwiązań.

Zacznijmy od tego, że pytanie "Jaki FW wybrać" zadają osoby początkujące w tej dziedzinie (takie jak na przykład ja). Tymczasem niektórzy wchodzą na taki poziom abstrakcji, że ich szczegółowe wywody i uwagi, które nie są kierowane do początkujących a do oponentów, nawet w najmniejszym stopniu nie są pomocne w dokonaniu wyboru. Dlatego właśnie uważam, że dyskusja idzie w złym kierunku.

Na szczęście na początku było kilka sensownych i pomocnych wypowiedzi kliknęłabym 'pomógł', ale chyba tylko autor może to zrobić sad.gif.

Napisany przez: AxZx 7.01.2009, 16:44:33

Cytat(qbatoja @ 7.01.2009, 16:03:31 ) *
2. Zend Framework, wybitnie napisany kod, dzieki dowolnosci jaka oferuje, sam moge tak polaczyc jego biblioteki, ze bedzie idealna i mocna podstawa mojego portalu. Ustalam pewne rzczy per projekt, per potrzeby. Klient chce konfiga w ini? bedzie go mial.


w ini to chyba defaultowo jest w ZF, ale co jak będzie chciał w YAML ?smile.gif

Napisany przez: qbatoja 7.01.2009, 16:48:14

nie bedzie chcial, bo jak nacisnie tab, to mu sie wsyzstko zepsuje tongue.gif

Napisany przez: misiek08 7.01.2009, 17:54:51

Teraz ja tongue.gif Potrzebuje Frameworka do stworzenia stron teamu w grze LFS. Mamy kilka grup teamowych takich jak wyścigowcy, drifterzy itp. Chciałem się zapytać które rozwiązanie jest najbardziej elastyczne, w miare szybkie i wspiera MySQL w dobrym stopniu. Bede korzystal z mod_rewrite

Napisany przez: phpion 7.01.2009, 17:56:59

@misiek08:
Niech ci się chce i z łaski swojej przeczytaj ten temat. Potem zadaj ewentualnie jakieś konkretne pytania.

Napisany przez: AxZx 7.01.2009, 18:07:32

Cytat(qbatoja @ 7.01.2009, 16:48:14 ) *
nie bedzie chcial, bo jak nacisnie tab, to mu sie wsyzstko zepsuje tongue.gif


bo to jest rozwiązanie dla inteligentnych:)

Napisany przez: qbatoja 7.01.2009, 18:18:36

ale pani jadzia nie jest zazwyczaj inteligentna tongue.gif
@misiek08: Moze zainteresuj sie gotowym cms jak drupal? smile.gif

Napisany przez: normanos 7.01.2009, 18:39:02

@qbatoja: 5 postów temu obiecałeś, że już skończyłeś, a dalej gderasz...

Daliście się trochę podpuścić, przyszedł agresywny gościu, pobluzgał trochę, a na koniec poprosił "aby się szanować" LOL. I z merytorycznego wątku zostały jakieś popłuczyny...

Napisany przez: batman 7.01.2009, 18:53:20

Jako użytkownik ZF napiszę 5 rzeczy, które mi się w nim nie podobają. A na koniec wyjaśnię dlaczego ZF, a nie Symfony.
1. Domyślny dekorator w Zend_Form otacza kolejne elementy w znaczniki dl, dt, a nie w div. Trzeba za każdym samemu zmieniać. Niby nic trudnego, ale potrafi zdenerwować.
2. Dojo. Nie wiem dlaczego Zend zdecydował się na współpracę z Dojo, a nie z jQuery (w wersji 1.7 dodali ZendX_JQuery).
3. Bardzo dużo możliwości zrobienia jednej rzeczy, np przekazywanie parametrów do jakiegoś obiektu. Można podać tablicę, użyć metod dostępowych, przekazać w metodzie init lub konstruktorze, można przekazać obiekt Zend_Config i kilka innych.
4. Wbrew pozorom dokumentacja nie jest taka wspaniała jak ją malują. Niby wszystko jest w niej opisane, ale wszystkie kruczki i haczyki trzeba samemu znajdować.
5. Pseudo-modułowość. Miałem okazję wykorzystać kilka klas z ZF w autorskim frameworku i niestety oprócz tych kilku klas musiałem przerzucić 3 dodatkowe moduły, ponieważ były ze sobą powiązane.

Więcej wad nie znajdę. Musiałbym siąść do jakiegoś projektu, pewnie coś by się jeszcze znalazło.

A na koniec dlaczego ZF, a nie Symfony.
Zanim zająłem się ZF, zrobiłem sobie mały test - instalacja frameworka i postawienie aplikacji "hello world" na podstawie oficjalnej dokumentacji. Robiłem to na Ubuntu. W ZF zajęło mi to około 10 min, w symfony 30. W ten czas wchodzi znalezienie informacji w dokumentacji, stworzenie projektu, ustawienie configa, bazy itp.
Test ten spowodował, że teraz jestem użytkownikiem ZF.

Napisany przez: phpion 7.01.2009, 18:56:51

batman:
Moim zdaniem Twój argument odnośnie decyzji podczas wyboru ZF czy S jest troszkę słaby. Dlaczego nie wziąłeś pod uwagę iż przy którejś aplikacji z rzędu poszłoby Ci to zdecydowanie szybciej? Nie powiesz mi chyba, że teraz nadal siedzisz z dokumentacją przed oczami i szukasz info o "Mój pierwszy projekt w ZF" smile.gif Argument nieco naciągany winksmiley.jpg

Napisany przez: batman 7.01.2009, 19:01:48

Cytat
Argument nieco naciągany

Zapomniałem dodać, że większość czasu zajęło mi znalezienie tego w dokumentacji i poprawne uruchomienie.
Poza tym wolę pracować z takimi narzędziami, które są dobrze udokumentowane, niż z takimi, które może są lepsze, ale muszę z każdym problemem kierować się na forum.

Napisany przez: mike 7.01.2009, 20:01:22

Cytat(qbatoja @ 7.01.2009, 18:18:36 ) *
ale pani jadzia nie jest zazwyczaj inteligentna tongue.gif
Jaja sobie robisz? Jaki opiekun aplikacji daje dostęp do plików konfiguracyjnych dla "pani Jadzi"?
Z głupich argumentów w dyskusji się śmiejesz a podajesz jeszcze głupsze. Nie udawaj głupiego. No chyba, że nie udajesz.

Kurde, wpada jakiś troll i z wątku śmieci. Przestańcie go karmić to sobie pójdzie.

Napisany przez: qbatoja 8.01.2009, 00:09:45

Cytat(mike @ 7.01.2009, 19:01:22 ) *
Jaja sobie robisz? Jaki opiekun aplikacji daje dostęp do plików konfiguracyjnych dla "pani Jadzi"?
Z głupich argumentów w dyskusji się śmiejesz a podajesz jeszcze głupsze. Nie udawaj głupiego. No chyba, że nie udajesz.

Kurde, wpada jakiś troll i z wątku śmieci. Przestańcie go karmić to sobie pójdzie.


To ja nie wiem czego cie k2 nauczylo. Podam Ci przyklad w twoim zajefajnym symfony. Moja agencja robila gniota w symfony dla pewnej brytyjskiej firmiy . Ale szanowny klient chcial aplikacje hostowac na swoim serwerze a nam nie dali do niego zadnego dostepu, chcieli tylko instrukcje jak to uruchomic. Zeby skonfigurowac propela, sam dobrze wiesz co trzeba zedytowac. Na szczescie wszystko poszlo okej, ale moglobyc roznie, bo pracujac jeszcze w polsce robilem aplikacje .netowa dla duzej firmy, ktora rowniez nie dawala nam dostepu, placili sporo wiec mozna bylo sie meczyc i uwierz mi ze spece od IT, ktorzy dostawali gruba kase nie potrafili dobrze pliku przegrac.

Mysle ze wiele osob skorzystalo na tych "smieciach" A Ty jestes najbardziej wulgarna i nierozgarnieta osoba na tym forum, umiesz tylko jezdzic po ludziach, twoje posty sa przepelnione agresja, czego nei znalazlem w postach LBO i phpiona. wielki moderatorze! [btw. karmic trola i ajfon srajfon, najpopularniejsze teksty ostatnio. ehh]
Sorry za offtopic.gif

Napisany przez: phpion 8.01.2009, 06:31:19

qbatoja:
Aby (w miarę) bezboleśnie przenieść aplikację napisaną w Symfony wystarczy skorzystać z polecenia freeze, które przekopiuje biblioteki Symfony (i wszystko co z nim związane w tym i Propel) do katalogu projektu. Wtedy wystarczy tylko wrzucić na serwer, skonfigurować dane dostępowe do bazy danych i to w zasadzie wszystko. Znowu więc nieco mijasz się z prawdą winksmiley.jpg Poza tym chcąc instalować Symfony na serwerze wystarczy wydać 1 polecenie dla PEAR (no, plus discovery channel). Nie jest to więc aż tak skomplikowane zadanie... zakładając oczywiście odrobinę szczęścia smile.gif hehe.

Napisany przez: mike 8.01.2009, 09:44:44

Cytat(qbatoja @ 8.01.2009, 00:09:45 ) *
To ja nie wiem czego cie k2 nauczylo. Podam Ci przyklad w twoim zajefajnym symfony. Moja agencja robila gniota w symfony dla pewnej brytyjskiej firmiy . Ale szanowny klient chcial aplikacje hostowac na swoim serwerze a nam nie dali do niego zadnego dostepu, chcieli tylko instrukcje jak to uruchomic. Zeby skonfigurowac propela, sam dobrze wiesz co trzeba zedytowac. Na szczescie wszystko poszlo okej, ale moglobyc roznie, bo pracujac jeszcze w polsce robilem aplikacje .netowa dla duzej firmy, ktora rowniez nie dawala nam dostepu, placili sporo wiec mozna bylo sie meczyc i uwierz mi ze spece od IT, ktorzy dostawali gruba kase nie potrafili dobrze pliku przegrac.
No i znowo okazuje się, że nie wiesz o czym piszesz. Postawienie aplikacji w symfony to kwestia freeze i proste zmiany w maksymalnie dwóch/trzech plikach konfiguracjnych. W następnym poście znów napiszesz, że wycofujesz się z tego? Ile już takich postów napisałeś?
Cytat(qbatoja @ 8.01.2009, 00:09:45 ) *
Mysle ze wiele osob skorzystalo na tych "smieciach" A Ty jestes najbardziej wulgarna i nierozgarnieta osoba na tym forum, umiesz tylko jezdzic po ludziach, twoje posty sa przepelnione agresja, czego nei znalazlem w postach LBO i phpiona. wielki moderatorze! [btw. karmic trola i ajfon srajfon, najpopularniejsze teksty ostatnio. ehh]
To Ty zacząłeś tą dyskusję i to Ty nastawiłeś ją na tory agresywności i wulgaryzmów. Nie ma co się teraz dziwić.

Do wszystkich
Proszę o powrót do dyskusji takiej jak wyglądała przed wojną, którą wzniecił ~qbatoja w poście nr http://forum.php.pl/index.php?s=&showtopic=96851&view=findpost&p=555061 tej dyskusji. Każda osoba, która będzie kontynuowała ten spór w takim tonie jak jest on prowadzony obecnie (tj. przekrzykiwanie się i obrażania bez wyraźnych konkretów) będzie karana ostrzeżeniem przez moderatorów.
W ostateczności wątek zostanie zamknięty na krótki czas aż wszyscy ochłoną.

Napisany przez: qbatoja 8.01.2009, 10:27:25

Cytat(mike @ 8.01.2009, 08:44:44 ) *
No i znowo okazuje się, że nie wiesz o czym piszesz. Postawienie aplikacji w symfony to kwestia freeze i proste zmiany w maksymalnie dwóch/trzech plikach konfiguracjnych.

Znow nie czytacie ze zrozumieniem, dobrze wiem co to freeze i wcale nie pisalem o powaznych zmianach i nie nie wspominalem o 10 plikach i zmianach w kodzie. W moim przypadku dokladnie 2 pliki byly potrzebne do edycji, podalem ci przyklad ze jednak pani jadzia ma dostep do pliku konfiguracyjnego. wiec cala twoja retoryka powinna byc w koszu. Dobra koniec, nie bede sie bronil i pierwszy to zakoncze. Aczkolwiek winny sie nie czuje, bo wystarczy napisac napisac ze symfony to zlo a juz jest sie trolem smile.gif Aa, mial byc koniec tongue.gif

Wracajac do tematu, co moge polecic phpowcom, ktorzy nie maja duzego doswiadczenia z inzynieria oprogramowania?
tak! symfony moge polecic, bo w 99% wystarczy wam podejscie, ktore jest tam zaimplementowane. Nauczycie sie wykorzystywac generatory, instalowac pluginy i napiszecie bezbolesnie spoko back-end. A jak dostaniecie dostep do shela, to bedzie jeszcze latwiej (w 80% go nie dostaniecie tongue.gif)
Jesli chcecie cos bardziej elastycznego i wyrafinowanego, i macie pojecie jak sie zabrac za wydajna architekture, to Zend Framework jest do tego idealny. I pozniejsze pisanie w nim to sama rozkosz. Do tego w polaczeniu z Zend Studio for Eclipse, bedziecie mieli programowe wsparcie, ktore na maksa ulatwia prace (jest tam nawet cos jak new -> zend framework project, ktory tworzy wam silna podstawe na ktorej mozna juz cos wyrzezbic).

Pozdrawiam

Napisany przez: itsme 8.01.2009, 11:35:07

@qbatoja: lamisz na forum publicznym to raz. Dwa popełniasz błędy a nie potrafisz powiedzieć "rzeczywiście ten argument z mojej strony jest do bani".
Dlaczego?
Oświadczasz, że Symfony jest do bani, bo dla klienta z Anglii (jakby miało to jakieś znaczenie) nie mogłeś "swobodnie" przenieść aplikacji gdyż wymagało to edycji pliku lub plików.
Po zwróceniu Ci uwagi, że można to zrobić w sposób prosty i wygodny stwierdzasz, że nie potrafimy czytać ze zrozumieniem.
Idąc Twoim tokiem rozumowania, Symfony jest bee, bo podczas przenoszenia aplikacji nie mogłeś/lub oni nie mogli edytować pliku.
Czyli konieczność edycji jednego pliku dyskwalifikuje Symfony względem ZF.
Tym samym należy rozumieć, że Twój klient z Angli (jakby miało to jakieś znaczenie) nie musiałby edytować pliku konfiguracyjnego przy przenoszeniu ZF.

Teraz rozumiesz? Symfony BEE, bo trzeba edytować plik lub pliki. ZF CACY, bo nie trzeba edytować pliku. hmm a może jednak trzeba ? - Czyli nie ma różnicy.

Konkluzja: nic nie wiedziałeś o freeze i teraz jest Ci wstyd się do tego przyznać.

Cytat
A jak dostaniecie dostęp do shela, to bedzie jeszcze latwiej (w 80% go nie dostaniecie )

na marginesie pracuje sie na localhost i tam można wszystkie pliki wygenerować również pod Windowsem ... Czyli kolejna wtopiona argumentacja.
ZF nie jest Frameworkiem - tak długo jak sobie tego nie napiszemy. Dostaniesz 10 produktów napisanych w ZF przez 10 różnych podmiotów ze zleceniem połączenia tego i polegniesz - bo każdy napisał swój Framework ze swoją strukturą itp
w Symfony pominięto pewne etapy tylko na korzyść programisty i AŻ takich kłopotów nie będzie.

I tego argumentu nie obalisz.


@mike: z szacunku do samego siebie - nie zwalczaj wojny wojną ... jak widzisz nikt nie wygra.

I mała uwaga końcowa: wczoraj w radio w RMFFM porannym gościem był były Ambasador Izraela (rozmowa na temat obecnej sytuacji w strefie Gazy), który powiedział coś bardzo ciekawego:
Wszyscy wiedzą jak wojnę wywołać, lecz później nikt nie wie jak ją zakończyć.
W wyniku wojny nikt nie jest wygranym a wszyscy są przegrani - gdyż wojna sama w sobie jest złem.


Rozumiem dyskusje na argumenty. Nie rozumiem dlaczego niektórzy są na nie głusi.

Napisany przez: qbatoja 8.01.2009, 12:09:48

Cytat(itsme @ 8.01.2009, 10:35:07 ) *
@qbatoja: lamisz na forum publicznym to raz. Dwa popełniasz błędy a nie potrafisz powiedzieć "rzeczywiście ten argument z mojej strony jest do bani".
Dlaczego?
Oświadczasz, że Symfony jest do bani, bo dla klienta z Anglii (jakby miało to jakieś znaczenie) nie mogłeś "swobodnie" przenieść aplikacji gdyż wymagało to edycji pliku lub plików.
Po zwróceniu Ci uwagi, że można to zrobić w sposób prosty i wygodny stwierdzasz, że nie potrafimy czytać ze zrozumieniem.
Idąc Twoim tokiem rozumowania, Symfony jest bee, bo podczas przenoszenia aplikacji nie mogłeś/lub oni nie mogli edytować pliku.
Czyli konieczność edycji jednego pliku dyskwalifikuje Symfony względem ZF.
Tym samym należy rozumieć, że Twój klient z Angli (jakby miało to jakieś znaczenie) nie musiałby edytować pliku konfiguracyjnego przy przenoszeniu ZF.

Hahahah, ten post mnie rozwalil (ciekaw jestem czy warna dostaniesz, napewno nie, bo jestes za symfony). A myslalem ze ludzie z mojego miasta prezentuja akceptowalny poziom (nalezy mi sie warn za to, wiem). Az nie wiem co napisac bo rece opadaja. No kiedy oswiadczylem ze symfony jest do bani, bo trzeba edytowac pliki konfiguracyjne? no kiedy?questionmark.gif? cytuj!! napisalem ta historie tylko zeby uswiadomic, ze klient czasem musi miec dostep do pliku konfiguracyjnego. Moglem w ten przyklad dac aplikacje napisana w ZF, ale takiej sytuacji jescze nie mialem. I co ma tutaj freeze do tego? przeciez napisalem: "Zeby skonfigurowac propela, sam dobrze wiesz co trzeba zedytowac." nie wiesz? to ja ci powiem, bo u mnie dwa pliki yaml'a. I to wszystko. Dalem tu, powtorze sie znow, przyklad mike'owi ze w niektorych wypadkach daje sie dostep do plikow konfiguracyjnych. A ty nagle jakies teorie z dupy, odwracasz wszystko. Ze niby w zendzie nie trzeba konfiguracji zmieniac, ja pier.... Przekroczyles teraz pewne granice.

Piszesz o zakonczeniu wojny a sam ja jatrzysz. Poza tym potrafie sie przyznac, wycofalem sie z pewnych argumentow, bo ktos mi potrafil uswiadomic moja niewiedze co do symfony mocnymi argumentami. A potem ktos mnie jeszcze wysmial, ze sie wycofuje. zalosne

Jestescie towarzystwem wzajemnej adoracji, zaslepionym w swojej dumie. Bo co? bo jetescie lepsi od innych? Napewno. Ale to nie czyni z was nadludzi.

Napisany przez: itsme 8.01.2009, 12:45:51

qbatoja: teraz kieruje słowa do Ciebie nie Twoich argumentów.

1. Nie oceniam Ciebie - oceniam Twoje zachowanie i wypowiedzi.
2. A myslalem ze ludzie z mojego miasta prezentuja akceptowalny poziom
- nie jest to Twoje miasto, w tym mieście mieszkasz
- obrażasz swojego rozmówcę i za to warn
3. dla Twoje wiadomości firma dla której pracuje używa obu produktów
4. Nie dawaj durnych przykładów bo one do niczego nie prowadzi a tylko mąci w Twoich wypowiedziach. W każdym przypadku jeżeli przenosimy aplikację należy go skonfigurować. Co miał Twój przykład innym udowodnić? DO czego on ma służyć ? CO z tego że są spece od IT, którzy nie potrafią przegrać pliku - jak to ma się do Sym a do ZF ? NIe będę dociekał pięć postó niżej co Ty miałeś na myśli.
5. wyrażenia typu "teoria z dupy" itp zachowaj dla siebie abyś nie musiał pisać o akceptowalnym poziomie.
6. moj poprzedni post był kierowany do wszystkich
7. podałem CI argument jakoś nie potrafiłeś się do niego ustosunkować ale znalazłeś w sobie siłę aby "dowalić"
8. jeżeli chcesz udowadniać swoją siłę słownictwa nad wyższością ZF i Sym zapraszam na PW nie zaśmiecaj przyklejonego tematu.

do pozostałych - dzis posprzatam ten temat szkoda go na wojny ...
Do kosza poleca wszystkie watki gdzie jest zaczepka osobista oraz wypowiedzi nawiazujace do nich - w tym rowniez moje mika i innych rozmowcow.

// Dodam od siebie, że zanim polecą do śmietnika, autor dostanie ostrzeżenie.
// ~webdice

Napisany przez: Insert 12.01.2009, 14:18:03

Kłótnia toczyła się głównie pomiędzy użytkownikami / zwolennikami Zenda i Symfony. 

Rozumiem, że wiele osób nie bierze pod uwagę mało popularnych frameworków, takich jak prado, agavi, seagull czy nawet kohana (nie mówię, że są złe - mówię, że wielu nie bierze ich pod uwagę z powodu bądź co bądź dość niewielkiej popularności).

Nie rozumiem jednak gdzie jest miejsce CakePHP w tej dyskusji? Jest dość popularny i dojrzały, w moim odczuciu, póki co (mam z nim małe doświadczenie, przyznaję) Cake może konkurować z Symfony czy Zendem (może konkurować != ma podobne, potężne możliwości). Zadałem sobie trud i przeczytałem wszystkie 8 stron, framenty sensowne i te mniej. Ale nikt nie napisał jakie są najważniejsze, ramowe zalety i wady tego frameworka. Czy ktoś byłby uprzejmy z użytkowników CakePHP napisać dla potrzeb moich i potomnych takie małe zestawienie w punktach?

Dlaczego zastanawiam się mocno nad CakePHP? Korzystałem z wielu rozwiązań. Zend, Symfony, CI (stare czasy), Kohana, Prado, Seagull, Cake też, powierzchownie. Wychodząc poza PHP także z Django... Jednak każde z tych frameworków miało jakąś sporą wadę lub kilka, które (akurat mi) doswierały. Obecnie korzystam od kilku miesięcy z Kohany jednak sam nie wiem, czy jak tak dalej pójdzie, to będę nadążał kończyć projekty przed aktualizowaniem FW to nowej wersji. Ten framework w moim przekonaniu skupia się na rozwoju w pionie, a nie w poziomie. Ma to swoje zalety, ale dla mnie potrzebne jest jak najbardziej stabilne narzędzie pracy. Chcę frameworka dojrzałego, w którym będzie większość najbardziej potrzebnych rzeczy, w którym szybko napiszę potrzebną mi aplikację bez zbędnych modyfikacji. No i oczywiście w którym nowe wersje będą w 100% wstecz kompatybilne (w Kohanie już 3 razy musiałem modyfikować aplikacje, bo akurat wyszła nowa wersja, a chcąc wdrożyć wszystkie poprawki wdrażałem automatycznie także i przerobione rozwiązania). Nie oczekuję przekonywania mnie, że jednak Symfony, a może jednak Zend, bo przecież to czy tamto. Dziękuję z góry, ale pytam wyłącznie o CakePHP.

Napisany przez: JoShiMa 12.01.2009, 14:29:26

Cytat(Insert @ 12.01.2009, 16:18:03 ) *
Nie rozumiem jednak gdzie jest miejsce CakePHP w tej dyskusji?


Nie czytałeś uważnie

Cytat(normanos @ 27.06.2008, 16:09:13 ) *
@Lk_hc: w zasadzie do wyboru masz 5:
cakePHP
CodeIgniter
KohanaPHP
Symfony
ZendFramework

2 pierwsze skreślasz ze względu na używanie nie supportowanych wersji PHP.

Napisany przez: Insert 12.01.2009, 14:50:08

Cytat(JoShiMa @ 12.01.2009, 14:29:26 ) *
Nie czytałeś uważnie


Czytałem przytoczony przez Ciebie argument normanosa, jednak nie podzielam go, ponieważ Cake ma wsparcie zarówno dla PHP4 jak i 5, już od dawna. Chciałem powiedzieć we wcześniejszym poście, że nie znalazłem żadnych zalet / wad, żadnego konkretnego zbioru argumentów, do czego napisania namawiam a zarazem proszę użytkowników CakePHP.

Napisany przez: normanos 12.01.2009, 15:28:33

Cytat(Insert @ 12.01.2009, 14:50:08 ) *
nie podzielam go, ponieważ Cake ma wsparcie zarówno dla PHP4 jak i 5, już od dawna.

na czym polega ów wsparcie? winksmiley.jpg

A ogólnie: zawsze twierdziłem, że FW to w pierwszej kolejności filozofia tworzenia, a dopiero potem masa innych rzeczy. cakePHP był moim pierwszym FW kilka lat temu porzuconym po pierwszym projekcie. Narzucał mi zbyt sztywne ramy, był całkowicie zORMowany, a większość czasu zajmowało mi obchodzenie tych ram zamiast pisanie samej aplikacji. RoR do mnie nie przemawia więc i cakePHP nie dał rady winksmiley.jpg

Napisany przez: Insert 12.01.2009, 15:55:17

Cytat(normanos @ 12.01.2009, 15:28:33 ) *
na czym polega ów* wsparcie**? winksmiley.jpg


*owe - smile.gif


**Nie bawiłem się nim, więc to, czym obaliłem (bądź chciałem obalić) Twój argument przeciwko Cake, oparłem na zdaniu wywleczonym prosto z oficjalnej dokumetacji:
Cytat(http://book.cakephp.org/view/8/What-is-CakePHP-Why-Use-it)
Compatible with versions 4 and 5 of PHP

Napisany przez: LBO 12.01.2009, 16:25:55

Cytat(Insert @ 12.01.2009, 15:55:17 ) *
Compatible with versions 4


Dla mnie to wada nie do przeskoczenia i z miejsca skreśla ten/każdy framework.

Napisany przez: Insert 12.01.2009, 16:32:57

Cytat(LBO @ 12.01.2009, 16:25:55 ) *
Dla mnie to wada nie do przeskoczenia i z miejsca skreśla ten/każdy framework.


Dla mnie również (dlatego nie korzystam już dawno z CodeIgnitera), jeżeli nie byłoby wzmianki "and PHP5"... Jeżeli jest, to moje aplikacje mogą działać nawet w PHP3 smile.gif byle można było pisać na "obraz i podobieństwo" PHP5, wykorzystywać wszystkie dobrodziejstwa tej wersji PHP.

Napisany przez: normanos 12.01.2009, 17:02:53

ale co to zmienia "and 5"? Wielkie mi halo, żeby 4ka chodziła pod 5 winksmiley.jpg

"obraz i podobieństwo" winksmiley.jpg Między 4.4 a 5.3 to już jest niezła przepaść, ciekawi mnie to "podobieństwo".

Ale to już schodzimy na temat 4 vs 5 który przynajmniej od roku nie powinien być wałkowany.

Napisany przez: LBO 12.01.2009, 18:31:17

Cytat(Insert @ 12.01.2009, 16:32:57 ) *
Dla mnie również (dlatego nie korzystam już dawno z CodeIgnitera), jeżeli nie byłoby wzmianki "and PHP5"... Jeżeli jest, to moje aplikacje mogą działać nawet w PHP3 smile.gif byle można było pisać na "obraz i podobieństwo" PHP5, wykorzystywać wszystkie dobrodziejstwa tej wersji PHP.


Ale to nie o to chodzi. Mimo braków obiektowość 5-tki w stosunku do 4-ki to jak niebo a ziemia.
4 zwyczajnie pozwala na "za dużo", chociażby:

  1. <?php
  2. class Framework
  3. {
  4.    /*
  5.      * @var WaznyObiekt
  6.      * @protected
  7.      */
  8.    var $waznyObiekt;
  9.  
  10.    /*
  11.      * @var NiewaznyObiekt
  12.      * @public
  13.      */
  14.    var $niewaznyObiekt;
  15.  
  16.    function initialize(WaznyObiekt $waznyObiekt)
  17.    {
  18.        $this->waznyObiekt = $waznyObiekt;
  19.    };
  20. }
  21.  
  22.  
  23. // Gdzieś w kodzie ja lub zwyczajnie rozgoryczony i roztrzęsiony współpracownik, bo go dziewczyna rzuciła, naskrobiemy w kodzie
  24.  
  25. $this->getFramework()->WaznyObiekt = new NiewaznyObiekt(); // oj pomyliłem się i nadpisałem ważną zmienną (a miała być ta nieważna) - od tej chwili to bomba zegarowa i nie wiadomo gdzie wybuchnie.
  26. ?>


Rozumiesz, że w 5-tce taka sytuacja by nie zaistniała.

Napisany przez: Insert 12.01.2009, 19:22:35

Cytat(normanos @ 12.01.2009, 17:02:53 ) *
ale co to zmienia "and 5"? Wielkie mi halo, żeby 4ka chodziła pod 5 winksmiley.jpg

"obraz i podobieństwo" winksmiley.jpg Między 4.4 a 5.3 to już jest niezła przepaść, ciekawi mnie to "podobieństwo".

Ale to już schodzimy na temat 4 vs 5 który przynajmniej od roku nie powinien być wałkowany.



Nie zrozumieliśmy się (widocznie nie wystarczająco dokładnie wyraziłem swoje myśli), ale powyższa wypowiedź wyjaśnia mi wszystko. smile.gif Nawet przez chwile nie pomyślałem o tym, że chciałbym jeszcze cokolwiek kodować w PHP4 - to tak dla wyjaśnienia smile.gif. Dzięki, dyskwalifikacja dla CakePHP nastąpiła, brak PHP5, mój błąd.

Napisany przez: phpion 12.01.2009, 19:38:38

Jeżeli jest napisane, że dany framework współpracuje z PHP4 oraz PHP5 to oznacza to tyle, że jest napisany w PHP4. Dla mnie również jest to wada. Chcę korzystać z nowszych rozwiązań, które są przystosowane tylko do PHP5. Po co mi wsparcie dla PHP4? Osobiście korzystam z Kohany i jestem bardzo zadowolony.

Napisany przez: JoShiMa 13.01.2009, 09:08:13

Cytat(phpion @ 12.01.2009, 21:38:38 ) *
Osobiście korzystam z Kohany i jestem bardzo zadowolony.


Ja od tygodnia również ;P

Napisany przez: Grzesiek 14.01.2009, 17:42:52

Cytat(mike @ 6.01.2009, 19:10:39 ) *
Zend_Controller_Plugin_Abstract
Zend_Controller_Request_Abstract
Zend_Controller_Dispatcher_Standard
Zend_Controller_Router_Route_Hostname
... i tak dalej. Nie znalazłem sześcioczłonowej choć na pewno jest tongue.gif


Mike chyba sobie kpisz nie znalazłeś sześcioczłownowej nazwy? Ja w dwie minuty znalazłem siedmio częściową tongue.gif
Zend_Pdf_Resource_Font_Simple_Standard_Helvetica

Chociaż zgodze się, że sposób w jaki pliki są zorganizowane w ZF jest bardzo dobry, wiadomo gdzie czego szukac i nie ma problemu z autoloadowaniem.

Napisany przez: batman 14.01.2009, 20:15:05

Co wy tak się uczepiliście tych nazw? Jeśli korzystasz z frameworka, to na pewno używasz jakiegoś IDE. Jeśli używasz IDE, to wystarczy, że wpiszesz kilka pierwszych liter z nazwy klasy i nie musisz klepać całego, długiego, żmudnego kawałka kodu.
Ludzie, skupcie się na konkretach, a nie wypisujecie bzdury.

Napisany przez: Grzesiek 15.01.2009, 19:37:05

Ok niech będą konkrety.

Swego czasu profilowałem, aplikacje opartą na ZF, w kodzie wykorzystywane było między innymi Zend_Measure_Length do przeliczania milimetrów na piksele i odwrotnie. W trakcie działania aplikacji funkcje przeliczające były wykonywane bodajże kilkadziesiąt tysięcy razem nie pamiętam w każdym bądź razie sporo przeliczeń. W wynikach zaciekawiło mnie to, że Zend_Measure_Length żeby wykonać proste przeliczenie jednej jednostki na drugą potrzebuje zaincludować pare plików, stworzyć kilka obiektów i wywołać dziesiątki metod podczas gdy takie przeliczenie można zrobić mnożąc przez stała! Więc zastąpiłem te przeliczenia stałymi i czas wykonywania skryptu zmniejszył się o ponad 20%, a zmieniłem raptem dwie linijki z około tysiąca.

Ktoś chyba nawet w tym wątku napisał że ZF jest zbyt obiektowe, początkowo myślałem, że to bzdura i nie ma czegoś takiego jak "zbyt obiektowe", ale teraz nie sposób mi sie z tym nie zgodzić. Moim zdaniem miejscami (nie mówie że zawsze i wszędzie) ZF jest mocno przekombinowany, a zastosowane tam programowanie obiektowe to (miejscami) sztuka dla sztuki.

Na koniec chciałem dodać, że Zend Framework bardzo lubie. tongue.gif

Napisany przez: nieraczek 4.02.2009, 10:47:54

A ja mam pytanie o ZF - czy jak robicie formularze to piszecie je w specjalnym kodzie ZF do tworzenia formularzy czy w zwykłym PHP, bo jeśli w języku ZF to mi się zdaje, że potem takie strony byłyby trudne do przeniesienia na inny framework........

Napisany przez: batman 4.02.2009, 10:55:34

Nie rozumiem co masz na myśli pisząc "specjalny kod ZF"?
Jeśli chodzi Ci o klasy Zend_Form_*, to tak. Korzystam z nich podczas tworzenia aplikacji. Poza tym jeśli wybrałem jakiś framework, to po to by w nim napisać całą aplikację, a nie po to, by sprawdzić czy mi się podoba i w połowie projektu zmienić framework. Zmiana frameworka jest na tyle poważną zmianą, że i tak musiałbyś wszystko przepisać od zera.

Napisany przez: nieraczek 4.02.2009, 12:28:34

Ja muszę się zapoznać z symfony frameworkiem, bo ZF nie podoba mi się - do wszystkiego ma własny kod - można powiedzieć, że to już nie do końca php a jakiś nowy język, nawet formularze w ZF wymyślili żeby robić ich sposobem tongue.gif

Napisany przez: nospor 4.02.2009, 12:30:21

1) Po to jest framework by dostarczal gotowe rozwiązania
2) Nikt ci nie kaze robic formularzy po ZF - mozesz robic po swojemu
3) Symfony tez udostepnia wlasne formularze

Napisany przez: mike 4.02.2009, 12:32:56

Cytat(nieraczek @ 4.02.2009, 12:28:34 ) *
można powiedzieć, że to już nie do końca php a jakiś nowy język
A jQuery to taki nowy JavaScript, co? Może najpierw doczytaj co to jest framework i do czego takie narzędzie służy.

Napisany przez: nieraczek 9.02.2009, 18:41:59

Mam pytanie odnośnie symfony frameworka i te pseudozapytania do baz danych w propel i doctrine - czego wy używacie ? Bo ten propel wydaje się bardzo skomplikowany, doctrine przypomina bardziej zapytania w stylu zend frameworka i trochę łatwiejsze. Co preferujecie ?

Napisany przez: michalg 19.02.2009, 17:41:05

Cytat(nieraczek @ 9.02.2009, 18:41:59 ) *
Mam pytanie odnośnie symfony frameworka i te pseudozapytania do baz danych w propel i doctrine - czego wy używacie ? Bo ten propel wydaje się bardzo skomplikowany, doctrine przypomina bardziej zapytania w stylu zend frameworka i trochę łatwiejsze. Co preferujecie ?


Doctrine, ze względu na:
- IMHO łatwiejsze pisanie zapytań za pomocą DQL'a niż propelowych cryteriów
- bogatszą dokumentacje
- bardziej aktywny rozwój i utrzymywanie

A propo symfony - dailymotion (serwis video a'la youtube) jest w trakcie przepisywania pod symfony:
http://www.symfony-project.org/blog/2009/02/18/dailymotion-powered-by-symfony

Napisany przez: nieraczek 4.03.2009, 08:10:40

A jak sprawa wygląda z bezpieczeństwem w symfony ? W ZF chyba jak robi się jakiegoś inserta z danymi od uzytkowników do bazy danych to nie trzeba uzywać mysql_real_escape_string() a w symfony o takie i inne sprawy trzeba chyba dbać samemu ?

Napisany przez: phpion 4.03.2009, 08:23:38

Czy ty kiedykolwiek zaglądasz do manuali?
http://www.symfony-project.org/book/1_2/08-Inside-the-Model-Layer

Cytat
Propel does all the necessary escaping and secures your database. Accessing the database directly puts you at risk of SQL-injection attacks.

Zaraz powiesz, że używasz Doctrine. W takim razie albo przyjmij, że jest tak samo, albo sobie sam poszukaj odpowiedniego wpisu w dokumentacji.

Napisany przez: nieraczek 4.03.2009, 16:54:51

phpion zadałem pytanie nie bez powodu gdyż:

  1. <?php
  2. $tabela = new SfGuardUserProfile();
  3. $tabela->user_id = 5;
  4. $tabela->imie = 'h"hh';
  5. $tabela->save();
  6. ?>


Zapisuje się w bazie jako: h"h\h a nie h\"h\\h.

Napisany przez: dr_bonzo 4.03.2009, 17:17:48

@nieraczek - no to wlasnie dobrze sie zapisuje, tak jak podales.

Napisany przez: nieraczek 4.03.2009, 18:27:31

aha to ok - dzieki tongue.gif

Napisany przez: Bart77 24.03.2009, 12:56:47

Cytat(nieraczek @ 9.02.2009, 18:41:59 ) *
Mam pytanie odnośnie symfony frameworka i te pseudozapytania do baz danych w propel i doctrine - czego wy używacie ? Bo ten propel wydaje się bardzo skomplikowany, doctrine przypomina bardziej zapytania w stylu zend frameworka i trochę łatwiejsze. Co preferujecie ?


Ja używam propela, ale raczej z rozpędu winksmiley.jpg Po tym, co napisał michalg, przyjrzę się doctrine. Chociaż z propelem problemów raczej nie miałem.

Napisany przez: nieraczek 25.03.2009, 21:38:44

Na szczęście w symfony 1.3 najprawdopodobniej domyślnym ORM będzie Doctrine z normalnymi zapytaniami a nie Propel z zapytaniami zupełnie nie podobnymi do SQL.

Napisany przez: mike 25.03.2009, 21:39:54

Cytat(nieraczek @ 25.03.2009, 21:38:44 ) *
Na szczęście w symfony 1.3 najprawdopodobniej domyślnym ORM będzie Doctrine z normalnymi zapytaniami a nie Propel z zapytaniami zupełnie nie podobnymi do SQL.
Obawiam się że oba ORM'y będą nadal miały status pluginu tongue.gif I bardzo dobrze. Doctrin ssie i ma mnóstwo niedoróbek. A poza tym jest wolniejsze.

Napisany przez: nieraczek 25.03.2009, 22:04:46

Z pewnością oba będą miały nadal status pluginu, tyle, że w symfony 1.3 domyślnie włączonym pluginem zapewne będzie Doctrine a nie Propel - i bardzo dobrze. Nie wiem czy Doctrine od Propela wolniejsze, ale na pewno w używaniu przyjemniejsze. tongue.gif

Napisany przez: mike 25.03.2009, 22:28:08

Cytat(nieraczek @ 25.03.2009, 22:04:46 ) *
Nie wiem czy Doctrine od Propela wolniejsze, ale na pewno w używaniu przyjemniejsze. tongue.gif
Tak, do SELECT dupa FROM tabela; wszystko inne już nie jest takie różowe.
Szczególnie bezużyteczne relacje, z którumi nic nie można zrobić, kompletnie nieprzemyślane kolekcje i brak konsekwencji w API. Mega przyjemne tongue.gif

Napisany przez: Cysiaczek 4.04.2009, 12:15:30

@mike - no wiesz, ale łączenie Criterionów Criterionami, a tych z kolei z Criteriami też bywa mózgotrzepne smile.gif

Napisany przez: mike 4.04.2009, 18:38:37

Oba ORMy mają wady. Ja uważam, że mniej wad ma Propel.
Choć w Doctrine DQL jest fajny.

Napisany przez: webber 5.04.2009, 12:08:59

Witam,

Przechodzę [w końcu] z programowania strukturalnego na obiektowe... zapoznaje się z książką:
http://helion.pl/ksiazki/php5zp.htm

Teraz moje pytanie. Powinienem iść dalej tworząc proste aplikacje pisane przez siebie bez użycia jakichkolwiek frameworków czy też zacząć od pisania w CI, Symfony, Kohana...? Analizowałem CI, jest na prawdę prosty, taka dobra podstawa, jednakże bardzo zachęcające jest Symfony które ma kapitalną dokumentację, fajny kurs Jobeet i wiele innych zalet które są na prawdę kuszące. Więc, czy OOP uczyć się pisząc swoje, czy też zacząć od analizy jakiegoś frameworka, a jeśli tak to którego? Ci mi przypadł do gustu, więc dobrym wyborem myślę byłaby Kohana, jednakże Symfony ma to coś... lecz czy dobre jest do "nauki" MVC, OOP?

Albo jeszcze inaczej, czy znając php4, programując strukturalnie przez jakiś tam okres czasu, warto byłoby się przesiąść np. na ASP.Net? [zastanawiam się nad tym od jakiegoś czasu, czy jest sens nadal kłuć php czy też popatrzeć na inny język].

Napisany przez: Lonas 5.04.2009, 16:51:26

Bylem w podobnej sytuacji do Ciebie i zaczalem uzywac symfony. Poczatki byly ciezkie ale nie wyobrazam sobie teraz pisac czegos wiekszego strukturalnie i od podstaw.

Napisany przez: michalg 6.04.2009, 19:39:44

Cytat(mike @ 4.04.2009, 19:38:37 ) *
Oba ORMy mają wady. Ja uważam, że mniej wad ma Propel.
Choć w Doctrine DQL jest fajny.


Dla mnie DQL stanowi dużą zaletę nad criterionami.
A nie martwi Cię, że propel jest dosyć słabo rozwijany? Nie masz obaw, że wchodzisz w technologię bez przyszłości (bo ja ją tak odbieram)?

Myślę, że mała rewolucja się szykuje w wersji 2.0 Doctrine - np definiowanie modeli za pomocą czegoś na wzór adnotacji javy.

Napisany przez: normanos 16.04.2009, 12:10:10

Cytat(kierzniak @ 16.04.2009, 00:26:17 ) *
post 9 wnosi cos nowego do dyskusji?

zupełnie nic.

Napisany przez: skowron-line 23.04.2009, 15:01:38

Mam takie troche głupie pytanie ale na forum są osoby które znają kilka frameworków i moje pytnaie jest takie co sprawia że zainteresowali się tym 2 albo tym entym, z czego to wynika questionmark.gif Czy nie lepiej być specjalistą od jednego fw.

Napisany przez: batman 23.04.2009, 15:13:40

W mojej opinii najlepiej być ekspertem w jednej dziedzinie, a w reszcie się orientować.
Kiedyś już piałem dlaczego wybrałem ZF. Napiszę jeszcze raz.

Zrobiłem bardzo prosty test. Na podstawie dokumentacji zainstalowałem i napisałem przykładową aplikację hello world, czy blog i sprawdziłem ile zajęło mi to czasu. Okazało się, że ZF wypadł w tym zestawieniu najlepiej i przy tym frameworku zostałem. Taki test pozwolił mi określić w jakim czasie jestem w stanie znaleźć informację w dokumentacji oraz nakład pracy jaki musiałem włożyć w stworzenie kodu. Po co mi kobyła, do której nie ma jasnej dokumentacji oraz wymaga nawalenia kilka razy więcej kodu.

Napisany przez: phpion 23.04.2009, 17:23:01

Mi się wydaje, że znajomość (nieważne na jakim poziomie) kilku frameworków wynika z tego, że ludki (przynajmniej ja) szukały swojego frameworka. Ja przeszedłem drogę od Code Igniter, poprzez Symfony oraz króciutką styczność z Zend Framework aby finalnie wybrać Kohana. Z Symfony pracowałem dość długo (ponad rok) więc coś tam w głowie pozostało. Nie mogę jednak na chwilę obecną powiedzieć bym znał ten framework - po prostu się w nim orientuję i w razie potrzeby jestem w stanie na nim coś postawić. A z czego wynika to, że wybrałem Kohana? Po prostu najbardziej przypadła mi do gustu smile.gif po prostu smile.gif

Napisany przez: normanos 24.04.2009, 21:10:50

Cytat(phpion @ 23.04.2009, 16:23:01 ) *
Mi się wydaje, że znajomość (nieważne na jakim poziomie) kilku frameworków wynika z tego, że ludki (przynajmniej ja) szukały swojego frameworka.

Dokładnie tak winksmiley.jpg Najpierw cakePHP i tylko jeden serwis na nim (straszna mordęga), potem CodeIgniter - kilka serwisów, niektóre stoją do dzisiaj, w międzyczasie tylko głębsze zainteresowanie ZF i Symfony, tudzież sugestie przy tworzeniu Rapide, a potem od samego początku istnienia Kohana do dzisiaj winksmiley.jpg

Napisany przez: Apocalyptiq 26.04.2009, 13:21:23

Dzięki phpion za info o Kohana'ie - dopiero od wczoraj się w nią wtajemniczam, ale już podoba mi się bardziej od Zenda, którego ostatnio się uczyłem winksmiley.jpg Jest luźniejsza i lżejsza od Zenda.

Napisany przez: qba_rox 1.05.2009, 11:34:53

ja wybralem zf z tego powodu np, ze stoji za nim sam zend. jest to framework przyszlosciowy, ktory sie mega dynamicznie rozwija no i jest sednem obiektowosci. kazdy framework ma swoje plusy i swoich fanow. osobiscie.. bardzo polecam smile.gif

Napisany przez: nieraczek 1.05.2009, 17:52:46

Ja wole poczekać, aż zend stanie się prawdziwszym frameworkim i bardziej upodobni się do symfony (a gdzieś czytałem artykuł jakoby zend miał coraz bardziej wzorował się na symfony - choć narazie zbytnich podobieństw nie widzę poza wzorcem MVC), bo samo stworzenie hierarchii katalogów i zmodyfikowanie bootstrapa zajęło mi kupe czasu jak pół roku temu troszkę zapoznałem się z zendem - mogliby dać dla początkujących jakąś podstawową strukturę aplikacji winksmiley.jpg

Napisany przez: batman 1.05.2009, 18:06:55

Dzisiaj wyszła wersja 1.8, która wprowadza Zend_Tool. Możesz dzięki temu stworzyć nowy projekt, który praktycznie jest gotowy do pracy. Wymaga tylko kilku poprawek (niestety).

Napisany przez: qba_rox 1.05.2009, 19:45:51

Cytat(nieraczek @ 1.05.2009, 17:52:46 ) *
mogliby dać dla początkujących jakąś podstawową strukturę aplikacji winksmiley.jpg


myslisz sie. w zend studio tworzac nowy zend framework project, program tworzy ci strukture plikow i bootstrap. poza tym jak batman powiedzial masz zend_tool i zend_application, ktore i tak pewnie beda rozwijane dalej ;]

Napisany przez: mike 1.05.2009, 20:03:24

Cytat(qba_rox @ 1.05.2009, 20:45:51 ) *
myslisz sie. w zend studio tworzac nowy zend framework project, program tworzy ci strukture plikow i bootstrap.
Nie, nie myli się. Sam framework w tym nie pomaga. Jest zbyt luźny.
Prawie 1400 PLN za możliwość zbudowania szkieletu to sporo, nie? tongue.gif
Cytat(qba_rox @ 1.05.2009, 20:45:51 ) *
poza tym jak batman powiedzial masz zend_tool i zend_application, ktore i tak pewnie beda rozwijane dalej ;]
~batman powiedział też, że to nie działa tongue.gif A poza tym ile musieliśmy na to czekać?
Niech lepiej się Zend zabierze do roboty (a widać że idzie w dobrym kierunku) i zrobi z tych paczek framework.

Napisany przez: batman 1.05.2009, 20:22:30

Nie napisałem, że nie działa, tylko że wymaga kilku poprawek. Możliwe, że coś źle robiłem, ponieważ testowałem to raptem 30 minut. Nie udało mi się podłączyć layoutu oraz zmienić domyślnych ustawień tworzonego projektu. Reszta działała "jak ta lala" winksmiley.jpg

Poza tym ZF nie jest frameworkiem tylko zbiorem klas i dopiero od niedawna powstają takie klasy, które pozwalają nazywać ZF frameworkiem. Należy pamiętać, że w tej ogromnej ilości klas można znaleźć całą masę użytecznych narzędzi.

A odnośnie Zend Studio, czy Zend Server. Nie pasują mi te aplikacje. Miałem kilka podejść do obu aplikacji i nie potrafię się do nich przekonać. No i cena jest wyjątkowo nieodpowiednia.

Napisany przez: LBO 1.05.2009, 22:00:43

Cytat(mike @ 1.05.2009, 21:03:24 ) *
(a widać że idzie w dobrym kierunku)


Hej mike, ja mam niestety trochę inne odczucia. W moich oczach ZF nigdy nie będzie prawdziwym frameworkiem.

Wygląda jak zbiór klas, zachowuje się jak zbiór klas i jest zbiorem klas. I nie zmienią tego miliardy tie-in'ów którymi będą te zbiory spajać. Rozbije się to o decyzje architektoniczne developerów ZF.

Napisany przez: mike 1.05.2009, 22:13:52

Cytat(LBO @ 1.05.2009, 23:00:43 ) *
Wygląda jak zbiór klas, zachowuje się jak zbiór klas i jest zbiorem klas. I nie zmienią tego miliardy tie-in'ów którymi będą te zbiory spajać. Rozbije się to o decyzje architektoniczne developerów ZF.
To prawda. Zła decyzja na początku (system komponentów zamiast frameworka) zbiera teraz żniwo.

Napisany przez: LBO 1.05.2009, 22:48:07

Cytat
To prawda. Zła decyzja na początku (system komponentów zamiast frameworka) zbiera teraz żniwo.

Uważam, że lepiej by to wszystko wyszło, gdyby przepisali PEARa - oparli wszystko o PHP5 i udoskonalili system dystrybucji.

A tak, trzeba pogratulować ludziom od reklamy z Zenda za najlepszy przekręt jaki widział światek PHP smile.gif Doskonała pozycja startowa (w końcu Zend), kupa szmalu i dodatkowe "Framework" przy nazwie zrobiły swoje.
Na początku istnienia ZF wszystko było ukierunkowane na reklamę tj. nazewnictwo z wszędobylskimi pluginami. Ja lubię przytaczać chociażby sprawdzony na Javie wzorzec Intercepting Filter. Developerzy ZF go uprościli i nazwali pluginem. No i te głupie nazwy klas... trzeba się zastanowić w przyszłości, czy PHP nie ma jakiegoś limitu długości na to smile.gif I po co to? Żeby dzieciaki co dopiero zaczynają zabawę w PHP wiedziały gdzie czego szukać... przebijając się przez tysiące podkatalogów?
Mam wrażenie jakby przy starcie ZF był robiony dla retardów i nigdy się go nie pozbędę. W związku z tym mam nową i lepszą nazwę: Zend Marketing.

Ooo, albo te wkurzające argumenty wymyślaczy-koła-na-nowo-którzy-przed-ZF-w-każdym-projekcie-zawsze-budowali-aplikacje-from-scratch: "to dobrze że ZF nie ma ustalonej struktury katalogów, bo mogę sobie wszystko sam zrobić" (tiaaa, a potem tydzień siedzę przy code inspection i się głowię w jaki sposób można aż taki burdel stworzyć). To pytam się Ich teraz co będą mówić kiedy Zend zbuduje im tą strukturę (nie oszukujmy się ofkorz, bo nie wierzę, że będzie ona kompletna.......... kłóciłoby się to z założeniami frameworka, pfff)? Co będą wtedy mówić?

Napisany przez: qba_rox 2.05.2009, 10:00:28

Ja sie z wami nie bede klocil. Jak chcesz to znazwac, nazwij to marketingiem, ale ja dzieki zf od nowa zakochalem sie w php i pisanie programow sprawia mi przyjemnosc, a pisanie w symfony przyprawia mnie o bol glowy (co nie zmienia faktu ze jest dobrym frameworkiem, ktory wiele razy sie sprawdzil w mojej karierze). LBO, nie wiem dlaczego uwazasz, ze zf nigdy nie bedzie prawdziwym frameworkiem, mysle ze powinienes sie dokladnie przyjzec zend_application i zend_tool, bo dzieki nim, szybko wystartujesz z nowym projektem od poczatku (batman, mi dziala wszystko, oprocz jednej malej/duzej tongue.gif rzeczy, ale przez to, ze mam config xmlowy).

@LBO. mysle, ze argumenty ludzi nie znajacych sie na inzynierii programowania, tak inteligentny czlowiek jak ty, powienien od razu odrzucic. Kto normalny od nowa caly czas pisze podstawe dla nowych aplkacji?

Nikomu nie narzucam zf, lubisz elastycznosc? zend_marketing jest dla ciebie smile.gif
A na koniec, ktos tam kiedys psiaczyl, jaki to zend_loader jest tragiczny. mamy nowy 'Zend_Loader_Autoloader'. jest fenomenalny!

Napisany przez: LBO 2.05.2009, 10:25:05

Cytat(qba_rox @ 2.05.2009, 11:00:28 ) *
Ja sie z wami nie bede klocil. Jak chcesz to znazwac, nazwij to marketingiem, ale ja dzieki zf od nowa zakochalem sie w php i pisanie programow sprawia mi przyjemnosc, a pisanie w symfony przyprawia mnie o bol glowy (co nie zmienia faktu ze jest dobrym frameworkiem, ktory wiele razy sie sprawdzil w mojej karierze). LBO, nie wiem dlaczego uwazasz, ze zf nigdy nie bedzie prawdziwym frameworkiem, mysle ze powinienes sie dokladnie przyjzec zend_application i zend_tool, bo dzieki nim, szybko wystartujesz z nowym projektem od poczatku (batman, mi dziala wszystko, oprocz jednej malej/duzej tongue.gif rzeczy, ale przez to, ze mam config xmlowy).


Swoje zdanie na temat tie-in'ów (klasy pośrednie, spajające kilka komponentów w całość) wyraziłem - nie zmienią one tryliarda klas rozrzuconych po miliardzie folderów we framework.

Dodatkowo za jakiś czas będą wypuszczać gotowce Zend_Application_Twitter, Zend_Application_Facebook.
Zrobisz tylko:
  1. <?php
  2. Zend_Application_Google::run();
  3. ?>


et voila, masz w pełni działającą wyszukiwarkę, a do tego będziesz mógł dokupić Zend Data Center Enterprise za jedyne miliony baksów (cena waląca po oczachna głównej stronie ZF w takim lśniącym, ślicznym, pastelowym badge'u), żeby to udźwignąć.

Cytat(qba_rox @ 2.05.2009, 11:00:28 ) *
@LBO. mysle, ze argumenty ludzi nie znajacych sie na inzynierii programowania, tak inteligentny czlowiek jak ty, powienien od razu odrzucic. Kto normalny od nowa caly czas pisze podstawe dla nowych aplkacji?


Może trochę uogólniłem. Ten argument poruszają całkiem dobrzy programiści. Tylko nazwanie tego elastycznością to przesada.
Widziałeś graf zależności ZF? Masakra, a teraz pewnie się rozrósł jeszcze bardziej.

Cytat(qba_rox @ 2.05.2009, 11:00:28 ) *
Nikomu nie narzucam zf, lubisz elastycznosc? zend_marketing jest dla ciebie smile.gif
A na koniec, ktos tam kiedys psiaczyl, jaki to zend_loader jest tragiczny. mamy nowy 'Zend_Loader_Autoloader'. jest fenomenalny!


przy wersji 1.9 pewnie podmienią na Zend_Loader_Autoloader_Loader_Loader smile.gif Pomyśleć, że kiedyś mieli mały, fajny Zend::autoload().

Napisany przez: batman 2.05.2009, 20:34:20

Cytat(LBO @ 1.05.2009, 23:00:43 ) *
Wygląda jak zbiór klas, zachowuje się jak zbiór klas i jest zbiorem klas. I nie zmienią tego miliardy tie-in'ów którymi będą te zbiory spajać. Rozbije się to o decyzje architektoniczne developerów ZF.
Tak, to prawda. ZF jest zbiorem klas. I dlatego właśnie ZF mi się podoba. W zależności od projektu mogę wykorzystać tylko potrzebne klasy, bez konieczności pakowania całej kobyły na serwer.

Cytat(LBO @ 1.05.2009, 23:48:07 ) *
Uważam, że lepiej by to wszystko wyszło, gdyby przepisali PEARa - oparli wszystko o PHP5 i udoskonalili system dystrybucji.
PHP jest tak słabym językiem, że musieliby go napisać od zera, by był zjadliwy. Na tym tle ZF wypada bardzo dobrze, ponieważ jest tym, czym powinien być PHP od samego początku - zbiorem komponentów.

Cytat(LBO @ 1.05.2009, 23:48:07 ) *
A tak, trzeba pogratulować ludziom od reklamy z Zenda za najlepszy przekręt jaki widział światek PHP smile.gif Doskonała pozycja startowa (w końcu Zend), kupa szmalu i dodatkowe "Framework" przy nazwie zrobiły swoje.
(...)
Mam wrażenie jakby przy starcie ZF był robiony dla retardów i nigdy się go nie pozbędę. W związku z tym mam nową i lepszą nazwę: Zend Marketing.
Choćbyś zrobił najwspanialszy system, to bez reklamy go nie sprzedasz. Masz swoje zdanie na temat ZF i go nie zmienisz, więc nie będę się spierał - nie ma sensu.


Cytat(LBO @ 1.05.2009, 23:48:07 ) *
Ooo, albo te wkurzające argumenty wymyślaczy-koła-na-nowo-którzy-przed-ZF-w-każdym-projekcie-zawsze-budowali-aplikacje-from-scratch: "to dobrze że ZF nie ma ustalonej struktury katalogów, bo mogę sobie wszystko sam zrobić" (tiaaa, a potem tydzień siedzę przy code inspection i się głowię w jaki sposób można aż taki burdel stworzyć). To pytam się Ich teraz co będą mówić kiedy Zend zbuduje im tą strukturę (nie oszukujmy się ofkorz, bo nie wierzę, że będzie ona kompletna.......... kłóciłoby się to z założeniami frameworka, pfff)? Co będą wtedy mówić?
Brak z góry ustalonej struktury jest bardzo wygodne. Napisałem kilka aplikacji i każda z nich była zupełnie inaczej zbudowana. A jak się ktoś inny może połapać? Napisałem porządną dokumentację (bez angielskich wrzutek, jak bym pół roku na zmywaku siedział), która dokładnie opisuje strukturę aplikacji oraz wszystkie zastosowane sztuczki.
W nowej wersji ZF jest proponowana struktura katalogów. Zostało to wprowadzone, by usatysfakcjonować takie marudy jak Ty.


edit
Jeszcze jedno sfWidgetFormSchemaFormatterList - gdzie mogę znaleźć plik z taką klasą? Nie znam symfony, więc za cholerę tego nie znajdę...

Napisany przez: mike 2.05.2009, 20:42:56

Cytat(batman @ 2.05.2009, 21:34:20 ) *
Jeszcze jedno sfWidgetFormSchemaFormatterList - gdzie mogę znaleźć plik z taką klasą? Nie znam symfony, więc za cholerę tego nie znajdę...
Ctrl + Lewy klawisz myszy tongue.gif

Zaszywanie lokalizacji klasy w jej nazwie (a'la ZF) to najbardziej chora rzecz jaką widziałem. Nic tego nie usprawiedliwia.

Napisany przez: batman 2.05.2009, 20:44:51

Cytat(mike @ 2.05.2009, 21:42:56 ) *
Zaszywanie lokalizacji klasy w jej nazwie (a'la ZF) to najbardziej chora rzecz jaką widziałem. Nic tego nie usprawiedliwia.
To ciekawe co sądzisz o PEAR?

Napisany przez: mike 2.05.2009, 20:45:57

Cytat(batman @ 2.05.2009, 21:44:51 ) *
To ciekawe co sądzisz o PEAR?
To samo. Nazwa klasy to nazwa klasy a nie miejsce do ukrycia lokalizacji pliku.

Napisany przez: batman 2.05.2009, 20:50:16

A dla mnie jest to najwygodniejsze podejście nazewnictwa klas. Nie dość, że są one rozłożone w logiczny sposób, to jeszcze ich nazwy jasno wskazują na lokalizację. Ale nie da się zadowolić wszystkich - jedni lubią fiołki, a inni jak im nogi śmierdzą smile.gif

Napisany przez: mike 2.05.2009, 20:59:07

Cytat(batman @ 2.05.2009, 21:50:16 ) *
Nie dość, że są one rozłożone w logiczny sposób, to jeszcze ich nazwy jasno wskazują na lokalizację.
Ależ to jak są ułożone klasy ma się nijak do ich nazw. To łamanie sprawdzonych konwencji i standardów kodowania. Zend wymyśla jakieś głupoty i pogarsza i tak tragiczne trendy w PHP.
Pakowanie ścieżki do klasy to głupota. Nic nie wnosi i tylko utrudnia.
1. A jak zechcę klasę (lub zbiór) klas przenieść w inne miejsce? Czeka mnie mnóstwo frefactoringu ze zmianą nazewnictwa włącznie. Aaa, no chyba że to jest ta wygoda?
2. Chcę użyć klasy żądania. Normalny człowiek pomyślałby że to klasa Request. Ale nie, trzeba znać cały framework i jego strukturę, żeby wpaść na nazwę Zend_Controller_Request;
3. Klikam Ctrl+Spacja u mam kilometry klas Zend_* i muszę znać strukturę frameworka, żeby coś znaleźć. Ach, znów ta wygoda tongue.gif

Napisany przez: batman 2.05.2009, 21:16:23

Cytat
1. A jak zechcę klasę (lub zbiór) klas przenieść w inne miejsce? Czeka mnie mnóstwo frefactoringu ze zmianą nazewnictwa włącznie. Aaa, no chyba że to jest ta wygoda?
Ctrl + F - zastąp i po kilku chwilach masz wszystkie nazwy pozamieniane.

Cytat
2. Chcę użyć klasy żądania. Normalny człowiek pomyślałby że to klasa Request. Ale nie, trzeba znać cały framework i jego strukturę, żeby wpaść na nazwę Zend_Controller_Request;
3. Klikam Ctrl+Spacja u mam kilometry klas Zend_* i muszę znać strukturę frameworka, żeby coś znaleźć. Ach, znów ta wygoda tongue.gif
Bez przesady. Jeśli chcesz czegoś używać, to trzeba to choć trochę znać. Jeśli inne frameworki miałyby tak dobrą dokumentację, to nie musiałyby trzymać wszystkich klas w jednym worze.

Napisany przez: phpion 2.05.2009, 21:19:26

Cytat(mike @ 2.05.2009, 21:59:07 ) *
3. Klikam Ctrl+Spacja u mam kilometry klas Zend_* i muszę znać strukturę frameworka, żeby coś znaleźć. Ach, znów ta wygoda tongue.gif

Nie żebym się czepiał ale ta sama sytuacja będzie po wpisaniu przedrostka sf tongue.gif

Napisany przez: mike 2.05.2009, 21:26:20

Cytat(batman @ 2.05.2009, 22:16:23 ) *
Ctrl + F - zastąp i po kilku chwilach masz wszystkie nazwy pozamieniane.
No proszę. Mówimy o programowaniu czy walce z narzędziem. Jeśli framework zmusza mnie do takiego czegoś to jest gówno a nie narzędzie do pracy tongue.gif
Cytat(batman @ 2.05.2009, 22:16:23 ) *
Bez przesady. Jeśli chcesz czegoś używać, to trzeba to choć trochę znać.
Cytat(batman @ 2.05.2009, 21:34:20 ) *
edit
Jeszcze jedno sfWidgetFormSchemaFormatterList - gdzie mogę znaleźć plik z taką klasą? Nie znam symfony, więc za cholerę tego nie znajdę...
Jak Kali to dobrze a jak Kalemu to źle? tongue.gif
Cytat(batman @ 2.05.2009, 22:16:23 ) *
Jeśli inne frameworki miałyby tak dobrą dokumentację, to nie musiałyby trzymać wszystkich klas w jednym worze.
Tak wiem. Jeszcze ZF ma kupę pracy by dogonić symfony? tongue.gif

Cytat(phpion @ 2.05.2009, 22:19:26 ) *
Nie żebym się czepiał ale ta sama sytuacja będzie po wpisaniu przedrostka sf tongue.gif
Najlepsze standardy kodowania, mówią jasno. Nazwa klasy powinna być rzeczownikiem opisującym konkretnie i najzwięźlej jak się da klasę.
Dodanie przedrostka sf a potem zastosowanie powyższej zasady nie jest jeszcze takie złe jak zapakowanie do nazwy klasy informacji o jaj lokalizacji w projekcie.

Napisany przez: Crozin 2.05.2009, 21:36:26

Dodanie przedrosta sf jest podyktowane tylko tym, że PHP nie obsługuje przestrzeni nazw - podobnie jest z Zend_ chociaż IMO sf jest OK, a Zend_ to już trochę długie.

Napisany przez: mike 2.05.2009, 21:50:01

Cytat(Crozin @ 2.05.2009, 22:36:26 ) *
Dodanie przedrosta sf jest podyktowane tylko tym, że PHP nie obsługuje przestrzeni nazw - podobnie jest z Zend_ chociaż IMO sf jest OK, a Zend_ to już trochę długie.
Przestrzenie nazw już od wersji 5.3 będą w PHP.

Napisany przez: batman 2.05.2009, 21:51:10

Cytat(mike @ 2.05.2009, 22:26:20 ) *
No proszę. Mówimy o programowaniu czy walce z narzędziem. Jeśli framework zmusza mnie do takiego czegoś to jest gówno a nie narzędzie do pracy tongue.gif
Jak Kali to dobrze a jak Kalemu to źle? tongue.gif


Cytat
Ctrl + Lewy klawisz myszy tongue.gif

Napisany przez: mike 2.05.2009, 22:05:05

Widzę, że zamiast porównywać wolisz przerzucać się tępymi argumentami.
Każde IDE posiada możliwość podejrzenia klasy i nie jest to walka z narzędziem. Całkowicie czym innym jest masowe zmienianie nazw klas i spory refactoring. Tylko dlatego że przeniosłem klasę folder wyżej? Proszę nie porównuj tego, bo jestem gotów pomyśleć, że nie rozumiesz tego co piszę i przestajesz analizować obiektywnie argumenty.

Napisany przez: batman 2.05.2009, 22:32:35

A ja widzę, że trafiłem ta twardogłowego fanatyka Symfony, który jest tak samo niereformowalny jak fanatyk Linuxa, czy Opery.
Chcesz argumentów takich jakich Ty używasz? Proszę bardzo.

Symfony jest beznadziejnym frameworkiem, ponieważ nie podoba mi się że klasa sfFilesystem znajduje się w pliku sfFilesystem.class.php w katalogu task. Gdzie tu logika?
Poza tym po co dawać w nazwie class? A co jeśli mam dwie klasy? Mam nazwać classes?

Jak widzisz jest to marudzenie znudzonego bachora, który nie wie jakiego lizaka chciałby dostać. Tobie się nie podoba podawanie ścieżki w nazwie, mnie się nie podoba dodawanie class. Wiem, wiem. Zaraz napiszesz, że tak zaleca jakiś guru od programowania lub tak się robi w Javie. No cóż - guru od programowania jest wielu. Tak samo Java nie jest wyrocznią (mimo, że Oracle kupiło Sun-a winksmiley.jpg ).
Przytocz jakieś konkretne argumenty za wyższością Symfony, ponieważ na chwilę obecną nie widzę, by do pięt dorastała ZF. A dlaczego? Poczytaj sobie dokumentację o:
- Zend_Gdata
- Zend_Service_ (wybierz dowolny)
- Zend_Dojo
- ZendX_Jquery
To są tylko niektóre rzeczy, których na szybkiego nie znalazłem w Symfony.
Do tego dochodzi jeszcze znaczne lepsze wsparcie dla formularzy, w tym walidacja i filtrowanie danych, wyszukiwanie Lucene, tworzenie pdf-ów, czy obsługa poczty. Jest to wszystko w podstawowej wersji Symfony, czy trzeba dodawać jakieś pluginy/dodatki/rozszerzenia tworzone przez "społeczność"?

Napisany przez: LBO 3.05.2009, 01:40:15

Cytat(batman @ 2.05.2009, 23:32:35 ) *
A ja widzę, że trafiłem ta twardogłowego fanatyka Symfony, który jest tak samo niereformowalny jak fanatyk Linuxa, czy Opery.
Chcesz argumentów takich jakich Ty używasz? Proszę bardzo.


Trudno nie być fanatykiem, gdy SF wyprzedza ZF o lata świetlne.

Cytat(batman @ 2.05.2009, 23:32:35 ) *
Symfony jest beznadziejnym frameworkiem, ponieważ nie podoba mi się że klasa sfFilesystem znajduje się w pliku sfFilesystem.class.php w katalogu task. Gdzie tu logika?


Nie zapominaj, że warsztatem pracy nie jest sam framework, ale również i IDE. Wolę wpisać "sfFil" i załącza mi się autocompletion, niż "Zend_System_File_Text_", by dopiero wyskoczyło mi Zend_System_File_Text_Windows smile.gif

Cytat(batman @ 2.05.2009, 23:32:35 ) *
Poza tym po co dawać w nazwie class? A co jeśli mam dwie klasy? Mam nazwać classes?


1. To jest dobry nawyk. Dobry framework z jeszcze lepszym systemem autoloadingu pomoże skompilować te dwie klasy to jednego pliku w systemie produkcyjnym.
2. A to w ZF jest inaczej, że narzekasz?

Cytat(batman @ 2.05.2009, 23:32:35 ) *
Jak widzisz jest to marudzenie znudzonego bachora, który nie wie jakiego lizaka chciałby dostać. Tobie się nie podoba podawanie ścieżki w nazwie, mnie się nie podoba dodawanie class. Wiem, wiem. Zaraz napiszesz, że tak zaleca jakiś guru od programowania lub tak się robi w Javie. No cóż - guru od programowania jest wielu. Tak samo Java nie jest wyrocznią (mimo, że Oracle kupiło Sun-a winksmiley.jpg ).
Przytocz jakieś konkretne argumenty za wyższością Symfony, ponieważ na chwilę obecną nie widzę, by do pięt dorastała ZF. A dlaczego? Poczytaj sobie dokumentację o:
- Zend_Gdata
- Zend_Service_ (wybierz dowolny)
- Zend_Dojo
- ZendX_Jquery


1. Sądzę, że nie pisalibyśmy z mikiem co Nas boli w ZF, gdybyśmy go nie znali. Sęk w tym, że używamy ZF zgodnie z jego przeznaczeniem... jako zbiór lepszych i gorszych komponentów.
Osobiście cenię sobie niektóre funkcjonalności, ale tylko niektóre i często używam Ich w projektach.
2. Wyrzuciłbym Zend_Dojo smile.gif

Cytat(batman @ 2.05.2009, 23:32:35 ) *
To są tylko niektóre rzeczy, których na szybkiego nie znalazłem w Symfony.


I wszystkie znaki na niebie i na ziemi wskazują na to, że nie powinieneś. Bo po co? Skoro masz:
Cytat
- Zend_Gdata
- Zend_Service_ (wybierz dowolny)


Cytat(batman @ 2.05.2009, 23:32:35 ) *
Do tego dochodzi jeszcze znaczne lepsze wsparcie dla formularzy...


Spekulowałbym smile.gif

Cytat(batman @ 2.05.2009, 23:32:35 ) *
...w tym walidacja i filtrowanie danych, wyszukiwanie Lucene, tworzenie pdf-ów, czy obsługa poczty. Jest to wszystko w podstawowej wersji Symfony, czy trzeba dodawać jakieś pluginy/dodatki/rozszerzenia tworzone przez "społeczność"?


A masz w ZF pluginy, dodatki i rozszerzenia wraz z systemem dystrybucji?

Bo ja wolę, in no time, dodać plugin/dodatek/rozszerzenie i mam już wsparcie dla Zenda i dla tych kilku komponentów, które są warte uwagi.

Cytat
Jak coś jest do wszystkiego to dupy

Napisany przez: batman 3.05.2009, 11:14:05

Cytat
Trudno nie być fanatykiem, gdy SF wyprzedza ZF o lata świetlne.
Bez komentarza.

Cytat
Nie zapominaj, że warsztatem pracy nie jest sam framework, ale również i IDE. Wolę wpisać "sfFil" i załącza mi się autocompletion, niż "Zend_System_File_Text_", by dopiero wyskoczyło mi Zend_System_File_Text_Windows smile.gif
A mi się podoba nazewnictwo ZF. De gustibus est non disputandum...

Cytat
Jak coś jest do wszystkiego to dupy
A jak coś jest do niczego, to jest do... niczego.
Po to ZF został stworzony jako zbiór komponentów, by programista nie musiał wymyślać koła na nowo. Dzięki temu masz możliwość skupienia się na logice aplikacji, a nie kombinowaniu jak połączyć się z serwerem X, by wyciągnąć jakieś dane.


Cytat
Jak coś jest do wszystkiego to dupy
Rozumiem, że to powiedzenie ma zastosowanie do Javy, .NET i innych technologii? Czy tylko do ZF?

Napisany przez: mike 3.05.2009, 11:19:50

Cytat(batman @ 3.05.2009, 12:14:05 ) *
Po to ZF został stworzony jako zbiór komponentów, by programista nie musiał wymyślać koła na nowo. Dzięki temu masz możliwość skupienia się na logice aplikacji, a nie kombinowaniu jak połączyć się z serwerem X, by wyciągnąć jakieś dane.
Nie cuduj, każdy framework po to powstał i każdy spełnia swoje zadanie mniej lub bardziej.
Czy programiści Zend'a traktują ustalanie struktury folderów jako implementacji logiki? tongue.gif


OK, starczy. Nie ma co bić piany. Piszcie w czym chcecie i tak Java rządzi a PHP idzie na dno, bo niestety polityka Zend'a (nie mam tu na myśli frmaeworka) w niczym nie pomaga.

Napisany przez: batman 3.05.2009, 11:23:09

Cytat(mike @ 3.05.2009, 12:19:50 ) *
OK, starczy. Nie ma co bić piany. Piszcie w czym chcecie i tak Java rządzi a PHP idzie na dno, bo niestety polityka Zend'a (nie mam tu na myśli frmaeworka) w niczym nie pomaga.
Zgadzam się zarówno do piany, jak i do Zenda.
Każdy z frameworków ma swoje wady i zalety. Niezdecydowani i tak będę pytać, co jest lepsze, a użytkownicy i tak nie dadzą się przekonać.

Napisany przez: tomek_ 4.05.2009, 10:29:04

A jak się ma Prado do innych frameworków? W tym temacie narazie niewiele o nim pisze.


Zacząłem właśnie nową pracę i jestem namawiany na korzystanie z tego frameworka (bo ponoć fajny, szybki itp) ale nie chciałbym wchodzić w coś z czym potem będę miał sporo problemów zwłaszcza, że jeszcze mogę zmienić na inny (wprawdzie część projektów jest już napisana w prado ale na szczęście jest to niewielki % całości więc zmiana na tym etapie nie będzie stanowiła problemu winksmiley.jpg ) .

Czy ktoś wie jakie są jego zalety i wady w porównaniu do Sf i Zenda, i czy warto w ogóle poznać ten framework?

z góry dzięki za odpowiedź smile.gif

Napisany przez: argaven 11.05.2009, 17:26:16

To mój pierwszy post, wobec tego: "Witam wszystkich".

Chciałbym się zapytać, czy ktoś miał styczność z frameworkiem Yii (http://www.yiiframework.com/) i co o nim sądzicie?

Napisany przez: marcio 17.05.2009, 23:48:29

WItam tak czytam ten watek i nawet fajnie czytalo sie posty z 3-4 stron wtecz fany Hyde Park tongue.gif.

NOm ale wracajac do watku to chcialem zapytac o jedna rzecz tez chcialbym nauczyc sie jakiegos FW nie potrzebuje jednak czegos rozbudowanego jestem przecietnym uzytkownikiem i glownie chodzi mi klasy ktore zawsze sie uzywasz jak Logowanie,Formularze,Driver'y dla baz latwe robienie controllerow dla dodatkowych modulow etc.. nie potrzebuje 100 komponentow tysiac katalogow i nie wiedziec od czego zaczac.

Wiec tak wchodzilem sobie na strony projektow, ZF,Symfony,CI,Kohana,CakePHP,Solar i Agavi i powiem tak ZF i Symfony sa za skomplikowane jak dla mnie maja za duzo klas z czego bym moze uzyl 30% to raz dwa duzo waza trzeba uzyc PEAR'a i jak sie nie myle kilka innych bajerow.

Wiec przyciagnelo na mnie uwage najpierw CI jednak to jest php4 i potem zaraz Kohana czytam dokumentacje przyklady etc i wydaje mi sie super to co potrzebuje malo klas fajnie wyglada dokumentacja nie wydaje sie taka zla jedyne co mnie w niej denerwuje to ze nie opisuja dobrze arg. funkcji i pol klas no ale coz, i fajny jest nawet SOLAR.

NOm i chcialem zapytac czy kohana jest dobrym narzedziem jesli chodzi o wlasne projekty lub cos malego na zamowienie?

Widze ze ma tez obrone przed XSS i CSRF ponadto obsluguje 4 bazy danych i PDO ma tez kryteria jesli chodzi o zapytania wiec jest super.

Jednak o kilka rzeczy musze sie zapytac jak to jest z walidacja formularzy(samo ich stworzenie nie wydaje sie trudne) jednak walidacja troszeczke tak.
Czy jest jakas klasa do logowania jak np w SOLAR mamy: http://solarphp.com/class/Solar_Auth_Adapter i inne klasy wspomagajace.
Debugowanie kodu przy wersjach testowych wystarcza tzn jest dobre?
Jak jest z instalacja tez taka porypana jak Symfony czy Zf lub moze jest latwiejsza i szybsza?

Wiem ze jest malo osob co kodzi W KOhana ale nie widze potrzeby kuc Symfony czy ZF.

REszty pytan po 12 stronach postow nie pamietam tongue.gif.

Napisany przez: em1X 18.05.2009, 00:18:41

Cytat(argaven @ 11.05.2009, 18:26:16 ) *
To mój pierwszy post, wobec tego: "Witam wszystkich".

Chciałbym się zapytać, czy ktoś miał styczność z frameworkiem Yii (http://www.yiiframework.com/) i co o nim sądzicie?


ja piszę w nim wszystkie aplikacje i mogę śmiało polecić:)

Napisany przez: Quider 18.05.2009, 00:34:59

Ja, jak to nazwałeś, kodze w Kohanie. Dla mnie jest bardzo dobra. Oparłem o nią swój własny framework, niemniej jednak nie sprzedaje go ponieważ projekty robie właśnie na niej. Dlatego, że nie ma dziur. Tzn zawsze znajdziesz coś co nie będzie ci pasować ale możesz to zmienic zawsze za pomocą najbardziej zaawansowanego środowiska programistycznego - notatnika.

Napisany przez: LBO 18.05.2009, 00:41:20

To ja może zwrócę uwagę na Agavi, które IMHO posiada jeden z najlepszych systemów walidacji.
Jest zorientowany na przychodzące dane (cookies, headers, POST, GET), a walidacje definiuje się w osobnych plikach xml (of korz można też programistycznie w PHP). Zaletą jest, że walidacja nie jest powiązana z modelami, czy formularzami - tworzy się ją jednorazowo, czy to dla HTML, czy dla Web Service BTW tworzenie WS w Agavi jest praktycznie bezbolesne.
Można się zastanawiać jak w takim razie Agavi radzi sobie z wypluwaniem błędów do formularzy HTML? Odpowiada za to Form Population Filter - na podstawie błędów walidacji z XML (np. zdefiniowało się walidacje user[email]) rozpoznaje powiązane pola w formularzu (który jest wyświetlany ponownie w razie błędów) i wstrzykuje do niego HTML z tekstami błędów, jak i wypełnia pola danymi, które były do nich wpisane wcześniej.

Napisany przez: phpion 18.05.2009, 08:18:29

Cytat(marcio @ 18.05.2009, 00:48:29 ) *
NOm i chcialem zapytac czy kohana jest dobrym narzedziem jesli chodzi o wlasne projekty lub cos malego na zamowienie?

Ja na Kohanie napisałem dość rozbudowany (jeśli chodzi o funkcje) sklep internetowy. W ani jednym momencie nie pomyślałem sobie "!@#$% mogłem pisać na Symfony".

Cytat(marcio @ 18.05.2009, 00:48:29 ) *
Jednak o kilka rzeczy musze sie zapytac jak to jest z walidacja formularzy(samo ich stworzenie nie wydaje sie trudne) jednak walidacja troszeczke tak.

Wydaje Ci się. Waidacja formularzy (czy ogólniej: danych) nie jest trudna. Co więcej: pisanie własnych walidatorów jest banalnie proste...

Cytat(marcio @ 18.05.2009, 00:48:29 ) *
Czy jest jakas klasa do logowania jak np w SOLAR mamy: http://solarphp.com/class/Solar_Auth_Adapter i inne klasy wspomagajace.

http://docs.kohanaphp.com/addons/auth
http://thejw23.blogspot.com/2009/04/simpleauth-13.html

Cytat(marcio @ 18.05.2009, 00:48:29 ) *
Debugowanie kodu przy wersjach testowych wystarcza tzn jest dobre?

Moim zdaniem jest bardzo dobre. Otrzymujesz informacje o wszystkich błędach. Ponadto niezastąpiony jest http://docs.kohanaphp.com/libraries/profiler; pokazuje zapytania kierowane do bazy danych, zawartość tablic $_GET, $_POST itd oraz kilka innych przydatnych informacji. Dodając do tego http://docs.kohanaphp.com/core/kohana#methods_log oraz http://docs.kohanaphp.com/core/benchmark otrzymujesz wszystkie potrzebne informacje.

Cytat(marcio @ 18.05.2009, 00:48:29 ) *
Jak jest z instalacja tez taka porypana jak Symfony czy Zf lub moze jest latwiejsza i szybsza?

To zależy od Twojego łącza internetowego smile.gif kopiujesz pliki i od razu powinno działać (+ konfig bazy danych).

Cytat(marcio @ 18.05.2009, 00:48:29 ) *
Wiem ze jest malo osob co kodzi W KOhana ale nie widze potrzeby kuc Symfony czy ZF.

No i słusznie. Wybierz narzędzie, które najlepiej będzie pasowało do Twoich potrzeb, a nie takie, z którego korzystają inni.

Napisany przez: marcio 18.05.2009, 10:34:15

Cytat
Wydaje Ci się. Waidacja formularzy (czy ogólniej: danych) nie jest trudna. Co więcej: pisanie własnych walidatorów jest banalnie proste...

No to good tongue.gif

Cytat
http://docs.kohanaphp.com/addons/auth
http://thejw23.blogspot.com/2009/04/simpleauth-13.html

Super tongue.gif.

Cytat
Moim zdaniem jest bardzo dobre. Otrzymujesz informacje o wszystkich błędach. Ponadto niezastąpiony jest http://docs.kohanaphp.com/libraries/profiler; pokazuje zapytania kierowane do bazy danych, zawartość tablic $_GET, $_POST itd oraz kilka innych przydatnych informacji. Dodając do tego http://docs.kohanaphp.com/core/kohana#methods_log oraz http://docs.kohanaphp.com/core/benchmark otrzymujesz wszystkie potrzebne informacje.

Czyli lepsze niz error_reporting(E_ALL); biggrin.gif??

CHyba wezme sie za symfony.

Ogladalem tez Agavi ale jakos takie troche dziwne to jest podchodzi mi to pod cakePHP tongue.gif i mi sie nie podoba.

A co powiecie o SOLAR??

Napisany przez: LBO 18.05.2009, 10:43:40

Cytat(marcio @ 18.05.2009, 11:34:15 ) *
Ogladalem tez Agavi ale jakos takie troche dziwne to jest podchodzi mi to pod cakePHP tongue.gif i mi sie nie podoba.


gdzie?questionmark.gif smile.gif

Napisany przez: marcio 18.05.2009, 10:50:22

No chodzby tutaj: http://www.agavi.org/apidocs/

Napisany przez: LBO 18.05.2009, 11:05:27

Cytat(marcio @ 18.05.2009, 11:50:22 ) *
No chodzby tutaj: http://www.agavi.org/apidocs/


Czyli uważasz, że układ klas w dokumentacji phpDoc (która notabene, może być zupełnie inna od fizycznego układu biggrin.gif) mówi o tym jak framework sprawia się w użytkowaniu? Bo ja tam tylko widzę przemyślaną modularność.

Cytat(marcio @ 18.05.2009, 11:34:15 ) *
CHyba wezme sie za symfony.


Struktura ogólna Agavi jest praktycznie identyczna jak ta w Symfony smile.gif

Napisany przez: marcio 18.05.2009, 11:14:39

Cytat
CHyba wezme sie za symfony.

Rotfl pomylilo mi sie chcialem powiedziec ze wezme sie za KOHANA.



Cytat
Czyli uważasz, że układ klas w dokumentacji phpDoc (która notabene, może być zupełnie inna od fizycznego układu biggrin.gif ) mówi o tym jak framework sprawia się w użytkowaniu? Bo ja tam tylko widzę przemyślaną modularność.

Poprostu uwazam ze dokumentacja CakePHP jak i Agavi sa podobne i ich funkcje tez i nie zabardzo mi podchodza.

Napisany przez: LBO 18.05.2009, 11:40:17

Cytat(marcio @ 18.05.2009, 12:14:39 ) *
Poprostu uwazam ze dokumentacja CakePHP jak i Agavi sa podobne i ich funkcje tez i nie zabardzo mi podchodza.


A widzisz, Ja uważam, że nim się zacznie wydawać osądy powinno się zapoznać z podmiotem co najmniej wnikliwie, a nie po łebkach, pobieżnie.

Przyporównywać do siebie frameworki, które działają zupełnie inaczej - nie wspominając , że Cake to bubel - to troszkę nie na miejscu dla developera.

Napisany przez: marcio 18.05.2009, 12:16:58

Cytat
to troszkę nie na miejscu dla developera

Hehe no comment ze mnie to lamer tongue.gif kodze by cos pokodzic bo to moje hobby.

Ogolnie porownalem FUnkcje,Dokumentacje opinie user'ow i wole KOHANA jakos bardziej mi pasuje.

P.S chcialem zapytac ludzi kodzacych w KOHANA potrzebowalbym jakis prosty system szablonow jedyny jaki widze to: http://docs.kohanaphp.com/addons/template czy to wystarczy by tworzyc widoki??

P.S2 http://kohanaphp.com/download czemu nie moge sciaganc Modulu Template chyba ze jest on defaultowo.

Napisany przez: phpion 18.05.2009, 15:08:19

Cytat(marcio @ 18.05.2009, 13:16:58 ) *
P.S chcialem zapytac ludzi kodzacych w KOHANA potrzebowalbym jakis prosty system szablonow jedyny jaki widze to: http://docs.kohanaphp.com/addons/template czy to wystarczy by tworzyc widoki??

Template_Controller w zupełności Ci wystarczy (w połączeniu z obiektami View).

Cytat(marcio @ 18.05.2009, 13:16:58 ) *
P.S2 http://kohanaphp.com/download czemu nie moge sciaganc Modulu Template chyba ze jest on defaultowo.

Jest on standardowo dołączany do ściaganej paczki smile.gif

Napisany przez: rugby 21.05.2009, 15:09:28

Nie rozumiem, czemu niektórzy z Was skreślają http://codeigniter.com/. Przecież to rewelacyjny framework! Jest bardzo elastyczny, prosty w nauce, przejrzysty w użyciu (podstawowa aplikacja MVC wymaga znacznie mniej linijek kodu niż ZF), ma bardzo dobrą dokumentację i mnóstwo dodatkowych klas, tworzy warstwę abstrakcji dla bazy danych, jest http://avnetlabs.com/php/php-framework-comparison-benchmarks, a do tego zajmuje bardzo mało miejsca.
Obsługa zarówno PHP4 jak i PHP5 przez Code Igniter to przecież zaleta - wciąż jeszcze zdarza się hosting z PHP4, a poza tym nikt nie broni Wam korzystać z instrukcji PHP5 w swoich projektach.
Natomiast Kohana ma wciąż słabą dokumentację i http://www.google.com/trends?q=Kohana,+CodeIgniter czyli mniejsze szanse na rozwiązanie ewentualnych problemów.

Napisany przez: bełdzio 21.05.2009, 17:43:04

to, że działa na serwerach z PHP5 to nie znaczy, że go wspiera, a co do pomocy z Kohana to patrząc po ich forum nie jest tak źle jakby się mogło wydawać :-)

Napisany przez: tomahawk 22.05.2009, 21:10:25

A jak to z tymi frameworkami jest?

Jeszcze nie rzucam się na symfony ale widzę żę tam się coś w linii poleceń robi. A więc aby postawić np, Symfony trzeba mieć dostęp do linii poleceń? To by całkowicie wykluczało większość shared hostings...

Które frameworki wymagają linii poleceń?

Napisany przez: LBO 22.05.2009, 21:36:31

Na ogół na serwerze produkcyjnym nie potrzebujesz linii poleceń. Ona się przydaje głównie w czasie tworzenia aplikacji.

Napisany przez: nieraczek 23.05.2009, 14:36:00

W Symfony chyba wszystko mozesz zrobić bez użycia konsoli, jednakże konsola znacznie ułatwia i przyspiesza pracę. Np. w Symfony trzeba często czyscić cache stosując komendę "php symfony cc", to samo mozna zrobić usuwajac wszystko z katalogu "cache".

Napisany przez: Pr0100 23.05.2009, 17:17:28

Cytat(nieraczek @ 23.05.2009, 15:36:00 ) *
W Symfony chyba wszystko mozesz zrobić bez użycia konsoli, jednakże konsola znacznie ułatwia i przyspiesza pracę. Np. w Symfony trzeba często czyscić cache stosując komendę "php symfony cc", to samo mozna zrobić usuwajac wszystko z katalogu "cache".
teoretycznie masz racje ale jakoś nie mogę sobie wyobrazić pracy w Symfony bez propel:build-all smile.gif 

Napisany przez: tomahawk 24.05.2009, 17:47:35

Z tego co wyczytałem to cały czas jest gadane o samych znanych i dość rozbudowanych frameworkach...


A czy znacie coś takie fajnego prostego? Interesuje mnie właściwie sam szkielet MVC czyli główny kontroler który odpowiednio będzie parsował adres oraz kontroler akcji.....

Coś takiego jak w Kohanie najlepiej tylko bez całej reszty bo mi raczej niepotrzebna...

Napisany przez: Crozin 24.05.2009, 17:50:12

Ty nie szukasz frameworka w takim razie... Ty szukasz routera.

Napisany przez: marcio 24.05.2009, 19:57:40

Cytat
Coś takiego jak w Kohanie najlepiej tylko bez całej reszty bo mi raczej niepotrzebna...

Nikt ci nie broni zainstalowac sobie samej KOHANY i korzystac z przyjemnego Router'a i samego MVC struktura katalogow jest prosta i przejrzysta fajnie sie tam pracuje sam nic wiecej nie uzywam nom moze oprocz klas dla mysql,auth i formy tongue.gif.

Napisany przez: kukson 3.06.2009, 18:19:31

Witam co powiecie na porównanie FW na stronie http://talks.php.net/show/drupal08/29. Znajdują sie tam kody prostej strony wyswietlajacej text "helo word". Jest tam miedzy innymi sf zf ci itp. przy kazdej stronie mamy podane dwie wartosci: response time i transaction rate.
Response time - sredni czas odpowiedzi serwera na zadanie
Transaction rate - srednia ilosc zadza obsluzonych przez serwer w czasie sekundy

W tym temacie wymieniona zostala jedynie strona http://avnetlabs.com/php/php-framework-comparison-benchmarks, ktora jest porownaniem FW. Czy znajduja sie w sieci inne porownania tego typu?

Napisany przez: michalg 3.06.2009, 18:49:51

Cytat(kukson @ 3.06.2009, 19:19:31 ) *
Witam co powiecie na porównanie FW na stronie http://talks.php.net/show/drupal08/29.


Wniosek jest jeden - do pisania aplikacji typu hello world nie warto używać frameworków. Pozatym IMHO taki benchmark niewiele mówi, bo przedstawia on sytuacje, w której framework jest wąskim gardłem. A w rzeczywistych sytuacjach dochodzą do tego jeszczcze czasy zapytań do bazy itp.

Napisany przez: kukson 3.06.2009, 19:55:46

Cytat(michalg @ 3.06.2009, 19:49:51 ) *
Wniosek jest jeden - do pisania aplikacji typu hello world nie warto używać frameworków. Pozatym IMHO taki benchmark niewiele mówi, bo przedstawia on sytuacje, w której framework jest wąskim gardłem. A w rzeczywistych sytuacjach dochodzą do tego jeszczcze czasy zapytań do bazy itp.


Zgadzam sie ze html i php wypada najlepiej w tym tescie ;p, ale dziwi mnie duza roznica miedzy FW.

Napisany przez: athabus 4.06.2009, 11:20:35

W tym różnicach nie ma nic dziwnego. Po prostu różne frameworki są tworzone do różnych rzeczy. Przykładowo Symfony jest robione raczej pod projekt minimum średnie. Nigdy nie będzie dobrze wypadało w testach hello world. Nawet pobieżne zapoznanie się z Symfony pokaże Ci jak wiele rzeczy tam masz "out of the box" - autoloader klas, kompleksowa obsługa bazy danych, wygodna konfiguracja, kompleksowa obsługa i walidacja formularzy i tak można wymieniać bez końca. Niestety wczytanie tego wszystkiego "kosztuje" i w aplikacji typu hello world się nigdy nie zwróci.
W prostych frameworkach musisz z reguły robić takie rzeczy sam - także ich narzuty zwiększają się wraz ze wzrostem złożoności projektu szybciej niż np. w Symfony, ale w prostszych aplikacja są po prostu szybsze.

Prawda jest taka, że nie ma frameworka do wszystkiego. Przykładowo ostatnio pisałem system, którego zadaniem jest tworzenie stron na podstawie pliku tekstowego. Jeden system obsługuje wiele małych stron - coś jak proste blogi z tagami, kategoriami etc. Frontend takiego przykładowego bloga jest baaardzo prosty. Po prostu pobiera wpisy z bazy i je wyświetla. Backend natomiast to już trochę więcej pracy - musi sparsować plik txt i zrobić z tego bloga + modyfikacja wszystkich stron z jednego panelu, edycja artykułu "rich text" + zarządzanie kategoriami etc.

W końcu zdecydowałem się na stworzenie backendu w symfony a frontendu w kohana. Backend był zaawansowany i skomplikowany, musiał zarządzać dość wieloma formularzami, dużo operacji na bazie - stąd Symfony. Frontend miał być po prostu szybki i prosty - tu Kohana nadała się doskonale - jest lekka, 1h studiowania dokumentacji i już mogłem w niej napisać prostą aplikację - tworzenie frontendu w symfony mijało by się z celem bo nigdy nie chodził by tak wydajnie jak kohana - dodam, że frontendy muszą być instalowane wielokrotnie więc także rozmiar Kohanej (~1mb) miał tu znaczenie.

Z kolei pisałem też dedykowany sklep z portalem - tutaj NIGDY nie zdecydował bym się na Kohaną. Pisanie w Symfony dużych aplikacji jest o niebo wygodniejsze. Dla mnie Symfony jest prawie idealna jeśli chodzi o pisanie średniej wielkości aplikacji. Po prostu w Symfony po wstępnej konfiguracji robisz tylko to, co robić powinien programista, a nie na przykład walidujesz ręcznie ciągle te same formularze, głowisz się jak dodać filtry czy wymyślasz sposoby na cachowanie danych.

Napisany przez: phpion 4.06.2009, 13:18:30

Cytat(athabus @ 4.06.2009, 12:20:35 ) *
Z kolei pisałem też dedykowany sklep z portalem - tutaj NIGDY nie zdecydował bym się na Kohaną. Pisanie w Symfony dużych aplikacji jest o niebo wygodniejsze. Dla mnie Symfony jest prawie idealna jeśli chodzi o pisanie średniej wielkości aplikacji. Po prostu w Symfony po wstępnej konfiguracji robisz tylko to, co robić powinien programista, a nie na przykład walidujesz ręcznie ciągle te same formularze, głowisz się jak dodać filtry czy wymyślasz sposoby na cachowanie danych.

Mógłbyś podać jakieś konkretne argumenty? Ja osobiście jestem zwolennikiem Kohany i (nie wiem czy to do niej odnosisz) stwierdzenia:
Cytat
a nie na przykład walidujesz ręcznie ciągle te same formularze, głowisz się jak dodać filtry czy wymyślasz sposoby na cachowanie danych

są wg mnie totalnie chybione. Wszystkie wymienione przez Ciebie elementy w Kohanie są bajecznie proste (może aż zbyt proste i nie do końca "pro"). Walidacja formularzy (w tym tworzenie własnych walidatorów), filtry (zwykłe metody statyczne) czy cache'owanie danych to jest dosłownie chwila roboty. Niestety (przynajmniej dla mnie) w przypadku Symfony tak nie było. Może dla kogoś kto zna Symfony od podszewki nie jest to problem ale ja często miałem dylematy typu "jak działa ten walidator?".

Piszesz, że na Kohanej nigdy nie oparłbyś sklepu wraz z portalem - a ja właśnie tak zrobiłem. Coprawda jest to sam sklep internetowy, bez żadnego dodatkowego portalu, ale jednak ma sporo (głównie w adminie) funkcji. Przewidując przyszłość nie uśmiechałyby mi się (przykładowo) ciągłe przebudowy modelu w przypadku dodania/usunięcia jakiejś tam funkcjonalności. Pewnie masz w tej kwestii większe doświadczenie ale ja tylko raz miałem okazję pracować na Symfony w przypadku serwisu, który funkcjonował w sieci (dość spory i znany serwis) więc wszelkie zmiany, których musiałem dokonywać, sprawiały, że miałem pełne majty kału. Ponadto sprawa backendu: czy jesteś w stanie w 100% dostosować go do potrzeb klienta (stosując generatory)? Stworzyć takie formularze jakie są potrzebne (wiem, można używac partiali, komponentów), a nie takie jakie można stworzyć? Dla mnie właśnie takie ograniczenie stało się coraz bardziej wkurzające. Wolę mieć pełną kontrolę nad tym, co robię, a nie bazować na tym, co mogę zrobić.

Nie twierdzę, że Symfony jest do bani. Wręcz przeciwnie: jest to kawał genialnego kodu. Po prostu nie trafia idealnie w moje potrzeby przez co mam innego faworyta, którego będę bronił smile.gif

Napisany przez: mike 4.06.2009, 13:45:44

Cytat(phpion @ 4.06.2009, 14:18:30 ) *
(...) wszelkie zmiany, których musiałem dokonywać, sprawiały, że miałem pełne majty kału.
A jaki to ma związek z symfony?
Cytat(phpion @ 4.06.2009, 14:18:30 ) *
Ponadto sprawa backendu: czy jesteś w stanie w 100% dostosować go do potrzeb klienta (stosując generatory)? Stworzyć takie formularze jakie są potrzebne (wiem, można używac partiali, komponentów), a nie takie jakie można stworzyć? Dla mnie właśnie takie ograniczenie stało się coraz bardziej wkurzające. Wolę mieć pełną kontrolę nad tym, co robię, a nie bazować na tym, co mogę zrobić.
Nie sądziłem, że jest zakaz pisania backendu samemu tongue.gif Przecież generatory można wykorzystać w części lub tylko do utworzenia szablonu rozwiązania. Potem kodować możesz samemu równie skutecznie.
Cytat(phpion @ 4.06.2009, 14:18:30 ) *
Nie twierdzę, że Symfony jest do bani. Wręcz przeciwnie: jest to kawał genialnego kodu. Po prostu nie trafia idealnie w moje potrzeby przez co mam innego faworyta, którego będę bronił smile.gif
Uszanuj to, że inne rozwiązanie nie trafia w cudzy gust. To że Ci się podoba Kohna nie znaczy że musisz przekonywać tych, którzy nie chcą być przekonani.
To się tyczy zwolenników dowolnego narzędzia.

Napisany przez: LBO 4.06.2009, 13:48:56

Wiem, że to nie meritum twojego posta, ale:
wiesz, że te generatory to są opcjonalne? I jeżeli nie chcesz/nie umiesz się nimi posługiwać - nie musisz.
Sam się kiedyś o nie rozbiłem i nie tykałem Symfony przez ponad rok.

orasss, mimo wszystko

http://agavi.org

edit:

do @phpiona to było

Napisany przez: phpion 4.06.2009, 14:10:12

Cytat(mike @ 4.06.2009, 14:45:44 ) *
A jaki to ma związek z symfony?

Ano taki, że w Symfony wiele rzeczy dzieje się automatycznie i nie zawsze ma się na wszystko wpływ.

Cytat(mike @ 4.06.2009, 14:45:44 ) *
Uszanuj to, że inne rozwiązanie nie trafia w cudzy gust. To że Ci się podoba Kohna nie znaczy że musisz przekonywać tych, którzy nie chcą być przekonani.
To się tyczy zwolenników dowolnego narzędzia.

A czy ja nie szanuję cudzych wyborów? No proszę Cię. Napisałem tylko swoje zdanie na dany temat. Poza tym: wychodząc z Twojego punktu widzenia to nie ma sensu wdawać się w jakiekolwiek rozmowy/wymiany argumentów. W takim razie po co ten wątek? Chyba właśnie po to aby poznać kilka zupełnie różnych opinii na temat różnych frameworków, prawda?

Cytat(LBO @ 4.06.2009, 14:48:56 ) *
wiesz, że te generatory to są opcjonalne? I jeżeli nie chcesz/nie umiesz się nimi posługiwać - nie musisz.

Tak, wiem. Również wiem, że wcale nie muszę używać Propela/Doctrine. Jeśli nie odpowiada mi mechanizm formularzy również mogę go olać. Ze wszystkiego zdaję sobie sprawę. Tyle tylko, że rezynując z tych elementów rezygnuje się równocześnie z tych elementów, które są główną siłą Symfony.

Napisany przez: athabus 4.06.2009, 14:27:54

Phpion trochę źle mnie zrozumiałeś z moim postem - większa jego część nie odnosi się do Kohana. Uważam ten framework (chociaż znam go słabo) za bardzo przyjemny. Moim zdaniem jednak jest to framework idealnie nadający się do małych stron (co nie znaczy, że nie napiszesz w nim czegoś dużego, po prostu odbieram go w ten sposób). W Kohana pisze mi się dość przyjemnie.

Co do mojego stwierdzenia o tym, że w Kohanej bym nie pisałem większej aplikacji - np. dedykowanego sklepu opieram się przede wszystkim na tym, że w symfony zrobię to dużo szybciej, a jako że jestem bałaganiarzem to bardzo odpowiada mi to, że w Symfony jest taka poukładana struktura (niektórzy mówią, że sztywna).

Co do skomplikowania symfony to się trudno niezgodzić, że pierwszy projekt wymaga doczytania wielu rzeczy - nie jest tak jak w Kohanej, że dokumentacja jest tak mała, że można ją przyswoić w godzinę na tyle, aby czuć się komfortowo. Ale wynika to z tego faktu, że symfony ma być możliwie kompletnym frameworkiem, w którym user ma mieć możliwie dużo z pudełka.

Co do aktualizacji kodu etc, to nie wiem skąd ten kał ;-) Ja ciągle rozwijam projekty i dodaje funkcjonalności w sf i nie napotykam problemów - ot trzeba pamiętać, żeby wgrać pliki i wyczyścić cache... nic nadzwyczajnego.

Jeśli chodzi o wygodę generatora admina to:
- tak jak pisze mike nie ma obowiązku używania, to tylko jedno z narzędzi
- w 1.0 faktycznie był dość "cieżki" w przeróbkach, ale w obecnej wersji można już zrobić naprawdę prawie wszystko

Podobnie np. formularze - w symfon 1.2 to już jest osobne narzędzie, które wymaga chwili na poznanie (jest osobna książka do tego) ale w zamiana dostajesz najlepszą i najbardziej kompletną obsługę formularzy w php jaką kiedykolwiek widziałem.

Także reasumując jestem daleki od powiedzenia że Kohana jest gorsza od Symfony. Po prostu moim zdaniem jest to inna liga zastosowań. Nie pisałbym małych projektów w symfony bo to takie strzelanie z armaty do wróbla. Nie pisałbym dużych projektów w Kohana bo cenię swój czas i wiem, że w Symfony zrobię to znacznie lepiej i szybciej. Jeśli jednak Ty lubisz Kohana to nie widzę problemu w pisaniu w niej dużych projektów bo sam framework to tylko narzędzie i wszystko da się zrobić.

Napisany przez: phpion 4.06.2009, 14:34:57

Cytat(athabus @ 4.06.2009, 15:27:54 ) *
Także reasumując jestem daleki od powiedzenia że Kohana jest gorsza od Symfony. Po prostu moim zdaniem jest to inna liga zastosowań.

W pełni się zgadzam. Tak samo nie można powiedzieć, że VW Passat jest gorszy od VW Transportera smile.gif

Napisany przez: nieraczek 4.06.2009, 18:51:41

athabus:
"Co do aktualizacji kodu etc, to nie wiem skąd ten kał ;-)"

Myślę, że phpionowi chodziło o to, że jak chcemy dodać nową lub zmodyfikować istniejącą kolumnę w tabeli itp. w istniejącej już bazie danych z tabelami i danymi to trzeba dokonać migracji by nie tworzyć tabel na nowo i żeby dane nie zostały utracone i phpionowi chodziło pewnie o to, że to może się nie udać, coś złego może się wydarzyć podczas migracji itp., czy tak ? tongue.gif

Napisany przez: athabus 4.06.2009, 19:15:24

questionmark.gif?
Nie za bardzo rozumiem ten argument... Przecież gdy chcesz coś zmienić w bazie to ZAWSZE musisz:
- wprowadzić zmiany w tabeli
- wprowadzić zmiany w warstwie modelu

Nie wiem w czym tu Symfony ma być gorsze od innego frameworka. Przecież w każdym innym frameworku trzeba postąpić tak samo. Bo chyba nie chodzi Ci o to, że musisz ponownie wywołać propel:build-all? Bo przecież nie musisz (a nawet nie możesz) - wystarczy zbudować od nowa model, a bazę poprawić "ręcznie". Wiele razy już zmieniałem tabele, dodawałem nowe do istniejącego projektu etc. Nigdy nie jest to przyjemna operacja bo trzeba na chwilę zablokować aplikację, ale nie widzę żadnej różnicy między Symfony a "niesymfony".

Napisany przez: LBO 4.06.2009, 19:32:20

A ja chyba wiem o co chodzi.
W Kohanie modele buduje się samemu, dzięki temu wiesz dokładnie co, gdzie i jak. W Propelu/Doctrine już nie do końca (polegasz na zewnętrznym kodzie w dodatku molochu) i jest stres, że coś nie tak będzie.
Fakt, jak znasz Propela/Doctrine od podszewki to to się wydaje śmieszne, ale ww czynnik występuje i chyba bywa powszechny smile.gif

Ale po to wymyślono migracje... a te chyba są w Doctrine o ile pamiętam.

Napisany przez: phpion 5.06.2009, 06:22:12

Cytat(LBO @ 4.06.2009, 20:32:20 ) *
A ja chyba wiem o co chodzi.
W Kohanie modele buduje się samemu, dzięki temu wiesz dokładnie co, gdzie i jak. W Propelu/Doctrine już nie do końca (polegasz na zewnętrznym kodzie w dodatku molochu) i jest stres, że coś nie tak będzie.

Dokładnie tak, o to mi chodziło. Pisząc model samemu orientuję się jak on wygląda i jakie są zależności. Natomiast w przypadku generowania kodu nie mam 100% pewności, że ingerując w dane miejsce nie naruszę innego. W Kohanie model można z powodzeniem zawrzeć w jednym pliku (nawet bez podziału na Klasa i KlasaPeer). Pracując w takiej sytuacji w jakiej ja pracowałem (brak pełnej lokalnej kopii, prace na funkcjonującym serwisie) wszelkie nanoszenie zmian łączyło się z niepewnością "czy wszystko jest ok".

Napisany przez: boddah85 23.06.2009, 23:04:02

Mam nadzieję, że to odpowiedni topic snitch.gif

Czy aby zacząć naukę któregokolwiek z Frameworków należy znać bardzo dobrze OOP ? Mam za sobą napisanie kilku całkiem rozbudowanych aplikacji, ale pisałem dotąd strukturalnie. W podstawach obiektowości się odnajduję, ale raczej nic więcej.
W planach miałem naukę ZF, ale czy wobec tego ma to sens, czy lepiej dokształcić się w OOP ? snitch.gif

Pozdrawiam

Napisany przez: pgrzelka 23.06.2009, 23:09:41

Cytat(boddah85 @ 24.06.2009, 00:04:02 ) *
Czy aby zacząć naukę któregokolwiek z Frameworków należy znać bardzo dobrze OOP ? Mam za sobą napisanie kilku całkiem rozbudowanych aplikacji, ale pisałem dotąd strukturalnie. W podstawach obiektowości się odnajduję, ale raczej nic więcej.
W planach miałem naukę ZF, ale czy wobec tego ma to sens, czy lepiej dokształcić się w OOP ? snitch.gif


wydaje mi się że wystarczy jak same podstawy będziesz znał, reszty nauczysz się ucząc się frameworka...

Napisany przez: Pr0100 23.06.2009, 23:44:17

Cytat
W planach miałem naukę ZF, ale czy wobec tego ma to sens, czy lepiej dokształcić się w OOP ?


radze się dokształcić albo wybrać prostszego frameworka takiego jak np. CodeIgniter czy Kohana. Zresztą zerknij na dokumentacje http://framework.zend.com/manual/en/ i sprawdź ile rozumiesz smile.gif

Napisany przez: Kabraxis 25.06.2009, 17:03:39

Ostatnio dojrzałem do myśli aby zacząć używać frameworka. Chociaż nie do końca jestem zdecydowany ponieważ nie mogę znaleźć niczego pod moje potrzeby ale może źle szukam. Może ktoś mi coś doradzi.

- Przede wszystkim framework musi mieć czytelną i dobrą dokumentację. Po to mam go używać aby zaoszczędzić czas, a nie aby go nadkładać dla satysfakcji używania frameworka. Za kilka lat i tak będę używał czegoś innego.
- Podstawowe klasy takie jak wysyłanie emaili, obsługa obrazków itd. ale wykonane na prawdę profesjonalnie i solidnie. Za to bez zbędnych bajerów, których i tak nigdy nie użyję, a zaśmiecają całość. Jeżeli jest klasa do e-maili to obsługuje wszystko, łącznie z takimi opcjami jak hurtowe wysyłanie e-maili z załącznikami ale w taki sposób, że nie tworzy setek kopii jednego pliku dla każdego odbiorcy tylko rozwiązuje to optymalnie.
- Obsługa wyświetlania stron i komunikatów w wielu językach. itd. itp. Wszystkie podstawy używane przy tworzeniu stron. Natomiast bez zbędnych wodotrysków bo je i tak trzeba napisać samemu.

Mam nadzieję, że w miarę zrozumiale napisałem swoją ideę frameworka i znajdzie się coś takiego.

Napisany przez: kwiateusz 25.06.2009, 22:26:16

kohana chyba najlepiej pasuje zwłąszcza z ta dokumentacją winksmiley.jpg na poczatek powinno Ci wystarczyć

Napisany przez: em1X 25.06.2009, 22:29:58

standardowo mogę polecić http://yiiframework.com smile.gif

Napisany przez: athabus 26.06.2009, 08:44:50

A mi się wydaje, że Kabraxis szuka zbioru klas a nie frameworka ;-)
To co napisałeś to tak na prawdę w każdym frameworku dostaniesz, bo w każdym frameworku możesz używać klas zewnętrznych. Nie napisałeś natomiast nic o wymaganiach co do samego frameworka, do rodzaju aplikacji jakich chcesz w nim tworzyć, do sposobu wykorzystania bazy danych etc itd. Same klasy we frameworku to rzecz drugorzędna, bo nawet jeśli nie odpowiada Ci dana klasa np. do wysyłania maili w frameworku to po prostu używasz innej. Framework to nie to samo co zbiór klas.

Napisany przez: Kabraxis 26.06.2009, 09:52:18

Obawiam się, że athabus ma rację. Zawsze postrzegałem frameworki jako zbiory klas mające na celu ułatwiać życie. Pisząc poprzedniego posta tak na prawdę miałem w głowie zbiór klas, z których mogę korzystać. Wyszło na to, że chyba nie do końca rozumiem ideę frameworka heh.

Odpowiadając na pytanie co chcę w nim tworzyć.
Właściwie tylko i wyłącznie skrypty komercyjne takie jak:
- sklepy
- system magazynowy
- system fakturowania
- inne komercyjne takie jak np. serwis ogłoszeniowy, program partnerski itd.

Podsumowując wszystko dla zastosowań komercyjnych.

Napisany przez: batman 26.06.2009, 10:00:13

~Kabraxis
W zasadzie każdy framework by pasował do Twoich potrzeb (oczywiście mowa o aplikacjach).
Jeśli potrzebujesz zbioru klas, które potrafią zrobić wszystko, to polecam Zend Famework, który takim zbiorem właśnie jest. Oprócz tego, że posiada masę funkcjonalności, to można jeszcze go używać jak każdego innego frameworka opartego o MVC.

Napisany przez: viking 26.06.2009, 10:08:58

Wspomniałeś o tłumaczeniach a tutaj ZF nie ma konkurencji. Przetłumaczenie strony to kilka opcji (zobacz obsługiwane adaptery) i z automatu działa na choćby formularzach, możesz nawet prostą regułką URLe przetłumaczyć.

Napisany przez: athabus 26.06.2009, 11:10:54

Kabraxis prawda jest taka, jak mówi Batman - tj. każdy framework nada się do tego typu zadań. Każdy będzie ci proponował to co lubi (ja też tak zrobie :-))

Ogólnie jeśli chodzi o dobre klasy, to polecam Zenda. Bardzo fajne narzędzia dla każdego programisty. Nie polecam jednak stosowania tego jako frameworka. Zend (o czym było już wiele w tym temacie pisane) - to jest bardziej narzędzie na którym możesz zbudować dostosowany pod swoje potrzeby framework - jeśli nie masz doświadczenia w pracy z frameworkami to się po prostu pogubisz. Sam zaczynałem od tego frameworka i potrzebowałem dużo czasu, żeby coś z tego wykrzesać a i tak z perspektywy patrząc to udało mi się osiągnąć spory śmietnik ;-). Podkreślę, że wina leżała po mojej stronie a nie po stronie frameworka - ot po prostu zabrakło wiedzy co i jak należy robić.

Na twoim miejscu zdecydowałbym się na Kohana lub Symfony. Kohana jest proste (czasami do bólu) i świetnie nadaje się do małych i średnich aplikacji - podstawy można opanować w 1 dzień. Dla niektórych (dla mnie akurat nie) jest też plusem fakt, że jest to bardzo luźny framework - na narzuca tylu ograniczeń co inne, większe rozwiązania.

Symfony to już jak to się ładnie określa rozwiązanie typu enterprise, wymaga sporo nakładu czasu na naukę i praktykę, ale daje dużo w zamian. W Symfony aplikację tworzysz wielokrotnie szybciej niż w gołym php i (w mojej opinii) 2-3 krotnie szybciej niż w Kohana.
Prawda jest jednak taka, że jakikolwiek framework nie wybierzesz na początku będziesz zadowolony.

Jeszcze raz podkreślę, że samych klas (np. Zenda) możesz używać w każdym frameworku. Framework bardziej ma wspierać takie rzeczy jak przepływ akcji, routing, separację warstw, tworzenie widoków, obsługiwanie/filtrowanie żądań, cachowanie etc - klasy to rzecz wtórna. W przypadku np. Symfony jest takie często powtarzane powiedzenie żeby "nie wynajdować koła od nowa" - autorzy czerpią z innych projektów czyniąc je częścią swojego frameworka - np. nie tworzą własnego ORM'a tylko używają Propela/Doctrine, nie tworzą własnych bibliotek Javascriptowych tylko używają uznanych projektów itd.

Co do wyboru samego frameworka, to przeczytaj cały wątek, odfiltruj flamewar i wybierz coś dla siebie.

Napisany przez: Kabraxis 26.06.2009, 11:46:22

Panowie, dziękuję za wyczerpujące odpowiedzi. Dokładnie o takie informacje mi chodziło.

Napisany przez: sever3d 4.10.2009, 15:51:08

Na początek wybierz CodeIgniter. Nauczysz się sporo. Przynajmniej podstaw MVC.
Ja używałem juz CakePHP i od niego zaczynałem. Narazie stawiam na CI.

Napisany przez: LBO 4.10.2009, 16:00:14

Cytat(sever3d @ 4.10.2009, 16:51:08 ) *
Na początek wybierz CodeIgniter. Nauczysz się sporo. Przynajmniej podstaw MVC.
Ja używałem juz CakePHP i od niego zaczynałem. Narazie stawiam na CI.


Przecież te dwa frameworki to dinozaury. Czego potencjalnie można się z nich nauczyć?
Od dawna stawiałem na nowoczesne rozwiązania (Symfony, Agavi, Propel) i cieszę się, po przeglądnięciu źródeł Cake'a i CI, że tak się potoczyło.

Napisany przez: wiewiorek 4.10.2009, 19:22:21

Ja tylko dodam, ze jak przeglądałem Zend frameworka to w stosunku do Symfony, zend jest strasznie zacofany.

Napisany przez: kamilus 5.10.2009, 22:38:54

Ostatnio postanowiłem przepisać jeden ze swoich serwisów.
Dotąd nie korzystałem z żadnych gotowych frameworków. W PHP siedzę od czasu wersji 3.0 i nabywana wiedza była rozwijana stopniowo wraz z rozwojem języka.
Nie czuję jakiejś wielkiej potrzeby wykorzystywania frameworka do moich projektów, ale...
1. wiele firm w ofertach współpracy wymaga znajomości ZF lub Symfony
2. obecnie zaciąganie kogokolwiek do pracy to uczenie go swojego własnego standardu, wypracowanego przez lata (który nie jest zbyt zgodny z tym, do czego przyzwyczaili się studenci związani chociażby z ASP.NET), frameworki zaś są jako tako znane ludziom szukającym pracy na stanowisku programisty PHP

W związku z powyższymi faktami muszę podjąć decyzję czy odnowić serwis (dość spory portal, łącznie z forum i społecznościówką) według własnego stylu programowania, czy też postawić na, któryś z frameworków. Tutaj pytanie - który? Wybór tylko pomiędzy ZF i Symfony - jeśli uczyć się czegoś nowego, to tego co przyda się w życiu zawodowym.
Jak działa tandem ZF + ZendStudio + ionCube (jakoś nie podoba mi się licencja ZendGuard'a)?
Termin jaki sobie postanowiłem na odnowienie projektu (system artykułów, galeria zdjęć, komentarze, streaming video, zalążek forum dyskusyjnego, konto użytkownika) to 3 tygodnie. W późniejszym terminie i w ramach wolnego czasu dalszy rozwój serwisu.

Póki co liznąłem przez szybę ZF przy okazji testowania Studio i...
1. czeka mnie sporo nauki - o ile z OOP problemów nie mam, o tyle ZF wymusza swój własny styl pisania i struktury plików
2. Czy warto przy tak ograniczonym terminie zasiadać do ZF i ewentualnie okroić wstępną funkcjonalność, czy też lepiej napisać po staremu, a któryś z frameworków poznawać na spokojnie?
3. System template'ów - ten w ZF mnie przeraża - pliki CSS i HTML przygotowują w firmie graficy i szkolić ich z podstaw PHP... strach się bać - czy ciężko jest zastosować własny? Mam takowy, bardzo prosty - zbliżony do systemu stosowanego w phpBB2.
4. zapytania SQL... Trochę przeraża mnie wizja budowania prostych zapytań poprzez metody frameworka - czy to naprawdę jest aż tak efektywne? Jak dla przykładu zbudować wówczas takowe zapytanie:

Kod
SELECT u.imie, u.nazwisko, u.email, p.czas, c.komentarz, f.nazwa FROM comments c, artykuly p, users u, zwz_us_fi z, zwz_com_art zc WHERE p.tytul LIKE '%alabala%' AND zc.artykul=p.id AND z.user=c.user AND f.id=z.firma AND u.id=c.user


Takie wyssane z palca, gdyż projekt nowej bazy nie jest jeszcze do końca przemyślany (ale będzie wiele relacji n...n).
5. Czy ewentualna migracja elementów wprost ze starego systemu jest w miarę bezbolesna, czy też nie obejdzie się od przepisania na nowo (wiele elementów pochodzi jeszcze z czasów przed OOP i php5)?

Napisany przez: athabus 6.10.2009, 11:36:48

@kamilus - przez 3 tygodnie to się możesz frameworka nauczyć, ale raczej nie napiszesz w nim dobrej aplikacji. Jeśli masz taki limit czasowy to ewentualnie możesz użyć prostego frameworka typu Kohana. ZF/Symfony to dość skomplikowane frameworki - ich poznanie zajmuje sporo czasu i trzeba nauczyć się korzystać z nowych opcji.

Co do SQL to nie ma konieczności korzystania z wbudowanych rozwiązań typu Propel etc, ale jest to bardzo wygodne zwłaszcza przy prostych zapytaniach. Te bardziej skomplikowane/wymagające optymalizacji z reguły robi się ręcznie na poziomie SQL.

Ogólnie jeśli miałbym coś doradzać to sugerowałbym Symfony. Zend daje większą dowolność, co jest teoretycznie plusem, ale przez ten brak standardów w pierwszych projektach wychodzi wielki chaos. Symfony wymaga dość dużego przestawienia się na nowe rozwiązania, ale posiada w miarę zunifikowany system kodowania, więc łatwiej:
a) od razu pisać w miarę dobry kod
cool.gif włączyć nową osobę do projektu

Zend jest bardzo fajny frameworkiem, ale dowolność sprawia że każdy koduje w nim inaczej. Jest to plus i minus. W Twoim przypadku, jeśli ma to być pierwszy framework to raczej będzie to minus, zwłaszcza ze masz ograniczenia czasowe.

Powiem jednak jeszcze raz, że jeśli termin 3 tygodni jest sztywny to raczej nie napiszesz tego dobrze w żadnym z tych frameworków bo różnica w stosunku do "ręcznego" pisania jest bardzo duża i trzeba poznać wiele nowych mechanizmów. Teoretycznie opanujesz je w kilka dni, ale zastosowanie praktyczne wymaga już trochę praktyki więc warto wypróbować to na jakąś mniejszą skalę.

Napisany przez: dr4ko 8.10.2009, 16:22:19

Również bym optował za Symfony. Jak się zna symfony to prosty serwis/aplikację można zrobić w tydzień ale w 3 tygodnie nie nauczysz się żadnego frameworka nie mówiąc już o przepisaniu serwisu.

Napisany przez: wiewiorek 8.10.2009, 17:13:33

W Zendzie mamy:
- beznadziejną dokumentację, brak porządnego tutoriala przez co przez kilka dni mordowałem, pytałem i szukałem jak włączyć layout bo nigdzie nie napisali

- by zrobić 1 model trzeba wg ich mini tutoriala: http://framework.zend.com/docs/quickstart/create-a-model-and-database-table zrobić tak:

  1. class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
  2. {
  3. protected function _initAutoload()
  4. {
  5. $autoloader = new Zend_Application_Module_Autoloader(array(
  6. 'namespace' => 'Default',
  7. 'basePath' => dirname(__FILE__),
  8. ));
  9. return $autoloader;
  10. }
  11.  
  12. protected function _initDoctype()
  13. {
  14. $this->bootstrap('view');
  15. $view = $this->getResource('view');
  16. $view->doctype('XHTML1_STRICT');
  17. }
  18. }
  19.  
  20. //----------------------------------
  21.  
  22. ; application/configs/application.ini
  23.  
  24. ; Add these lines to the appropriate sections:
  25. [production]
  26. resources.db.adapter = "PDO_SQLITE"
  27. resources.db.params.dbname = APPLICATION_PATH "/../data/db/guestbook.db"
  28.  
  29. [testing : production]
  30. resources.db.params.dbname = APPLICATION_PATH "/../data/db/guestbook-testing.db"
  31.  
  32. [development : production]
  33. resources.db.params.dbname = APPLICATION_PATH "/../data/db/guestbook-dev.db"
  34.  
  35. //-----------------------------------
  36.  
  37. //stworzyc katalog
  38.  
  39. //-----------------------------------
  40.  
  41. <?php
  42. // scripts/load.sqlite.php
  43.  
  44. /**
  45.  * Script for creating and loading database
  46.  */
  47.  
  48. // Initialize the application path and autoloading
  49. http://www.php.net/defined('APPLICATION_PATH')
  50. || http://www.php.net/define('APPLICATION_PATH', http://www.php.net/realpath(http://www.php.net/dirname(__FILE__) . '/../application'));
  51. http://www.php.net/set_include_path(http://www.php.net/implode(PATH_SEPARATOR, http://www.php.net/array(
  52. APPLICATION_PATH . '/../library',
  53. http://www.php.net/get_include_path(),
  54. )));
  55. require_once 'Zend/Loader/Autoloader.php';
  56. Zend_Loader_Autoloader::getInstance();
  57.  
  58. // Define some CLI options
  59. $getopt = new Zend_Console_Getopt(http://www.php.net/array(
  60. 'withdata|w' => 'Load database with sample data',
  61. 'env|e-s' => 'Application environment for which to create database (defaults to development)',
  62. 'help|h' => 'Help -- usage message',
  63. ));
  64. try {
  65. $getopt->parse();
  66. } catch (Zend_Console_Getopt_Exception $e) {
  67. // Bad options passed: report usage
  68. http://www.php.net/echo $e->getUsageMessage();
  69. return false;
  70. }
  71.  
  72. // If help requested, report usage message
  73. if ($getopt->getOption('h')) {
  74. http://www.php.net/echo $getopt->getUsageMessage();
  75. return true;
  76. }
  77.  
  78. // Initialize values based on presence or absence of CLI options
  79. $withData = $getopt->getOption('w');
  80. $env = $getopt->getOption('e');
  81. http://www.php.net/defined('APPLICATION_ENV')
  82. || http://www.php.net/define('APPLICATION_ENV', (null === $env) ? 'development' : $env);
  83.  
  84. // Initialize Zend_Application
  85. $application = new Zend_Application(
  86. APPLICATION_ENV,
  87. APPLICATION_PATH . '/configs/application.ini'
  88. );
  89.  
  90. // Initialize and retrieve DB resource
  91. $bootstrap = $application->getBootstrap();
  92. $bootstrap->bootstrap('db');
  93. $dbAdapter = $bootstrap->getResource('db');
  94.  
  95. // let the user know whats going on (we are actually creating a
  96. // database here)
  97. if ('testing' != APPLICATION_ENV) {
  98. http://www.php.net/echo 'Writing Database Guestbook in (control-c to cancel): ' . PHP_EOL;
  99. for ($x = 5; $x > 0; $x--) {
  100. http://www.php.net/echo $x . "\r"; http://www.php.net/sleep(1);
  101. }
  102. }
  103.  
  104. // Check to see if we have a database file already
  105. $options = $bootstrap->getOption('resources');
  106. $dbFile = $options['db']['params']['dbname'];
  107. if (http://www.php.net/file_exists($dbFile)) {
  108. http://www.php.net/unlink($dbFile);
  109. }
  110.  
  111. // this block executes the actual statements that were loaded from
  112. // the schema file.
  113. try {
  114. $schemaSql = http://www.php.net/file_get_contents(http://www.php.net/dirname(__FILE__) . '/schema.sqlite.sql');
  115. // use the connection directly to load sql in batches
  116. $dbAdapter->getConnection()->exec($schemaSql);
  117. chmod($dbFile, 0666);
  118.  
  119. if ('testing' != APPLICATION_ENV) {
  120. http://www.php.net/echo PHP_EOL;
  121. http://www.php.net/echo 'Database Created';
  122. http://www.php.net/echo PHP_EOL;
  123. }
  124.  
  125. if ($withData) {
  126. $dataSql = http://www.php.net/file_get_contents(http://www.php.net/dirname(__FILE__) . '/data.sqlite.sql');
  127. // use the connection directly to load sql in batches
  128. $dbAdapter->getConnection()->exec($dataSql);
  129. if ('testing' != APPLICATION_ENV) {
  130. http://www.php.net/echo 'Data Loaded.';
  131. http://www.php.net/echo PHP_EOL;
  132. }
  133. }
  134.  
  135. } catch (Exception $e) {
  136. http://www.php.net/echo 'AN ERROR HAS OCCURED:' . PHP_EOL;
  137. http://www.php.net/echo $e->getMessage() . PHP_EOL;
  138. return false;
  139. }
  140.  
  141. // generally speaking, this script will be run from the command line
  142. return true;
  143.  
  144.  
  145. //--------------------------------------
  146.  
  147. //znowu stworzyc katalog
  148.  
  149. //------------------------------------
  150.  
  151. class Default_Model_GuestbookMapper
  152. {
  153. protected $_dbTable;
  154.  
  155. public function setDbTable($dbTable)
  156. {
  157. if (http://www.php.net/is_string($dbTable)) {
  158. $dbTable = new $dbTable();
  159. }
  160. if (!$dbTable instanceof Zend_Db_Table_Abstract) {
  161. throw new Exception('Invalid table data gateway provided');
  162. }
  163. $this->_dbTable = $dbTable;
  164. return $this;
  165. }
  166.  
  167. public function getDbTable()
  168. {
  169. if (null === $this->_dbTable) {
  170. $this->setDbTable('Default_Model_DbTable_Guestbook');
  171. }
  172. return $this->_dbTable;
  173. }
  174.  
  175. public function save(Default_Model_Guestbook $guestbook)
  176. {
  177. $data = http://www.php.net/array(
  178. 'email' => $guestbook->getEmail(),
  179. 'comment' => $guestbook->getComment(),
  180. 'created' => http://www.php.net/date('Y-m-d H:i:s'),
  181. );
  182.  
  183. if (null === ($id = $guestbook->getId())) {
  184. http://www.php.net/unset($data['id']);
  185. $this->getDbTable()->insert($data);
  186. } else {
  187. $this->getDbTable()->update($data, http://www.php.net/array('id = ?' => $id));
  188. }
  189. }
  190.  
  191. public function find($id, Default_Model_Guestbook $guestbook)
  192. {
  193. $result = $this->getDbTable()->find($id);
  194. if (0 == http://www.php.net/count($result)) {
  195. return;
  196. }
  197. $row = $result->current();
  198. $guestbook->setId($row->id)
  199. ->setEmail($row->email)
  200. ->setComment($row->comment)
  201. ->setCreated($row->created);
  202. }
  203.  
  204. public function fetchAll()
  205. {
  206. $resultSet = $this->getDbTable()->fetchAll();
  207. $entries = http://www.php.net/array();
  208. foreach ($resultSet as $row) {
  209. $entry = new Default_Model_Guestbook();
  210. $entry->setId($row->id)
  211. ->setEmail($row->email)
  212. ->setComment($row->comment)
  213. ->setCreated($row->created)
  214. ->setMapper($this);
  215. $entries[] = $entry;
  216. }
  217. return $entries;
  218. }
  219. }
  220.  
  221. //---------------------------------------
  222.  
  223. //itd. !! to nie koniec !! kodu jest znacznie wiecej !!
  224.  


Tyle roboty dla jednego modelu questionmark.gif exclamation.gif Nie wiem jak Wy, ale ja i tak większości z tego nie rozumiem co tu się dzieje, w Symfony nie było tyle roboty.
A to nie jedyne wady ZF, ale z powodu tego jednego modelu już wyczerpałem limit znaków przeznaczony na jednego posta i więcej wad wymienić nie mogę tongue.gif

Napisany przez: batman 8.10.2009, 17:52:53

~wiewiorek bzdury wypisujesz.

Cytat
- beznadziejną dokumentację, brak porządnego tutoriala przez co przez kilka dni mordowałem, pytałem i szukałem jak włączyć layout bo nigdzie nie napisali
Fakt. Dokumentacja nie należy do najlepszych. Jeśli szukasz czegoś więcej musisz mocno pogrzebać, by to znaleźć. Ale z tym layoutem to przesadziłeś. Przecież od tego masz Quick start (mini tutorial, jak to określiłeś).

A ten kod, który wkleiłeś to:
- index.php - punkt wejścia do aplikacji.
- bootstrap - klasa odpowiadająca za aplikację
- application.ini - plik konfiguracyjny
- skrypt pomocniczy, który stworzy bazę danych i uzupełni ją danymi
- właściwy model.
A ten tekst, że kodu jest znacznie więcej, to zapomniałeś o kontrolerze, widoku i dwóch pozostałych klasach modelu.

To co napisałeś to kod wymagany do stworzenia projektu, a nie samego modelu. To, że model został omówiony jako ostatni, nie oznacza, że musisz wykonać wszystkie kroki w celu jego napisania.

Pokaż mi frameworka, w którym działa model bez konfiguracji czy czegoś tak zbędnego jak index.php. Jedyne o co proszę, to rzeczowe argumenty.

Napisany przez: wiewiorek 8.10.2009, 19:28:46

Źle napisałem, miałem poprawić, ale zapomniałem - chodziło mi o uprawnienia - Zend_Acl, przez kilka dni szukałem co i w jakim pliku dodać żeby dostęp do danej strony miała osoba tylko o wysokich uprawnieniach, w symfony wystarczyłoby zrobić:

  1. is_secure: on
  2. credentials: [wysokie]


i tyle, w końcu się poddałem i odpuściłem sobie Zenda. W Zendzie nieustannie trzeba dodawać kod, którego często nie rozumiem do plików: index.php, Bootstrap.php i application.ini - to mnie najbardziej wkurza. W Symfony nic takiego nie musiałem robić, a w Zendzie - non stop, przy każdej nowej funkcjonalnosci coś w nich trzeba dodać - to coś włączyć, to do czegoś ustawić ścieżkę itd. itp. - i żeby chociaż w jednym pliku albo żeby konkretnie napisali co i w którym pliku, a to nie, nic nie napiszą.


Przy użyciu konsoli w porównaniu do Symfony też wiele zrobić się nie da. Mogli chociaż zrobić, że jak chce skorzystać, np. z Zend_Acl to wydaję w konsoli polecenie i dodaje mi do tych 3. plików co tam trzeba, ale niestety takiego rozwiązania brak.

Napisany przez: phpion 8.10.2009, 19:34:57

@wiewiorek:
Nie możesz negować ZF tylko dlatego, że nie dawałeś sobie z nim rady. Przez kilka dni szukałeś jak ugryźć ACL? No bez jaj - przecież w dokumentacji jest to ładnie napisane... Porównujesz ACL do ustawiania uprawnień w Symfony poprzez YML - pamiętaj tylko, że jest to pewien sposób zapisu konfiga. Dokładnie ten sam efekt mógłbyś uzyskać w ZF.

PS: dla jasności - nie używam ZF ani Symfony.

Napisany przez: wiewiorek 8.10.2009, 21:07:57

phpion w dokumentacji a i owszem jest opisane użycie Zend_Acl - UŻYCIE, nie ma natomiast co i do jakiego pliku dodać żeby Zend_Acl uaktywnić.

Napisany przez: -=Peter=- 8.10.2009, 21:13:33

@wiewiorek - tak ZF ma słabą dokumentację... Brak słów. Dokumentacja ZF wg mnie jest bardzo dobra, znacznie lepsza i obszerniejsza niż symfony (jeśli już porównujesz). Chociaż, poprzez tą obszerność, niekiedy wyszukanie prostej informacji zajmuje sporo czasu.

Zend jako tako nie oferuje nam gotowych klas modelu, jednak oferuje klasy na których bazie możesz sobie model napisać. Możesz również wykorzystać jakiegoś ORMa (Propel, Doctrine) tak jak to jest w symfony.

Cytat
W Zendzie nieustannie trzeba dodawać kod, którego często nie rozumiem do plików: index.php, Bootstrap.php i application.ini - to mnie najbardziej wkurza

To fajnie, że wkurzają cie rzeczy których nie rozumiesz. Pewnie chodzi ci o to, że aby dodać np. połączenie z bazą danych (czy jakiś inny "zasób" wg nazewnictwa zf) trzeba zainicjować w bootstrapie adapter bazy danych oraz ustawić dane do bazy w pliku konfiguracyjnym (co nie jest konieczne, bo możesz na sztywno w bootstrapie to trzymać tongue.gif). No faktycznie, jest to nieziemsko skomplikowane i nielogiczne... Ciężko się w tym połapać, zwłaszcza że ZF ma tak marną dokumentację.

Napisany przez: batman 9.10.2009, 07:33:32

Cytat(wiewiorek @ 8.10.2009, 22:07:57 ) *
phpion w dokumentacji a i owszem jest opisane użycie Zend_Acl - UŻYCIE, nie ma natomiast co i do jakiego pliku dodać żeby Zend_Acl uaktywnić.

Ehh. Kiedyś oprócz umiejętności czytania, w cenie była umiejętność myślenia.

Jak już nie raz zostało to napisane, ZF jest zbiorem klas, z których możesz sobie napisać frameworka. Dokumentacja opisuje tylko poszczególne komponenty, a to jak je ze sobą połączysz, zależy tylko od Ciebie. Oczywiście są standardy tworzenia projektów w oparciu o ZF, ale nic nie stoi na przeszkodzie, by wyjąć np Zend_Form i użyć go z aplikacji niezależnej od ZF.

Jeśli wymagasz od frameworka dokładnych wytycznych co i jak masz napisać, a dokumentacja ma być zestawem gotowych przepisów na blog/forum/sklep/itd, to ZF nie jest dla Ciebie.

Napisany przez: athabus 9.10.2009, 09:01:14

Z Zendem jest niestety ten problem, że reklamują go jako frameworka. Ktoś kto chce zacząć przygodę z frameworkami zazwyczaj wybierze właśnie Zenda bo w końcu tworzą go ludzie od php... i niestety w większości przypadków się rozczaruje.
Ja niestety zrobiłem kiedyś ten błąd. Aplikację jaką napisałem w oparciu można nazwać koszmarkiem ;-) - najlepsze jest to, że wtedy nawet nie wiedziałem, że to koszmarek i byłem z siebie bardzo dumny. Teraz gdy już mam pojęcia jak funkcjonują frameworki zrobiłbym to znacznie lepiej.

Co do dokumentacji to się nie wypowiadam, bo ja bawiłem się na etapie 0.7 więc trudno było oczekiwać dobrej dokumentacji - wtedy były opisane poszczególne klasy - nikt nie wspominał o tym jak używać ich jako całości. Jeśli jest tak nadal, to współczuję, bo nie jest to doby układ dla początkującego. Zdecydowanie dobre podejście do dokumentacji ma Symfony - tj. książka wchodząca w szczegóły każdego modułu + tutorial dla początkujących robiący taki przekrój przez wszystkie etapy tworzenia aplikacji. Dzięki temu osoba ma możliwość zapoznania się z istotą frameworka i później wie czego szukać w manualu.

Także rozumiem frustracje Wiewióra bo pare lat temu przeżywałem to samo - no może nie na taką skalę. Poruszałem się trochę jak dziecko we mgle. Dokumentacja techniczna bez "narracji" jak to wszystko połączyć jest bardzo denerwująca.

Trzeba zrozumieć podstawową rzecz - Zend to nie narzędzie dla osób nie znających frameworków. Zaczynając od tego frameworka można sobie wyrządzić dużo krzywdy nie zdając sobie nawet z tego sprawy, że robimy coś źle/nieoptymalnie. Nie zmienia to jednak faktu, że Zend to kawałem przyzwoitego kodu. Sam z niego korzystam, ale tylko jako biblioteki do Symfony.

Napisany przez: wiewiorek 9.10.2009, 09:08:12

Peter, ja robiłem plugina Zend_Acl,
w pliku bootstrap dawałem:

  1. public function _initAclPlugin()
  2. {
  3. $acl = new My_Acl();
  4.  
  5. $fc->registerPlugin(new My_Plugin_Acl($acl));
  6. }
  7.  


w applicatio.ini:
  1. autoloadernamespaces.0 = "Zend_"
  2. autoloadernamespaces.1 = "My_"


w index.php:
  1. http://www.php.net/set_include_path(http://www.php.net/implode(PATH_SEPARATOR, http://www.php.net/array(
  2. http://www.php.net/realpath(APPLICATION_PATH . '/../library'),
  3. http://www.php.net/realpath(APPLICATION_PATH . '/plugins'),
  4. http://www.php.net/get_include_path(),
  5. )));


i inne cuda i wciąż ten Zend_Acl mi nie działał.

No jak Wy lubicie zabawy z modułami i tyle kombinacji by włączyć coś tak podstawowego jak moduł odpowiedzialny za przywileje, zamiast korzystać z pełnowartościowych frameworków i skupić się na programowaniu to wasza sprawa. Dla mnie nowoczesnymi frameworkami są Symfony i pochodzący z innej bajki ASP.NET - można skupić się na programowaniu, wszystko inne można dodać albo z konsoli, albo z Visual Studio.

Albo kolejna wada - ten framework nie ułatwa podstawowych rzeczy. Przykład - logowanie - w Zendzie to byłoby coś w tym stylu:
  1. $uzytkownicy = new Model_DbTable_Uzytkownicy();
  2. $form = new Form_Logowanie();
  3. $this->view->form = $form;
  4.  
  5. if($this->getRequest()->isPost())
  6. {
  7. if($form->isValid($_POST))
  8. {
  9. $data = $form->getValues();
  10.  
  11. $auth = Zend_Auth::getInstance();
  12. $authAdapter = new Zend_Auth_Adapter_DbTable($uzytkownicy->getAdapter(),'uzytkownicy', 'login', 'haslo');
  13.  
  14. $authAdapter->setIdentity($data['login'])
  15. ->setCredential($data['haslo']);
  16.  
  17. $result = $auth->authenticate($authAdapter);
  18. if($result->isValid())
  19. {
  20. $storage = $auth->getStorage();
  21. $storage->write($authAdapter->getResultRowObject());
  22. $storage->write($authAdapter->getResultRowObject(null, 'password'));
  23.  
  24. $this->_redirect('/');
  25. }
  26. {
  27. $this->view->errorMessage = "Błędny login lub hasło, proszę spróbować ponownie.";
  28. }
  29. }
  30. }


Logowanie - podstawowa sprawa, które powinna wymagać ode mnie minimum kodu.
A tymczasem gdzie jest w tym odwalenie za mnie roboty ? Przecież ja sam musiałem ten kod napisać, a framework ma podobno przyspieszać pracę ? A dodatkowo do tego formularz logowania też trzeba samemu stworzyć - to ma być przyspieszenie pracy ? Przecież gdybym nie skorzystał z Zend Frameworka miałbym niewiele więcej pracy - musiałbym zrobić to samo co w Zendzie + napisanie prostej klasy.

Oczywiście w przypadku innych rzeczy takie podejście jak w Zendzie byłoby ok, ale tu przecież mowa o czymś tak podstawowym jak logowanie - to powinno wymagać minimum pisania kodu, a tymczasem tak nie jest.

Koniec z dyskusji z mojej strony, chcecie to zostańcie przy Zendzie, ja jednak wolę używać rzeczy, które przyspieszają tworzenie stron.

Napisany przez: -=Peter=- 9.10.2009, 10:34:32

Nie jestem żadnym zwolennikiem ZF, osobiście wolę pisać w symfony, ale znam w pewnym stopniu obydwa frameworki.

A powiedz mi czy symfony samo z siebie automatyzuje autoryzację? Nie, trzeba samemu napisać formularz, samemu napisać odpowiedni walidator. No chyba że są jakieś nieoficjalne pluginy do tego, ale takie coś i do ZF by się znalazło. ZF oferuje nam za to narzędzie do autoryzacji, które możemy wykorzystać do autoryzacji http, czy zwykłego logowania na sesji.

Jeśli chodzi o te śmieszny przykład z Acl którego nie rozumiesz (tak pisałeś w poprzednich postach), to cie oświecę:

Cytat
  1. http://www.php.net/set_include_path(http://www.php.net/implode(PATH_SEPARATOR, http://www.php.net/array(
  2. http://www.php.net/realpath(APPLICATION_PATH . '/../library'),
  3. http://www.php.net/realpath(APPLICATION_PATH . '/plugins'),
  4. http://www.php.net/get_include_path(),
  5. )));


Ustawienie include path, aby można było w łatwy sposób includować pliki. Nie ma bezpośredniego związku z Acl. To się ustawia w każdym projekcie.

Daje nam to tyle, że aby coś includować (np. '../library/Zend/JakaśKlasa.php') to możemy pominąć część relatywną ścieżki ('../library'), a używać tylko 'Zend/JakaśKlasa.php'.

Cytat
  1. autoloadernamespaces.0 = "Zend_"
  2. autoloadernamespaces.1 = "My_"

Ustawienie przestrzeni nazw dla autoloadera. Nie ma to bezpośredniego związku z Acl. To też się ustawia w każdym projekcie, ja osobiście mam to ustawione w bootstrapie, a nie w plikach konfiguracyjnych.

Cytat
  1. public function _initAclPlugin()
  2. {
  3. $acl = new My_Acl();
  4.  
  5. $fc->registerPlugin(new My_Plugin_Acl($acl));
  6. }

Tylko to odpowiada za rejestrację pluginu. Zaraz zaczniesz narzekać, że aby użyć Acl to trzeba utworzyć plik index.php i odpalić w nim bootstrapa...

Napisany przez: modic 5.11.2009, 19:38:20

Zdecydowanie na sam początek, do nauki najlepsze jest CI, prostota, świetna dokumentacja i łatwość użytkowania.

Nie wiem jak Wy, ale ja osobiście zalety CI cenię bardziej niż wsparcie dla php5, choć miło by było z estrony developerów jakby sobie o nim przypomnieli.
Niby jeszcze jest Kohana, takie niby ulepszone CI, ale wiele rzeczy jest tam zrobiona zupełnie inaczej i jak dla mnie jest troszkę irytująca, szczególnie to że nawet nie było przykładowych plików konfiguracyjnych, tylko trzeba było w necie szukać, no i to że nie mam takiej swobody jak w CI

Napisany przez: phpion 6.11.2009, 13:35:49

Cytat(modic @ 5.11.2009, 21:38:20 ) *
Niby jeszcze jest Kohana, takie niby ulepszone CI, ale wiele rzeczy jest tam zrobiona zupełnie inaczej i jak dla mnie jest troszkę irytująca, szczególnie to że nawet nie było przykładowych plików konfiguracyjnych, tylko trzeba było w necie szukać, no i to że nie mam takiej swobody jak w CI

blinksmiley.gif jakich plików konfiguracyjnych? W katalogu system/config masz wszystkie wyjściowe wersje plików konfiguracyjnych. Wyjściowe, bo Kohana wspiera kaskadowość plików. Nie rozumiem również w jaki sposób Kohana ogranicza Twoją swobodę. Jak dla mnie K jest duży krok przed CI i jak na chwilę obecną nie zanosi się by CI ją przegoniło.

Napisany przez: qba_rox 6.11.2009, 16:00:23

Takie dyskusje sa prowadzone przez ludzi, ktorzy nie maja pojecia o biznesie webowym.
Wiewiorkowi powinni zabronic tu pisac, jak mozna negowac framework, tylko dlatego bo nie potrafi sie go zrozumiec. A moze lepiej bylo zostac krawcem? (bez ujmowania krawcowm)

Napisany przez: Zyx 7.11.2009, 10:00:37

Moje główne zastrzeżenie dotyczy frameworków PHP w ogólności, konkretniej - implementacji MVC, która żadnym MVC nie jest. Weźmy pseudokod w stylu pierwszego lepszego frameworka:

  1. public function costamAction()
  2. {
  3.  
  4. $model = Item_Model::create();
  5. $pagination = new Pagination($model->count(), 30);
  6. $data = $model->select('a, b, c)->where('foo = ?', $bar)->order('joe')->limit($pagination);
  7.  
  8. $view = $this->getView('index');
  9. $view->data = $data;
  10. $view->pagination = $data;
  11. $this->contentManager->addView($view);
  12. } // end costamAction();


Teraz pseudokod no-framework:

  1. function costamAction()
  2. {
  3. $pdo = Registry::get('pdo');
  4. $pagination = new Pagination(Count_Data('item'), 30);
  5. $stmt = $pdo->query('SELECT a, b, c FROM item WHERE foo=:bar ORDER BY joe '.$pagination->getLimit());
  6. $stmt->bindValue(':bar', $bar);
  7. $stmt->execute();
  8. $data = http://www.php.net/array();
  9. while($row = $stmt->fetch(PDO::FETCH_ASSOC))
  10. {
  11. $data[] = $row;
  12. }
  13. $stmt->closeCursor();
  14.  
  15. $template = new Template('index');
  16. $template->data = $data;
  17. $template->pagination = $pagination;
  18. $template->display();
  19. } // end costamAction();


I teraz pytanie stulecia: co takiego jest w pierwszym kodzie, czego nie ma w drugim, że pierwszy nazywamy "zgodnym z MVC", a drugi nie? Bo według mnie nie ma nic, a oba kody poza stopniem wykorzystania obiektówki, elegancją i poziomem opakowania powtarzalnych operacji nie różnią się zasadniczo od kodu, który potrafi napisać przy użyciu mysql_query() i funkcji pierwszy lepszy człowiek po dwóch miesiącach nauki PHP. Do tego dochodzi jeszcze mnóstwo kwiatków związanych z umieszczaniem danego elementu nie tam, gdzie powinien być (np. stronicowanie w kontrolerze).

Jak ktoś się uprze, to doprowadzi kod do postaci, gdy będzie to zgodne z MVC, tylko dlaczego w takim razie nie dostajemy takiej postaci od razu, skoro niby "MVC jest zaimplementowane"?


Napisany przez: LBO 7.11.2009, 12:52:15

@Zyx, przyjrzyj się http://agavi.org

Napisany przez: MarcinTryka 15.11.2009, 18:06:12

Cytat(wiewiorek @ 8.10.2009, 19:28:46 ) *
Źle napisałem, miałem poprawić, ale zapomniałem - chodziło mi o uprawnienia - Zend_Acl, przez kilka dni szukałem co i w jakim pliku dodać żeby dostęp do danej strony miała osoba tylko o wysokich uprawnieniach, w symfony wystarczyłoby zrobić:
  1. is_secure: on
  2. credentials: [wysokie]

Ok. A co jeśli jeden użytkownik na wysokim poziomie ma mieć dostęp do swoich stron i do stron ludzi o najniższym poziomie, a inny nie? A jeśli tylko fragermnt danej srony w zależności o d uprawnień ma być wyświetlany?
A jeśli ACL ma zależeć nie od "poziomu" że im wyżej tym więcej może ,a według przydzielonych uprawnień do konkretnych akcji/pól dla konkretnego urzytkownika/grupy?

Cytat(wiewiorek @ 9.10.2009, 09:08:12 ) *
Logowanie - podstawowa sprawa, które powinna wymagać ode mnie minimum kodu.

To robisz sobie moduł logowania z konrolerem, helperem i modelem. I wklejasz jak to takie powtarzalne.
Oczywiście da się zrobić frameworka w którym piszesz:
[logowanie]
I już Ci obsługuje bazę danych, tworzy przekerowania, kontroler, wyświetlanie informacji... coś takiego już zrobiono, nazywa się Joomla. Jak chcesz programowąć to potrzebujesz dostępu do tych małych klocków. Jak masz tylko jeden klocek to jak przychodzi konieczność zmian/zrobienia czegoś nieszablonowego to leżysz i kwiczysz. Tutaj jest takie podejście że ja sobie składam z małych klocków większy kawałek strony, z którego korzystam wielokrotnie, a jak chcę zrobić coś niestandardowego to mam opanowane podstawy i wiem jak co poprzekładać.

Nie srpowadzajmy frameworków do łatwości CMSów typu Joomla, bo to inna działka. PRzecież nie chodzi o to żeby było tak proste żeby nie-programista programował używając frameworka. i jakiegoś tutoriala na 3 strony.

Napisany przez: dr4ko 25.11.2009, 12:48:53

Cytat(MarcinTryka @ 15.11.2009, 18:06:12 ) *
Ok. A co jeśli jeden użytkownik na wysokim poziomie ma mieć dostęp do swoich stron i do stron ludzi o najniższym poziomie, a inny nie? A jeśli tylko fragermnt danej srony w zależności o d uprawnień ma być wyświetlany?
A jeśli ACL ma zależeć nie od "poziomu" że im wyżej tym więcej może ,a według przydzielonych uprawnień do konkretnych akcji/pól dla konkretnego urzytkownika/grupy?


Ustawienia w security.yml w Symfony nie służą do określania tego co ma się wyświetlić tylko do określenia czy dany użytkownik w ogóle może wywołać daną akcję. Uprawnienia w yamlu można łączyć operatorami logicznymi i sprawdzać dowolną konfigurację uprawnień ale jeszcze raz zaznaczę że tylko w celu określenia czy daną akcję odpalić. W akcji wystarczy sprawdzić uprawnienia użytkownika wywołując
  1. $this->getUser()->hasCredential('uprawnienie')

i zrobić to co dla danego użytkownika ma się wykonać. Symfony ma naprawdę łatwy i przyjemny system uprawnień tylko trzeba go stosować z głową.

Napisany przez: NuLL 13.12.2009, 18:53:28

Cytat
Do tego dochodzi jeszcze mnóstwo kwiatków związanych z umieszczaniem danego elementu nie tam, gdzie powinien być (np. stronicowanie w kontrolerze).

@Zyx - A gdzie wg Ciebie według Ciebie to powinno być umieszczone ?

Napisany przez: wiewiorek 28.12.2009, 08:46:53

Używał może ktoś ORM Designera dla Symfony i Doctrine/Propel ?
http://www.orm-designer.com/web/screenshots
Pobrałem i zainstalowałem wersję testową, fajna sprawa smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)