athabus
5.12.2006, 13:35:41
Witam,
ciągle szukam dla siebie Frameworka. Jako, że do tej pory raczej tworzyłem swoje rozwiązania i wykorzystywałem pojedyncze klasy z PHPClasses nie mam za bardzo doświadczenia aby samemu odpowiedzieć sobie na pytanie który framework wybrać.
Pobieżnie przejrzałem wszystkie ważniejsze i zdecydowałem się na Zend Framework lub Code Igniter. CI jest ogólnie super - w zasadzie spełnia wszystkie moje wymagania -> jest prosty, szybki i łatwy do nauczenia. W zasadzie ma dla mnie jedną podstawową wadę - sposób ładowania obiektów, który sprawia, że Eclipse nie może podpowiadać składni. Podpowiadanie jest dla mnie bardzo ważne bo bardzo przyspiesza pisanie - nie lubie przeszukiwać kodu w poszukiwaniu nazwy jakiejś metody.
Z tego co widzę w Zendzie inicjowanie obiektów odbywa się tradycyjnie przy użyciu new także, Eclipse będzie podpowiadać składnie. Tyle tylko, że słyszałem z kolei, że ten Framework nie jest jeszcze "ukończony".
Pytanie zatem co w tym Frameworki nie działa /nie do końca działa, a co będzie mi potrzebne. Oczywiście mowa o klasach "podstawowych' typu obsługa Db czy filtr danych pochodzących od użytkownika.
Czyli innymi słowy czy w ZF da się już tworzyć czy to tylko na razie taka wczesna beta.
No i oczywiście, który waszym subiektywnym zdaniem jest lepszy ZF czy CI.
PS. celowo nie daje na Gotowe Skrypty bo bardziej chodzi mi o opinie niż rozwiązanie konkretnego problemu.
Sabistik
5.12.2006, 14:11:50
Cytat
Czyli innymi słowy czy w ZF da się już tworzyć czy to tylko na razie taka wczesna beta.
hehe, to nawet jeszcze beta nie jest, tylko preview release. Dużo jeszcze nie ma i dużo zostanie zmienione. Ja jednak już go wykorzystywałem w małych projektach i jestem bardzo zadowolony. Mi osobiście się podoba. Pamiętaj tylko że ma jak na razie sporo błędów.
http://framework.zend.com/wiki/display/ZFD...Management+Team
athabus
5.12.2006, 16:46:33
Coś konkretnego widze, że ma być koło lutego - marca. Jeśli by dotrzymali tych terminów to byłoby bardzo miło. Powiem szczerze że mi się ZF bardzo podoba. Wybrał bym CI gdyby nie ten jeden "problem", o którym pisałem. W takim razie w święta zaczynam naukę i czekam na luty :-)
To i ja wtrace swoje 2 grosze.
Jestem zachwycony jakoscia kodu ZF i to jak podeszli do sprawy MVC (chociaz mam pewne zastrzezenia co do funcjonalnosci pewnych elementow).
Dokumentacja jest czytelna i prosta.
Jest jednak jeden wielki zonk. Z wersji na wersje wprowadzane sa elementy, ktore nie pozwalaja na bezbolesna aktualizacje frameworka w gotowym projekcie.
Mialem tak przechodzac bodajze z 0.1.4 na 0.2.
Odrazu po aktualziacji plikow powyskakiwaly mi bledy.
Niestety dokumentacja nie zostala zaktualziwoana wraz z wejsciem nowej wersji i musialem powrocic do poprzedniej.
A to zdecydowanie dykswalifikuje ten framework w powaznych zastosowaniach (zreszta ciezko bylo by oczekiwac tego po wersjach 0.x).
Natomiast wlasnie z tego powodu przyjrzalem sie CI i jestem z niego bardzo zadowolony. Jest oczywiscie jedno ale

nie jest pisany pod php 5.
To jednak nie przeszkadza mi pisac w pracy aplikacje wykorzystujac ten framework gdyz wiem, ze moge liczyc na to, ze po wprowadzeniu kolejnego numerka nie bede musial przepisywac polowy kodu.
Resumujac: ZF to naprawde bardzo ciekawy framework, badzo zgrabnie napisany ale do wersji 1.0 jest to tylko ciekawostka.
Dlatego zdecydowanie polecam CI.
kwiateusz
5.12.2006, 20:27:42
moze orłem w php nie jestem, ale bawiłem sie różnymi frameworkami i CI podoba mi sie najbardziej, jest leki (co cenie najbardziej) oraz posiada odpowiadający mi model mvc do tego czytelna dokumentacja i intuicyjne metody

i przy tym frameworku zostane
seaquest
5.12.2006, 21:04:25
A moim zdaniem to ZF ma przyszłość, bo stoją za nim twórcy php. Już w wersji 5.5 ZDE ma wsparcie dla ZF i to jest ogromne ułatwienie.
athabus
5.12.2006, 21:10:27
A powiedzcie mi w jaki sposób radzicie sobie w CI z większą ilością kodu. Bo dla mnie główny problem polega na tym, że dzięki konstrukcji $this->load->xxxx('xx') nie ma żadnych podpowiedzi nazewnictwa funkcji. Może za bardzo się przyzwyczaiłem w VS do tych podpowiedzi, ale nie wyobrażam sobie teraz napisania czegoś większego niż home page pisząc wszystko z pamięci. Jak wy sobie z tym radzicie?
Poza tym zgodzę się, że CI jest genialny w swej prostocie. Jest dla mnie najbardzie intuicyjny, ze wszystkich frameworków jakie porównywałem. Chętnie bym z nim pozostał. Rozważałem nawet przepisanie mechanizmu inicjowania zmiennych, tak żeby można było wszytko wywoływać tradycyjnie przez new (), ale nie wiem czy jest to wykonalne.
@Seth: jeśli dotrzymają słowa to wersja 1.0 ZF już w marcu ;-)
Sabistik
5.12.2006, 21:27:17
lekko sprostuje. To będzie dopiero RC i napisali że pod koniec marca - to ja to widze kwiecień - maj (:
dr_bonzo
5.12.2006, 21:27:25
1. wczesne wersje maja to do siebie ze sie czesto zmieniaja, to nie bug to feature

2.
Cytat
Bo dla mnie główny problem polega na tym, że dzięki konstrukcji $this->load->xxxx('xx') nie ma żadnych podpowiedzi nazewnictwa funkcji.
W Zendzie komentarze phpdoc ulatwialy nieco sprawe, ale nie osiagniesz nigdy poziomu podpowiadania jak dla jezykow kompilowalnych.
Dla mnie projekty takie jakie CI powinni zamknac - na uzywanie PHP4 - rozgladaj sie za frame'ami pod PHP5.
I pozatym czemu by sobie nie napisac czegos wlasnego
athabus
5.12.2006, 21:56:43
Cytat(NuLL @ 5.12.2006, 21:33:58 )

I pozatym czemu by sobie nie napisac czegos wlasnego

Wychodzę z założenia, że nie napiszę nic tak dobrego jak zespół dobrych programistów. Zresztą szkoda na to czasu. Po co wynajdywać koło od nowa. Oczywiście często trzeba sobie napisać coś samemu. Posiadam zestaw "sprawdzonych" klas, które wykorzystuje w większości projektów. Ale coraz bardziej dochodzę do wniosku, że chciałbym skorzystać z jakiegoś "dopracowanego" rozwiązania sprawdzonego przez wielu programistów.
Co do php5 to się muszę zgodzić. Sam zaczynałem juz od php5 i gdy chcę dokonać jakiś poprawek w kodzie php4 (w tym np w CI) to trochę mnie to denerwuje bo nie zawsze wiem co jest tak a nie inaczej. Z drugiej strony trudno oczekiwać, że wszyscy będą na siłę przepisywać kod na php5.
Cytat
W Zendzie komentarze phpdoc ulatwialy nieco sprawe, ale nie osiagniesz nigdy poziomu podpowiadania jak dla jezykow kompilowalnych.
CI też jest nieźle udokumentowane. Problem jest raczej w sposobie ładowania modułów o ktorym pisałem. Eclipse po prostu nie łapie, że php $this->load->cośtam powstaje określony obiekt.
Oczywiście wiem, że podpowiedzi nie będą tak dokładne jak np C# co wynika z wielu powodów, ale te przy dobrze udokumentowanych klasach są wystarczające.
Cytat(seaquest @ 5.12.2006, 21:04:25 )

A moim zdaniem to ZF ma przyszłość, bo stoją za nim twórcy php.
I właśnie miedzy innymi to jest jego wadą.
Spójrz jak się rozwija php. Kiepsko.
Z wersji na wersje zmiany niewystarczające i trzymanie się zaszłości.
A poza tym to co pisał
~Seth. Każda wersja ZF to pisanie od początku. Przecież o niepoważne z ich strony.
Cytat(NuLL @ 5.12.2006, 21:33:58 )

I pozatym czemu by sobie nie napisac czegos wlasnego

~NuLL, no wiesz co?
Przecież to kardynalny błąd początkującego lamera

- pisanie czegoś swojego.
Cytat
Przecież to kardynalny błąd początkującego lamera - pisanie czegoś swojego.
Kardynalnym bledem wielu programistow jest wieczna chec bycia niewolnikiem czyjegos kodu

- no offence

ale moje zdanie jest troche inne. Zdaje sobie sprawe ze jestem niemodny, ale gdyby wszyscy programisci korzystali z dostepnych frameworkow nowe by nie powstawaly
Cytat(mike_mech @ 6.12.2006, 00:09:58 )

I właśnie miedzy innymi to jest jego wadą.
Spójrz jak się rozwija php. Kiepsko.
Z wersji na wersje zmiany niewystarczające i trzymanie się zaszłości.
A poza tym to co pisał ~Seth. Każda wersja ZF to pisanie od początku. Przecież o niepoważne z ich strony.
No to tutaj widzę pewien problem. Z jednej strony krytykujesz, że php trzyma się zaszłości, natomiast jeśli chodzi o rozwijanie frameworka to nie trzymają się zeszłej wersji bo widzą błędy i piszą od nowa. Tak i tak Ci się nie podoba
Sabistik
6.12.2006, 09:01:12
Cytat
Niestety dokumentacja nie zostala zaktualziwoana wraz z wejsciem nowej wersji i musialem powrocic do poprzedniej.
Jeszcze dodam że lepiej korzystać z dokumentacji którą maja na wiki. Tam jest uaktualniana na bieżąco (oczywiście wersja en).
Cytat
A poza tym to co pisał ~Seth. Każda wersja ZF to pisanie od początku. Przecież o niepoważne z ich strony.
Nie przesadzajmy, zmieniły się może 2 rzeczy. Śledząc zmiany w trackerze można było się o nich dowiedzieć zawczasu. ;p Poza tym nie zapominajmy ze to
preview release.
athabus
6.12.2006, 10:10:44
Myślę, że wraz z wejściem wersji stabilnej zmiany nie będą aż tak dramatyczne. W wersji 0.2 czy 0.1x wiadomo, że można spodziewać się pewnych zmian strategii. Lepiej, że po testach dochodzą do wniosku, że coś było złym pomysłem i to poprawiają. Brnięcie w złe rozwiązania nie jest dobrym pomysłem.
Sami twórcy ostrzegają, że są to wczesne wersje nie przeznaczone dla pisania oprogramowania produkcyjnego.
Wczoraj wieczorem pobrałem wersję 0.2 i zrobiłem krótki tutorial ze strony php.pl - muszę przyznać, że bardzo wygodny ten framework. Jest bardziej skomplikowany niż CI, ale i tak w miarę prosty i logiczny. Myślę, że zacznę się go powoli uczyć i zobaczymy co dalej będzie się działo.
splatch
6.12.2006, 11:07:19
Chcecie frameworka? Skorzystajcie z
Agavi. Po przebrnięciu początkowych niedogodności z dokumentacją wszystko idzie jak należy, szybko i przyjemnie

.
Do najważniejszych zalet mogę zaliczyć:
- Ustabilizowany flow (automatyczna walidacja, wybieranie widoku i szablonu na podstawie dostarczonych informacji, sprawdzanie uprawnień).
- Obsługa różnych technologii (do widoku od zwykłego php przez Smarty, w przyszłości również OPT, do baz PDO jak i natywne funkcje, Creole a także Adodb i Propel).
- ZERO walonki z formularzami dzięki Form Population Filter. Definitywny koniec ręcznego ustawiania value dla inputów!
- Boski mechanizm routingu.
Przede wszystkim Zend Framework na razie wprowadza swoją nazwą w błąd gdyż do frameworka mu jeszcze daleko

Sorry, ale dla mnie to żaden FW tylko zbiór luźnych klas, zanim przystąpisz do pracy musisz złożyć je sobie w jedną całość. Być może jest to zaleta - składasz jak potrzebujesz i jak chcesz - nie przeczę, ale dla mnie to za mało, luibię produkty "ready to use"

bo leniwy jestem

Jestem trochę zdumiony twoja determinacją w otrzymywaniu podpowiedzi w edytorze. Jesteś gotów porzucić lepsze na rzecz gorszego tylko i wyłącznie z powodu jakiś podpowiedzi w edytorze

Przyznam, że jest to dla mnie zupełnie niezrozumiałe. O ile na początku pracy z takim FW trzeba sięgać do dokumentacji (to oczywiste) to po paru tygodniach pracy wszystko ma się "w palcu" i żadna dokumentacja, żadne podpowiadanie nie jest potrzebne.
Pójdziesz do pracy, dostaniesz xx edytor i powiesz, że nie robisz bo ci nie podpowiada?

Ja zostaje przy CI - nie jest on idealny, ba, na razie (wbrew pozorom) rozwija się równie słabo co ZF (różnica jest taka, że CI jest już przynajmniej 1.0 czyli początkowo kompletny). Jest jeden autor, który jest głuchy na prośby wprowadzenia bugtrackera, SVN, wspólnej developerki CI. Braki nadrabia już spora społeczność na forum CI.
Ja osobiście wpakowałem sobie CI na lokalnego SVNa i powoli rozwijam wg. własnych potrzeb - i tu, moim zdaniem, CI się świetnie sprawdza - jako solidna podstawa do dalszej pracy. ZF też mnie zainteresował ale odpadł ze względu na niekompletność (jak do zrobienia są projekty z deadline 6 dni to człowiek nie będzie sobie składał zenda

). Kto wie jak się rozwinie w przyszłości.
ps. Splatch: manual/cookbook -> to w tej chwili nie nadaje się do użytku.
athabus
6.12.2006, 12:02:57
Tak jak pisałem, sam framework to jeszcze pół biedy, bo faktycznie wszystko się powtarza, ale w przypadku własnych klas zawsze są jakieś nowości.
Ja po prostu nie lubię jak mi wyskakują errory bo gdzieś przestawiłem literki itp itd. Jak masz 1000 metod do ogranięcia, to nie jesteś w stanie tego wszystkiego spamiętać. Kiedyś mi to specjalnie nie przeszkadzało, ale po pracy w VS zobaczyłem jakie to jest kolosalne ułatwienie i przyspieszenie pracy. Uważam, że przy większym projekcie brak podpowiedzi to kompletna porażka.
Pozatym nie samym frameworkiem człowiek żyje ;-) Ile czasu potrzebujesz na nauczenie się obsługi nowej klasy? Zobacz jak dramatycznie spada ten czas w momencie, gdy musisz nauczyć się tylko logiki jej działania a nie musisz znać jej metod. Po prostu klikasz ctrl+spacja i już je masz na talerzu wraz z argumentami i zwracanymi wartościami. Przy dobrym nazewnictwie metody i przyzwoitej dokumentacji kodu z relatywnie prostej klasy można skorzystać z marszu.
Także wracając do pytania czy wolę poświęcić lepszy framewrok dla wygody tworzenia... Tak wolę. Na tej samej zasadzie wybieram framework zamiast pisać wszystko samemu. Nie jest tajemnicą, że w większości przypadków framework działa wolniej niż napisana samodzielnie klasa zoptymalizowana pod konkretne zadanie. Ale po co pisać wszystko samemu, skoro są gotowe rozwiązania.
Co do niekompletności, to myślę, że ZF szybko nadgoni CI - stoi za nim firma a nie jeden człowiek. Zresztą zawsze można rozszerzać jego funkcjonalności samodzielnie.
Co do sprawy, że ZF nie jest tak na prawdę frameworkiem. Cóż zależy od definicji. Mi osobiście odpowiada mała formalizacja. Do tej pory tak pisałem - czyli używałem wielu niepowiąznych klas. Zresztą CI pod tym względem aż tak bardzo nie różni się od ZF, też nie jest to taki "prawdziwy" framework jak np. Symfony. Różnica nie jest IMHO aż tak znacząca.
Cytat(athabus @ 6.12.2006, 12:02:57 )

Co do niekompletności, to myślę, że ZF szybko nadgoni CI - stoi za nim firma a nie jeden człowiek. Zresztą zawsze można rozszerzać jego funkcjonalności samodzielnie.
ZF - być może nadgonią, mam taką nadzieję bo z tego rzeczywiście może się urodzić coś fajnego. CI - owszem firma kilku osobowa ale koduje to jedna osoba

CEO firmy więc wiadomo... CI powstało po prostu jako platforma pod produkcje pmachines dla klientów tej firmy. Udostępnienie go z afree to efekt uboczny

Cytat(athabus @ 6.12.2006, 12:02:57 )

Zresztą CI pod tym względem aż tak bardzo nie różni się od ZF, też nie jest to taki "prawdziwy" framework jak np. Symfony. Różnica nie jest IMHO aż tak znacząca.
symfony to kobyła blondynka

dla mnie różnica znacząca, biorę CI i w 24h zrobie ci prosty serwis od ręki, biore ZF i.. i muszę go sobie poskładac

dobrze, że jest wybór i dla każdego coś miłego

ps. nie zatrudniłbym Cie u siebie jako programistę
Cytat
ps. nie zatrudniłbym Cie u siebie jako programistę
A co bys zrobil gdyby Tobie kazali programowac w PHP5 i nie korzystac z narzedzi napisanych pod PHP4
Pomijając fakt, że to ja zatrudniam, a nie jestem zatrudnianym - dostosowałbym się i używał tych pod PHP5

Na pewno nie szukałbym czegoś innego bo "nie podpowiada składni"

Co do php5: jak będzie na wszystkich serwerach to pogadamy

a na razie nie jest, więc zdania typu "Dla mnie projekty takie jakie CI powinni zamknac" są nie na miejscu. Może prędzej hostingi bez php5 powinni zamknąć?

Gdyby brak php5 nie był problemem to by w ogóle nie powstawały takie fmy jak CI czy cakePHP.
Nie napisze, przykładowo sklepu, pod php5 żeby co drugiemu klientowi odmawiać i wysyłać do konkurencji :/ (stopień migracji z jednego hostingu na drugi tylko z uwagi na brak php5 jest znikomy - "to my pójdziemy tam gdzie nam zrobią sklep który będzie działał u nas").
~normanos masz bardzo ograniczone myślenie i podejście: Lepiej mieć narzędzie stare ale opchnę to każdemu.
To co mówisz że hosting z php5 to problem to mit i nieznajomość rynku, bo w rzeczywistości już bardzo dawno nie spotkałem się z serwerem na którym nie byłoby php5 lub nie byłoby możliwości zainstalowania go.
Ostatni taki serwer widziałem ponad rok temu.
Gdyby twórcy gier myśleli tak jak ty to szczytem byłoby nadal Prince of Persia
Po co pisać lepsze gry skoro nie każdy ma sprzęt żeby je odpalić.
P.S.
Ja też nie zatrudniłbym ~athabusa, ma bardzo krótkowzroczne podejście i mało rozwijające z dużym przejawem lenistwa.
@mike_mech: tak, mam ograniczone. Jeszcze mnie nie stać na odsyłanie klientów z kwitkiem tylko ze względu na to, że oni nie chcą zmienić hostingu. Owszem, wiele w tym roku się zmieniło w tym temacie, ale jeszcze nie jest to pełnia szczęścia.
Jak robie coś dedykowanego, coś dla siebie, coś pod konkretnego klienta to php5 jak najbardziej (i moje ukochane pdo), ale jak robie produkt dla "masowego klienta" to w imię czego mam sobie skracać listę potencjalnych odbiorców? Jak będziesz musiał zarobić na ZUSy, podatki, inne ciulstwa to szybko się przekonasz, że nie można wybrzydzać z tak błahych powodów
athabus
6.12.2006, 14:22:31
Dzięki Panowie, ale i tak nie szukam pracy - bez urazy dla nikogo, ale gdybym chciał robić to profesjonalnie to na pewno nie korzystałbym z takiej zabawki jak php. No ale jako że programuję na wpół hobbistycznie, to bawię się w php.
@normanos , @mike_mech - co do lenistwa to się zgodzę - to jest akurat moja cecha. Ale krótkowzroczność? Mało rozwijające podejście? Sorki ale tego nie łapie. Mam prosty cel: nauczyć się frameworka, który odpowiada mi pod względem kodowania i współpracuje z moimi narzędziami. Mówicie jak "prawdziwi chrześcijanie" co lubią się umartwiać i widzą w tym swój rozwój.
BTW ZF jest bardziej nowoczesny i "rozwijający" niż CI, który choć nie przeczę wygodny i szybki, to jednak pisany "półobiektowo" .
Nie wiem co w tym dziwnego, że szukam narzędzia, które spełni moje wymagania? Jeśli kogoś bawi uganianie sie po 1000 plików poszukiwaniu nazwy metody, którą zdefiniował mój kolega rok temu to ok. Ja wolę FW, który będzie współpracował z moim edytorem.
Co do PHP4 to umówmy się, że raczej hosting gdzie jest tylko php4 to już raczej rzadkość. Samo pisanie w tym języku też do przyjemnych nie należało.
Co do podpowiadania składni to na prawdę nie rozumiem jak można się tak katować i z tego mechanizmu nie korzystać. Gdy miałem kilka prostych skryptów w projekcie to mi to nie było potrzebne, ale zastanawiam się, jak sobie radzicie z projektami gdzie jest kilkaset klas do ogarnięcia, z czego połowa albo i więcej nie jest napisana przez was? Skoro wy jesteście zawodowcami (a tak wnoszę po waszych postach), to wasze projekty muszą być jeszcze bardziej skomplikowane. I nie wmówicie mi że samo trzymanie konwencji nazwewnictwa plików i ich organizacja załatwia sprawę, bo przy 1000 klas nie jesteś w stanie spamiętać nawet ich nazw.
Cytat(athabus @ 6.12.2006, 14:22:31 )

ale gdybym chciał robić to profesjonalnie to na pewno nie korzystałbym z takiej zabawki jak php.
oj, już nie bluźnij synu

Jak chcesz się dowartościować to pisz w Ruby

Ja prowadzę interes, a php jest tylko instrumentem pomocnym przy osiąganiu sukcesów

Równie dobrze mógłbym pisać w basicu jeżeli tylko by to dawało kasę

Cytat(athabus @ 6.12.2006, 14:22:31 )

Mało rozwijające podejście? Sorki ale tego nie łapie.
Jesteś w stanie olać jakiś projekt (i już obojętnie CI, ZF, symfony, whateva') z tak prozaicznego powodu jak podpowiadanie składni. Ja to miałem na myśli, nie wiem co Mike.
Cytat(athabus @ 6.12.2006, 14:22:31 )

BTW ZF jest bardziej nowoczesny i "rozwijający" niż CI, który choć nie przeczę wygodny i szybki, to jednak pisany "półobiektowo" .
Możliwe. Ale z "kopa" można w nim napisać szybko serwis a mi to wystarcza.
Cytat(athabus @ 6.12.2006, 14:22:31 )

Co do PHP4 to umówmy się, że raczej hosting gdzie jest tylko php4 to już raczej rzadkość. Samo pisanie w tym języku też do przyjemnych nie należało.
Piszesz jakby między 4 a 5 była ogromna przepaść, a to ledwo mała wyrwa do przeskoczenia

Cytat(athabus @ 6.12.2006, 14:22:31 )

Co do podpowiadania składni to na prawdę nie rozumiem jak można się tak katować i z tego mechanizmu nie korzystać. Gdy miałem kilka prostych skryptów w projekcie to mi to nie było potrzebne, ale zastanawiam się, jak sobie radzicie z projektami gdzie jest kilkaset klas do ogarnięcia, z czego połowa albo i więcej nie jest napisana przez was? Skoro wy jesteście zawodowcami (a tak wnoszę po waszych postach), to wasze projekty muszą być jeszcze bardziej skomplikowane. I nie wmówicie mi że samo trzymanie konwencji nazwewnictwa plików i ich organizacja załatwia sprawę, bo przy 1000 klas nie jesteś w stanie spamiętać nawet ich nazw.
Ja nie jestem profesjonalistą, jestem tylko praktykiem. Nie mam tysiąca klas (ciężko mi to sobie nawet wyobrazić), nie poprawiam kodu po kimś, używam Rapid php 2006 które delikatnie coś tam czasem podpowie w obrębie otwartych plików (jeszcze programu nie opanowałem, mam go kilka dni) i to mi starcza.
Cysiaczek
6.12.2006, 14:49:54
Ja nie nie cchę dyskutować na temat frameworków, a tylko sie odnieść do wypowiedzi:
Cytat(normanos @ 6.12.2006, 14:36:12 )

Piszesz jakby między 4 a 5 była ogromna przepaść, a to ledwo mała wyrwa do przeskoczenia

Jak piszesz - jesteś praktykiem - bardzo dobrze, ale powyższe Twoje stwierdzenie nijak ma się do rzeczywistości. Różnica między php 4 a 5 jest ja różnica między Rolls-Roycem, a Polonezem. I jeden i drugi ma koła i jeździ, ale Polonezem nie wybiera się na podbój Świata, a z kolei Rolls-Roycem nie jeździ się po polskich drogach.
Pozdrawiam.
ja mogę podbijać świat nawet i polonezem

no i EOT bo zboczyliśmy z tematu. Lepiej pomóżcie koledze z tym podpowiadaniem składni
athabus
6.12.2006, 15:31:56
@normsnos - Twoją argumentację po części rozumie, choć nie wszystkie Twoje argumenty do mnie trafiają.
Możemy też mieć trochę inne podejście, bo ja robię to dla zabawy ty dla pieniędzy.
Cytat
oj, już nie bluźnij synu winksmiley.jpg Jak chcesz się dowartościować to pisz w Ruby winksmiley.jpg Ja prowadzę interes, a php jest tylko instrumentem pomocnym przy osiąganiu sukcesów winksmiley.jpg Równie dobrze mógłbym pisać w basicu jeżeli tylko by to dawało kasę winksmiley.jpg
:-) hehe bardziej miałem na myśli asp wraz z ide. Bo jak np. mike mech mówi mi, że jestem leniwy, to co on musi myślec o osobach piszących w asp, gdzie połowę rzeczy robisz wybierając odpowiedni opcję w menu :-) (tak wiem, że trochę tu koloryzuję ;-) ).
Cytat
Jesteś w stanie olać jakiś projekt (i już obojętnie CI, ZF, symfony, whateva') z tak prozaicznego powodu jak podpowiadanie składni. Ja to miałem na myśli, nie wiem co Mike.
Jak już mówiłem, robię to tylko hobbystycznie. Ale generalnie każdy projekt można zrobić w każdym frameworku. Mało jest już chyba zleceń typu "chce to mieć w php4" (nie wiem -strzelam).
Piszę w większości na swoje potrzeby, albo i bez potrzeby ;-) więc takie dylematy są mi obce.
Dalej jednak będę stał na pozycji, że podpowiadanie składni ułatwia organizację dużych projektów. php jest już chyba jednym z ostatnich języków, w którym programiści mało z tego korzytają. W C# np. trudno byłoby bez tego stworzyć prostą aplikację na początku nauki. Tam każdy element jest obiektem i nawet zwykła głupia zmienna typu int ma ileśnaście metod i właściwości. Pewnie, że wszystko da się zrobić pisząc z palca... tylko po co, skoro nawet dla php są narzędzia umożliwiające pisanie z podpowiedziami?
//edit normanos pomoc mi nie jest potrzebna bo przy wykorzytaniu ZF jakoś to działa
Nie wiem czemu ale mam wrażenie że niektórzy tuitaj nie posiadają drukarki lub nie potrafią wydrukować spisu metod ;>. A to jest dużo wygodniejsze od ctrl + spacja.
A co do tego OT, to php5 według mnie można by nazywać php 4.5. Bo różnic tak wielu nie ma, tylko wzmocniono OOP.
athabus
6.12.2006, 19:02:03
Cytat
Nie wiem czemu ale mam wrażenie że niektórzy tuitaj nie posiadają drukarki lub nie potrafią wydrukować spisu metod ;>. A to jest dużo wygodniejsze od ctrl + spacja.
[OT]Mam wrażenie, że niektórzy nie wiedzą o czym mówią. Tak to sobie mogę zrobić jak będę robił home page dla mojej babci - dam ci przykład. Robię teraz sklep internetowy od 0. Sklep ma być zintegrowany z systemem w moim sklepie realnym. Mam tam około 100 klas, a jestem dopiero w środku pracy. I co sugerujesz - że mam sobie drukować spis metod każdej klasy, którą dołożę do mojego projektu i potem szukać tego na kartce

PO CO?

Skoro wciskam ctrl+spacja i widzę wszystkie metody danego obiektu wraz z parametrami opisem ich typu i wartością zwracaną. Może jeszcze sobie będę rysował diagramy UML na kartce bo po co mi narzędzia do modelowania. Po co komplikować sobie życie?
Chcę obejrzeć dokładnie jakąś metodę klikam na jej wywołanie w dowolnym miejscu skryptu przytrzymując ctrl i Eclipse przenosi mnie do jej ciała. Wszytko dzięki temu, że IDE jest świadome z jakim obiektem mam do czynienia. Wiem że wszystko można pisać w notatniku itd itp.... tylko po co? W końcu po to jest ide aby USPRAWNIĆ pisanie kodu i ucznić je WYGODNIEJSZYM.
A dodam tylko tyle, że sklep internetowy to jest jeszcze mały projekt w porównaniu z tym co robią osoby zajmujące się profesjonalnie.
PS. a jak przeniesiesz się na VS i np. C# to też wydrukujesz sobie całego manuala czy spis metod?
[/OT]
Cytat
A co do tego OT, to php5 według mnie można by nazywać php 4.5. Bo różnic tak wielu nie ma, tylko wzmocniono OOP.
hmmm ja bym raczej powiedział, że uczyniono milowy krok w stosunku do php4 i wzmocniono żeby nie powiedzieć dodano OOP

Ostatecznie OOP to fundamentalna sprawa w nowoczesnych językach.
splatch
6.12.2006, 19:13:55
Cytat(normanos @ 6.12.2006, 11:39:47 )

ps. Splatch: manual/cookbook -> to w tej chwili nie nadaje się do użytku.
ps.
Cytat(splatch @ 6.12.2006, 11:07:19 )

Po przebrnięciu początkowych niedogodności z dokumentacją wszystko idzie jak należy, szybko i przyjemnie.
Dodam, że w kodzie również są komentarze, jest prościutki przykład użycia Agavi.
dr_bonzo
6.12.2006, 19:27:05
Cytat
Nie wiem czemu ale mam wrażenie że niektórzy tuitaj nie posiadają drukarki lub nie potrafią wydrukować spisu metod ;>. A to jest dużo wygodniejsze od ctrl + spacja.
OMFG -- durniejszego pomyslu nie widzialem, policz ile czasu zajmie ci znalezienie metody i listy parametrow na papierze a potez z uzyciem Ctrl+Spacja. Pomnoz to razy 1000 i zobacz ile czasu dziennie marnujesz.
Cytat(splatch @ 6.12.2006, 19:13:55 )

ps.
Dodam, że w kodzie również są komentarze, jest prościutki przykład użycia Agavi.
"Po przebrnięciu początkowych niedogodności z dokumentacją wszystko idzie jak należy, szybko i przyjemnie."
he he ale jak mam przebrnąć przez te niedogoności skoro dokumentacji... brak

a bez tego ani rusz, nawet nie mozna sie zorientowac jak są rozwiązane sprawy baz, sesji, widoku etc.

jak dla mnie coś bez dokumentacji jest niewiele warte. poczekam aż uzupełnią bo cos na głównej piszą, że soon...
--
ps. tysiąca klas to nawet nie ma najnowsze IPB 2.2 (jakby nie było troche rozbudowane) - może powinienes sie zastanowić nad strukturą swoich aplikacji?
Wlasnie zerknalem na Prado. Wyszlo w wersji 3 (jakis czas temu) i naprawde zapowiada sie bardzo dobrze. Jest bardzo dobra dokumentacja, a sam system to nie tylko zbior klas ale w duzej czesci przeniesiona funkcjonalnosc ASP.NET (2.0).
A co do watku o uzywaniu frameowrkow lub nie to coz. W zadnym innym jezyku nei powstaje tyle niekompatybilnych ze soba rozwiazan jak w PHPie. A to przez to, ze kazdy chce robic cos wlasnego. A nie czarujmy sie ale jezeli mamy na dany projekt okreslony czas i budzet to kto bedzie sie pakowal w wymyslanie kola od zera?
Sa dobe i sprawdzone gotowe rozwiazania. Udokumentowane, stale rozwijane etc. Po co ci ludzie je robia? Po to aby sprawic sobie przyjemnosc czy po to aby ktos nie musial borykac sie z problemami, ktore wynikna w procesie tworzenia takeigo frameworka?
Programista powinien umiec uzywac nie tylko swoich aplikacji/skryptw ale takze gotowych komponentow. Ta teza jest zrozumiala chociazby dla programistow Javy czy ASP.NET ale w swiecie php pokutuje przekonanie, ze im wiecej wlasnego kod tym lepiej bo latwiej bedzie go modyfikowac.
Przez takie podejscie wiele projektow konczy sie na niczym albo na tym, ze ktos uzna, ze nie potrzebny mu gotowiec i bedzie wymyslal kolo od nowa.
seaquest
6.12.2006, 20:56:14
normanos: nie mów, że podpowiadanie składni jest mało przydatne. W firmie w której ja pracuję, jest używany ZDE, którego _główną_ zaletą jest właśnie podpowiadanie składni.
Nie wiem jak gdzie indziej, ale u nas czas programisty liczy się najbardziej.
Traciłbym mnóstwo czasu chcąc pisać całe nazwy klas, a co dopiero nazwy wyjątków.
Jasne, że mogę sobie napisać FNFE. Ale rozumiesz coś z tego skrótu? A nie lepiej FileNotFoundException? Zend daje mi to, że wpisuję 3 znaki, wciskam 2 razy strzałkę w dół i Enter.
Natomiast framework na którym pracujemy posiada łącznie około 150-200 klas (nie jestem w stanie powiedzieć dokładnie), a z każdym kontrolerem dorzucasz kolejne 3 (M. V. C.). Przy dosyć rozbudowanym projekcie, gdzie dodatkowo jest dokładany plugin sklepu liczba klas rośnie do około 250. Dorzućmy jeszcze CMS - mamy już około 300-350.
Lista plików zajmuje kilkanaście stron, lista klas wraz z opisem metod podobnie, do tego dochodzi jeszcze lista tabel i relacji - również kilkanaście stron.
A używając Zenda mam przy wywołaniu metody pełną podpowiedź z phpDoca oraz listę parametrów wraz z opisem. Zend zaoszczędził mi mnóstwo pracy i mnóstwo czasu.
A stworzenie projektu w ZF tylko za pierwszym razem zajmuje trochę czasu. A jeżeli zrobisz to dobrze, to masz później gotowy plik do pracy i nie musisz tego ponownie robić. W przypadku gdy potrzebujesz czegoś więcej - po prostu to dokładasz.
athabus podał świetny przykład. C# i platforma .NET. Nie jestem sobie w stanie wyobrazić osoby, która tworzy aplikacje w tym języku/frameworku bez podpowiadana. Nazwy klas mają często po kilkadziesiąt znaków i dzięki temu są czytelne.
Nadal uważasz, że warto pisać w edytorze bez podpowiadania składni?
menic
6.12.2006, 20:59:19
A co do framework'ów... Mółby sie ktoś coś wypowiedzieć o symfony
athabus, przykro mi jak nie jesteś wstanie spamiętać metod które sam utworzyłeś.
Skoro już masz 100 klas, i żadne nie są powiązane to powiem Ci że masz cholernie nie optymalną aplikacje. Jeśli chodzi o sklep internetowy.
>> Pomnoz to razy 1000 i zobacz ile czasu dziennie marnujesz.
Gdyby wszystko było takie proste jak opisujesz

Odpowiedzieć Ci?
Czas który trace to może być nawet -10minut które poświęcam na ctrl + spacje. Czemu? Bo jednej klasy używam w X projektach i przy ciągłym sprawdzaniu zapamiętuje je. A przy ciągłym ich używaniu mózg zapisuje je w pamięci trwałej.
Pełna komputeryzacja i automatyka zabija.
@seaquest: ale ja NIC takiego nie napisałem!!!!!! Ja napisałem, że niezrozumiałe dla mnie jest porzucenie jednego projektu na rzecz drugiego TYLKO ze względu na podpowiedzi w edytorze!!! Nigdzie nie napisałem, że nie są przydatne skoro są, tylko podejście do wyboru frameworka zdziwiło mnie.
jupeter
6.12.2006, 21:06:34
~Seth święte słowa teraz powiedziałeś

Zgadzam się z Twoim postem w 100%.
Odnośnie podpowiadania składni, to sądzę że
~normanos trochę bagatelizujesz problem. Ten mały niepozorny gadżet w pracy pozwala bardzo znacznie przyspieszyć pracę, szczególnie przy wspominanych już wcześniej, dużych projektach. A jak to się mówi "czas to pieniądz" ;-)
~menic, odnośnie Symfony to mam już jeden duży projekt za sobą i drugi właśnie kończę i powiem jedno - jak się go nauczy, to tworzenie szybko, profesjonalnie dużych aplikacji to bułka z masłem ;-).
Pozdrawiam,
Piotr
menic
6.12.2006, 21:10:04
No ja własnie tworze projekt w symfony, gdyż zostało nam to odgornie narzucone. A pytam sie bo wszedzie słysze tylko CI, ZF, Cake, a praktycznie nic o Symfony
seaquest
6.12.2006, 21:13:07
Cytat(MMP)
athabus, przykro mi jak nie jesteś wstanie spamiętać metod które sam utworzyłeś.
Myślisz, że tak duże projekty tworzy jedna osoba? Nie wiem, może w tym przypadku tak było, ale podejrzewam, że w 90% przypadków tak nie jest. Zazwyczaj nad jednym projektem pracuje kilka osób, a na pewno nie pamiętasz klas, które napisał kolega.
Odniosę się jeszcze do wcześniejszej dyskusji PHP4-PHP5. Na prawdę tu też mocno się mylicie. Jest mnóstwo firm, które mają serwery właśnie z PHP4 hostowane jeszcze w takich miejscach, gdzie administratorowi nie chce się zainstalować "piątki". I co wtedy? A często jest tak, że klienta ciężko przekonać, żeby zmienił usługodawcę, bo on nie rozumie, że my potrzebujemy PHP5. I to nie jest tak, że tego klienta można sobie odpuścić, bo są to nierzadko projekty za kilkanaście bądź nawet kilkadziesiąt tysięcy złotych.
jupeter
6.12.2006, 21:16:30
Cytat(menic @ 6.12.2006, 21:10:04 )

No ja własnie tworze projekt w symfony, gdyż zostało nam to odgornie narzucone. A pytam sie bo wszedzie słysze tylko CI, ZF, Cake, a praktycznie nic o Symfony

No to gratuluje osobie, która to Wam narzuciła
Mi to przyniosło tworzenie aplikacji w rekordowym tempie

P.
splatch
6.12.2006, 21:42:45
Będę się targował, chociaż prawdę powiedziawszy cała ta dyskusja od pewnego momentu zaczęła zmierzać do nikąd...
Cytat(normanos @ 6.12.2006, 20:18:47 )

"Po przebrnięciu początkowych niedogodności z dokumentacją wszystko idzie jak należy, szybko i przyjemnie."
he he ale jak mam przebrnąć przez te niedogoności skoro dokumentacji... brak

a bez tego ani rusz, nawet nie można sie zorientowac jak są rozwiązane sprawy baz, sesji, widoku etc.

jak dla mnie coś bez dokumentacji jest niewiele warte. poczekam aż uzupełnią bo cos na głównej piszą, że soon...
Wierz mi, że
dla chcącego nic trudnego. Są osoby, których nawet brak dokumentacji na stronie nie jest w stanie powstrzymać. Kwestia zapału i samozaparcia. Przecież czytanie ze źródeł to coś normalnego, coś z czym każdy programista ma do czynienia. Masz problem z sesją? Patrz do folderu storage. Nie wiesz, że to może być w storage? Szukasz $_SESSION..
Mając do dyspozycji źródła
możesz się zorientować CO i JAK działa znacznie lepiej niż czytając suche wywody w dokumentacji. Owszem wolniej, ale na pewno opis z dokumentacji nie da Ci obrazu nawet części tego co jest
w udokumentowanym kodzie
ikioloak
6.12.2006, 22:43:15
Co do podpowiadania skladni @normanos - skoro nie korzystasz, to nie wiesz jakie to ulatwienie. Bez tego zamiast Zend Studio masz prawie Notepad++. Wcale nie dziwie sie athabusowi ze zwrocil uwage na ten problem.
Co do frameworka. Symfony chcialem sie uczyc, jednak troche wydaje mi sie przekombinowane. Nie potrzebuje takiej kobyly, przynajmniej na razie. Zaleta jest obszerna dokumentacja, stale sie zwiekszajaca.
CI jest latwe proste i przyjemne. Uzupelniasz go swoimi klasami (obsluga baz danych, przynajmniej w wersji 1.4 byla .. kiepska) i masz dobra podstawe.
Ostatnio natomiast bawie sie Prado. Poczatkowo nie bardzo mi sie podobalo, gdyz narzuca inny styl niz ten ktory do tej pory mialem. Jednak im dalej brne tym wydaje sie to bardziej wygodne narzedzie. Najlepsza obsluga ajaxa jaka widzialem (niestety jeszcze wersji stabilnej kontrolek ajaxowych nie ma). Mankamentem jest dokumentacja. Bardzo skromna, malo tutoriali, trzeba grzebac w api, lub przykladowych projektach.
jupeter
6.12.2006, 23:21:44
Cytat(ikioloak @ 6.12.2006, 22:43:15 )

Symfony chcialem sie uczyc, jednak troche wydaje mi sie przekombinowane. Nie potrzebuje takiej kobyly, przynajmniej na razie.
Tak z całą pewnością Symfony nie użyłbym do zrobienia małej strony domowej

. Nie wiem co masz na myśli z przekombinowaniem

... ale wiem że za pomocą dokumentacji można bardzo łatwo "odczepić" nielubiane kawałki kodu (np. Propel, który często jest szykanowany przez użytkownikow).
Kolejną dużą zaletą Symfony jest to, że trudno jest pisać w nim to samo na różne sposoby. Dzięki czemu łatwo jest się dogadać różnym programistom, którzy pracują nad tym samym projektem.
... ale tematyka Postu nie dot. Symfony, to już obetnę swój wywód
Pzdr.
@jupeter, @ikioloak: jeszcze raz _podkreślam_: zdumiały mnie kryteria wyboru FW (podpowiadanie), a nie podpowiadanie samo w sobie. Mam jakieś szczątkowe (bo chyba w zendzie jest dużo lepsze) podpowiadanie w Rapidzie ale prawie z niego nie korzystam bo jak napisał MMP pracując z CI i z swoim kodem zdążyłem zapamiętać większość.
@menic: Symfony uchodzi za bardzo trudne w odbiorze, przeładowane i przekombinowane. To chyba jedyny FW, który tak mocno dzieli społeczność.
@seaquest: dziękuje za poparcie tematu "php5 a klient"

bo już myślałem że żyje w innym świecie i trafiają mi się sami "wsteczni" klienci

-----------
@splatch:
Cytat
Są osoby, których nawet brak dokumentacji na stronie nie jest w stanie powstrzymać
to zdecydowanie nie ja

no muszę się powtórzyć: bez dokumentacji to ja mogę sobie z ciekawości (ba, jutro z rana nawet to zrobię) pooglądać te źródła, ale mowy nie ma o wchodzeniu w poważny projekt w coś co trzeba najpierw rozszyfrować. Dokumentacja to podstawa, sorry winetou

ps. codehouse? wygląda smakowicie, poczytam jutro.
ps2. oj pospieszylem sie, nie masz jeszcze tam tresci (agavi)
splatch
7.12.2006, 00:03:01
Cytat(normanos @ 6.12.2006, 23:34:57 )

ps. codehouse? wygląda smakowicie, poczytam jutro.
ps2. oj pospieszylem sie, nie masz jeszcze tam tresci (agavi)

Code-house niestety czeka do przyszłego roku..
athabus
7.12.2006, 10:46:03
@normanos - a ty ciągle swoje :-) Ja nie twierdzę, że podpowiadanie składni to jedyne kryterium, ale dla mnie bardzo ważne. Już mnie to trochę denerwuje, że wpychasz mi w usta to czego nie powiedziałem.
Uważam, że CI jest bardzo fajnym frameworkiem, ale ZF też mi się podoba i IMHO zmierza w ciekawym kierunku. To nie jest tak, że prawdopodobnie zdecyduje się na ZF bo mimo iż jest kiepski to da mi podpowiadanie - zdecyduje się na niego bo uważam że jest ciekawy, a do tego ma tak ważną rzecz dla mnie jak podpowiadanie składni.
Co do zapamiętywania to jest tak jak mówią między innymi Seaquest, Seth czy Ikoliak. Podejrzewam, że moje doświadczenia przy ich to jest nic, ale też zauważam, że podpowiadanie genialnie ułatwia pisanie. Ja dopiero raczkuję w wykorzystywaniu cudzych klas, ale od jakiegoś czasu po prostu lubuję się w wykorzystywaniu cudzych klas znalezionych na phpClasses czy w innych miejscach. Teraz udaje mi się pracować z elementami php o których nie miałem dużego pojęcia wcześniej. Chce się pobawić obrazkami, to nie uczę się GD od podstaw, tylko biorę klasę napisaną przez kogoś kto sie na tym zna i ją wykorzystuję. Gdy API jest dobrze udokumentowane to wykorzystanie klasy staje się banalnie proste dzięki podpowiedziom składni.
(żeby od razu uciąć spekulacje - jeśli będę potrzebował gd do czegoś więcej niż zrobienie miniaturki, stworzenie prostego wykresu, czy dodanie znaku wodnego wtedy się go nauczę ;-) )
Druga sprawa to to co zauważył Seaquest - czyli nazewnictwo klas. Teraz już nie tworzę fnfExc tylko FileNotFoundException - dzięki czemu kod staje się przyjaźniejszy. Kiedyś tak nie robiłem, bo wpisanie pełnej nazwy klasy czy metody (zwłaszcza takiej, której rzadko się używa) bez zmiany kolejności słów czy literówki było trudne.
Ja nie będę nikogo przekonywał, że podpowiadanie jest fajne, bo wśród programistów php jest chyba tak jak mówią niektórzy tutaj, że wszystko trzeba zrobić samemu z palca i najlepiej w notatniku, a jak nie możesz spamiętać to sobie wydrukuj metody :-) . Cieszę się tylko jest grupa osób, która pisała w innych językach i wie że gotowe narzędzia są po to aby je wykorzystywać.
podpowiadanie nie jest 'fajne'.
W przypadku php, gdzie nadal nie mamy przestrzeni nazw jest ono praktycznie niezbędne - co łatwo zauważyć w przypadku nowo powstających rozwiązań (właśnie typu ZF lub eZ Components) gdzie długość nazw klas i metod rośnie niemal w tempie geometrycznym. Pisanie tego z palca to naprawdę mordęga.
Można sobie jednak poradzić z problemem marnej obsługi podpowiadania w przypadku korzystania z mechanizmów loadujących klasy.
Co prawda nie korzystam już z Zenda, ale pamiętam, że tam było rozwiązanie typu
<?php
/* @var $Klasa NazwaKlasy */
$Klasa = Core::CosTam->GetClass( "NazwaKlasy" );
?>
dzięki czemu Zend potrafił podpowiadać nazwy metod i atrybuty dla "NazwaKlasy"
Najnowsza wersje php IDE (zdaje się 0.7 - jeszcze strasznie zabugowana, ale ... działa

- i to całkiem nieźle) - radzi sobie jeszcze lepiej.
Przykład kodu:
<?php
class test{
/**
* zwraca instancję test2
*
* @return test2
*/
function a(){
return new test2();
}
}
class test2{
/**
* zwraca instancję test2
*
* @return test
*/
function b(){
return new test();
}
/**
* Enter description here...
* @return DateTime
*/
function funkcja2(){
return new DateTime;
}
}
class test3{
function __construct(){
$a = new test();
$b = $a->a();
$Date = $b->funkcja2();
$Date->__construct();
}
}
?>
i podpowiedzi:



A tu przykład obsługi @VAR, w przypadku usunięcia informacji na ten temat z @return
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.