![]() ![]() |
Post
#281
|
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 4 Dołączył: 16.07.2008 Skąd: Gdańsk Ostrzeżenie: (0%)
|
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.
|
|
|
|
Post
#282
|
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 11 Dołączył: 5.09.2009 Ostrzeżenie: (0%)
|
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/...-database-table zrobić tak:
Tyle roboty dla jednego modelu (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/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ę (IMG:style_emoticons/default/tongue.gif) Ten post edytował wiewiorek 8.10.2009, 17:15:02 |
|
|
|
Post
#283
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
~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. |
|
|
|
Post
#284
|
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 11 Dołączył: 5.09.2009 Ostrzeżenie: (0%)
|
Ź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ć:
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. |
|
|
|
Post
#285
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
@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. |
|
|
|
Post
#286
|
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 11 Dołączył: 5.09.2009 Ostrzeżenie: (0%)
|
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ć.
|
|
|
|
Post
#287
|
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%)
|
@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ć (IMG:style_emoticons/default/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ę. |
|
|
|
Post
#288
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
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. |
|
|
|
Post
#289
|
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
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. |
|
|
|
Post
#290
|
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 11 Dołączył: 5.09.2009 Ostrzeżenie: (0%)
|
Peter, ja robiłem plugina Zend_Acl,
w pliku bootstrap dawałem:
w applicatio.ini:
w index.php:
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:
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. Ten post edytował wiewiorek 9.10.2009, 09:17:55 |
|
|
|
Post
#291
|
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%)
|
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
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
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
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... |
|
|
|
Post
#292
|
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 0 Dołączył: 18.07.2008 Ostrzeżenie: (0%)
|
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 Ten post edytował modic 5.11.2009, 19:40:28 |
|
|
|
Post
#293
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
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 (IMG:style_emoticons/default/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. |
|
|
|
Post
#294
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 1 Dołączył: 12.01.2009 Skąd: Warszawa Ostrzeżenie: (0%)
|
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) |
|
|
|
Post
#295
|
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%)
|
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:
Teraz pseudokod no-framework:
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"? |
|
|
|
Post
#296
|
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%)
|
@Zyx, przyjrzyj się Agavi
|
|
|
|
Post
#297
|
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 31.03.2007 Ostrzeżenie: (0%)
|
Ź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ć:
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? 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. Ten post edytował MarcinTryka 15.11.2009, 18:07:40 |
|
|
|
Post
#298
|
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 4 Dołączył: 16.07.2008 Skąd: Gdańsk Ostrzeżenie: (0%)
|
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
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ą. |
|
|
|
Post
#299
|
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%)
|
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 ? Ten post edytował NuLL 13.12.2009, 18:53:48 |
|
|
|
Post
#300
|
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 11 Dołączył: 5.09.2009 Ostrzeżenie: (0%)
|
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 (IMG:style_emoticons/default/smile.gif) |
|
|
|
![]() ![]() |
|
Aktualny czas: 13.12.2025 - 08:00 |