Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Jak zacząć?
Forum PHP.pl > Forum > PHP > Frameworki
andrzej61
Zacząłem się bawić PHP. Bardzo interesujące. A razem z bazami danych jeszcze bardziej. I dalej myślę w jakim kierunku iść. I chcę zobaczyć co to Zend Framework. Więc oczywiście pobieram. A dalej? Jak to zainstalować? Gdzie znaleźć dobre praktyczne i teoretyczne informacje, społeczności itp?
Na początek prosiłbym o pomoc w instalacji. Mam XAMPPa i w nim PHP. Jakoś to trzeba gdzieś include_path ale jak i gdzie? php.gif
darko
Hej, nie wiem czy to dobre zaczynać od razu od zf2 zamiast zf 1.x, a każdym razie tutaj i tutaj masz wszystko opisane.
andrzej61
Jest tam COŚ opisane, ale nijak nie można załapać o co chodzi. Zainstalowałem GITa, pobrałem Zend Framework. I co dalej?
Szymciosek
Koniecznie to musi być Zend ?
andrzej61
A co masz na myśli innego? Ale i tak Zend muszę też zacząć. A w życiu nie zacznę jak nie podpowie mi ktoś konkretnie jak.
Szymciosek
Np nowe Symfony2
pamil
ZendFramework2 został wydany kilka dni temu, wobec tego zbyt dużo tutoriali nei będzie (oprócz dokumentacji), Symfony2 istnieje już od roku, ma bardzo dobrą dokumentację, cookbook i dużo materiałów w internecie (btw. jest już od 3 dni stabilne Symfony 2.1). Ja osobiście zacząłem od Symfony2, ale wybór należy do Ciebie - jak już zrozumiesz jeden, to nauka drugiego jest dużo łatwiejsza.
cv65
Pooglądaj filmiki na YT odnośnie Zend ;-)
andrzej61
Owszem, na YT jest to chyba czego szukałem. Chyba mi się uda zainstalować i ruszyć kawałek do przodu. A spróbuję też innych frameworków.
viking
ZF2 sobie na razie odpuść. Podstawowych rzeczy w nim brakuje jak choćby obsługi sesji. Nauka ZF1 pomoże Ci zrozumieć jak całość działa i będzie łatwiej później przeskoczyć d dwójki. Odnośnie pytania które zadałeś http://framework.zend.com/manual/1.12/en/p...assloading.html, polecam ściągnąć dokumentację na dysk bo ta online zrobiła się jakaś marna. Swego czasu pisałem też bardzo podstawowy artykuł: http://wwwgo.pl/article/6/instalacja_zend_...work_-_podstawy
Riggs
Zobacz sobie zendcasts.com oraz tutoriale bodajże integral30 na YT (18 sztuk, stara wersja Zenda ale dużo przydatnych wiadomości). Ponadto jest kilka fajnych blogów na temat Zenda po polsku.
andrzej61
Owszem, nawet ten integral30 na YT jest 19 tutoriali, razem 65 filmów. A i inne filmy są na YT. Zencast wygląda na rewelację. No i Symfony opisane dobrze, nawet po polsku na YT. Czyli myślę żeby Zenda i Symfony2 robić ze względu na to że Symfony2 mi ułatwi i jest opisany a Zend to z kolei podstawa wszystkiego w tym.
I dalej myślę co robić. Bo tak na sucho uczyć się to nie da się. Tak jak PHP. Weżmy jakiś encyklopedyczny tutorial i na przykład temat "arrays". I co z tego. Objętościowo dość obszerny temat ale po co? Dopiero praktycznie jak na przykład zobaczyłem w templacie do Joomli "arrays" to widziałem sens.
Jakieś społeczności które już coś robią ciekawego i uczą się na tym. Jaką drogą iść? Zacząć robić stronki w PHP z Zendem? Ale gotowych CMSów jest kilka. A może pod Joomlę coś? Jakieś aplikacje do CMSów albo "wolnostojące"?.
Czy w ciągu paru miesięcy da się na tyle w to wejść żeby coś zarobić na tym? Zakładając że robię stronki w CMSach i html/css i umiem w php podstawowe stronki zrobić?
Gdzie robią coś ciekawego w PHP / Zend żeby się dało spróbować z innymi?
IceManSpy
Wymyśl sobie sam projekt i zacznij go pisać. A jak się już nauczysz choćby podstaw to poszukaj pracy (lub praktyki / stażu) z Zendem.
andrzej61
guitar.gif Owszem. Pomysłów jest mnóstwo. Ale zawsze jak kilka osób robi coś to jest nikła szansa (?) że coś wyjdzie z tego.
Zainstalowałem Netbeans i Mysql Workbench. Co jeszcze warto zainstalować (a ha, i oczywiście XAMPPa mam) żeby było warto to mieć?
csharp
w zasadzie Ci wystarczy smile.gif nic więcej nie trzeba.
andrzej61
Coś jest źle. Mam Windows XP
1. Skopiowałem Zend 1.12.0 full do mojego XAMPPa do katalogu xampp/htdocs do utworzonego tu przeze mnie katalogu "zend_framework"
2. W pliku "php.ini" dopisałem tak:
include_path = ".;C:\xampp\php\PEAR;C:\xampp\htdocs\zend_framework\library;C:\xampp\htdocs\zend_framework\extras\library"
3.dopisałem po średniku zmienną środowiskową w Windowsie - ;C:\xampp\htdocs\zend_framework\bin
4. Otworzyłem PowerShella i wpisałem polecenie "zf" i
dostałem że: "nazwa '"php.exe" nie jest rozpoznawalna jako polecenie wewnętrzne lub zewnętrzne , program wykonywalny lub plik wsadowy.

Co jest źle?
Szymciosek
Poczytaj o zmiennych środowiskowych, musisz dodać takową żeby system wiedział co to jest PHP
andrzej61
OK. Ale mnie chodzi o to aby zainstalować Zenda. Po prostu XAMPP ma PHP w sobie i chyba wszystko załatwił. Działa XAMPP. Przy okazji instalacji ZF zainstalowałem też PowerShella. I tu stanąłem jak wyżej. Nie chcę w tej chwili wchodzić w rozległe czytanie teorii o zmiennych środowiskowych. Dlatego piszę tu aby ktoś kto wie o co chodzi podpowiedział mi konkretnie co zrobić / co jest nie tak. Jeśli mam coś dopisać to co? Jeśli jest gdzieś źle to gdzie?
Chodzi o to że to trwa za długo instalowanie Zenda jak przy okazji każdego szczebelka odrywać się w stronę zaczytywania teorii.
amii
W windows 7 wchodzisz w system->właściwości ->zaawansowane -> zmienne środowiskowe
dajesz nowa:
nazwa: ZEND_TOOL_INCLUDE_PATH

wartość ścieżka do bibliotek Zend mnie C:/php/includes u ciebie pewnie C:\xampp\htdocs\zend_framework\library
andrzej61
A ja według tutoriala na YT dodałem do "path" adres do library Zenda. Do "path", a nie tworzyłem nowej zmiennej.
amii
Bo tam była zapewne mowa, żeby dołączyć biblioteki Zend do ściezki include_path, tutaj chodzi o wewnętrzne ustawienia w Windows, odnośnie pakietu CLI ułatwiającego pracę z Zend

BTW: sam Zend powienin ci hulać nawet jeśli narzędzie CLI nie działa
darko
Cytat(andrzej61 @ 13.09.2012, 16:24:08 ) *
OK. Ale mnie chodzi o to aby zainstalować Zenda. Po prostu XAMPP ma PHP w sobie i chyba wszystko załatwił.

Chyba nie. Jeśli chcesz móc odpalać skrypty php z cli, a jest Ci to potrzebne do działania Zend_Tool, to musisz dodać po średniku na końcu zmiennej środowiskowej Path w windowsie ścieżkę do binarek php, czyli:

Start -> komputer -> właściwości -> zaawansowane ustawienia systemu -> Zaawansowane -> Zmienne środowiskowe -> (szukamy w sekcji zmienne systemowe zmiennej o nazwie Path) -> klikamy Edytuj... -> w polu wartość zmiennej na końcu dodajemy średnik i wklejamy wcześniej skopiowaną pełną ścieżkę bezwzględną do binarek php, u mnie jest to c:\xampp\php Reszta rzeczy do zrobienia jest opisana tutaj

Pozdrawiam
andrzej61
Dzięki. Działa.
Mam działającą wersję FULL Zend Framework.
Mam Netbeans
Mam Mysql Workbench
Teraz zassać Zend Tools ?
darko
Zend_Tool to narzędzie tworzące szkielet głównych komponentów aplikacji takich jak struktura modułów, kontrolery, modele i widoki - to narzędzie w Zend Framework 1 tworzyło szkielet. W zf2 mamy skeleton application (jeden link podałem w poprzednim poście, dodatkowo), tutaj znajdziesz opis bypassu z zf1 do zf2.
andrzej61
OK. A czy warto naraz mieć kilka frameworków, na przykład doinstalować Symfony, Ruby-on-rails itp? Lkingsmiley.png
I czy skoro chyba działa Zend to i tak podać tę zmienną nową ZEND_TOOLS tak jak napisał amii ?
darko
Tak, warto, (ruby on rails to ruby właśnie, nie php) przynajmniej będziesz miał możliwość porównania i jedynej słusznej drogi wyboru frameworka - mianowicie wybrania tego, na którym Ci się najlepiej pracuje. Odnośnie drugiej kwestii, to nie znam tematu, ale nie zaszkodzi dodać, może tylko pomóc.
andrzej61
OK. I co teraz?
Mam wersję FULL Zenda 1.
Utworzyś pod XAMPPem w htdocs projekt? czyli katalog np. "project1" ? I tam potworzyć strukturę katalogów jak tu?: http://www.heavymind.net/zend-framework-tutorial/#100
Czy jakoś inaczej? Czy lepiej innę strukturę katalogów?
I dalej to jakoś otworzyć w Netbeans?

Czy też za pomocą jakiejś komendy zf utworzyć projekt we wskazanym katalogu i wtedy katalogi same się utworzą?
Czy też za pomocą Netbeans utworzyć projekt?
Psajkus
1) Podany przez Ciebie tutorial jest stary i nieaktualny.

2) Jak dobrze skonfigurujesz netbeansa to on utworzy strukture projektu.

3) Jest juz zend framework 2 wiec sie nim zainteresuj zamiast zf1. Ale jesli koniecznie ma byc jedynka i potzrbujesz tutorialu to poleceam zend casta
andrzej61
Nie ma być koniecznie 1ka. Ale ludzie mówią że 2ka jeszcze jest mało sprawna bo brakuje wielu rzeczy. Za nowa. I skoro jedynka waży 30 mega a dwójka 2,5 mega to myślę że coś w tym może być co mówią. I dałem 1kę.
Czy można zainstalować obie wersje naraz?
W sumie instalacja za sobą, teraz projekt.
Widzę że Netbeans sobie znalazł ścieżkę do Zenda i że sobie można projekt php zend utworzyć i że za 1nym kliknięciem tworzy projekt tam gdzie trzeba ze strukturą katalogów i plików.
Myślę że teraz by należało iść w takich kierunkach:
1. Netbeans i jego możliwości (updater, dodatkowe pluginy, co i gdzie)
2. Zend i co i jak
3. PHP
4. Projekt - i tu się zatrzymam nieco.
Jak podejść do projektu? Czy analizować gotowe projekty? Gdzie znaleźć dobre i ciekawe gotowe projekty?
Myślę że skupię się też nad kilkoma funkcjonalnościami. Na przykład obsługa użytkownika, gdzie można, znając już to, zastosować to na wiele sposobów. A z drugiej strony parę rzeczy typu zend a bazy danych, formularze, XML.
Nieaktualne manuale? Które są aktualne?

A w końcu teraz mi Netbeans jakieś dziadostwo robi. Jak dam "zf" w konsoli to daje mi że "Failed opening NetBeansCommandsProviders.php " I pod spodem pełno dziadostwa.

Kod
Microsoft Windows XP [Wersja 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\ghj>zf

Warning: include_once(NetBeansCommandsProvider.php): failed to open stream: No s
uch file or directory in C:\xampp\htdocs\zend_framework\library\Zend\Loader.php
on line 134

Warning: include_once(): Failed opening 'NetBeansCommandsProvider.php' for inclu
sion (include_path='C:\xampp\htdocs\zend_framework\library') in C:\xampp\htdocs\
zend_framework\library\Zend\Loader.php on line 134

Fatal error: Uncaught exception 'Zend_Exception' with message 'File "NetBeansCom
mandsProvider.php" does not exist or class "NetBeansCommandsProvider" was not fo
und in the file' in C:\xampp\htdocs\zend_framework\library\Zend\Loader.php:87
Stack trace:
#0 C:\xampp\htdocs\zend_framework\library\Zend\Tool\Framework\Loader\BasicLoader
.php(110): Zend_Loader::loadClass('NetBeansCommand...')
#1 C:\xampp\htdocs\zend_framework\library\Zend\Tool\Framework\Client\Abstract.ph
p(122): Zend_Tool_Framework_Loader_BasicLoader->load()
#2 C:\xampp\htdocs\zend_framework\library\Zend\Tool\Framework\Client\Abstract.ph
p(223): Zend_Tool_Framework_Client_Abstract->initialize()
#3 C:\xampp\htdocs\zend_framework\bin\zf.php(600): Zend_Tool_Framework_Client_Ab
stract->dispatch()
#4 C:\xampp\htdocs\zend_framework\bin\zf.php(117): ZF->_runTool()
#5 C:\xampp\htdocs\zend_framework\bin\zf.php(74): ZF->run()
#6 C:\xampp\htdocs\zend_framework\bin\zf.php(623): ZF::main()
#7 {main}
  thrown in C:\xampp\htdocs\zend_framework\library\Zend\Loader.php on line 87
C:\Documents and Settings\ghj>


Tyle z tego wychodzi. O dopiero było wszystko OK. Ale przy okazji tworzenia projektu było rejestracja providera. I chyba przez to jest źle.

Jest fatalnie. Wyinstalowałem NetBeansa, wymieniłem ZF, wywaliłem projekty i nadal jak wyżej. Woła coś tego providera. Co się dzieje? Na forum Netbeansa zapytałem, nikt nie odpowiedział, w ogóle nic się nie da zrobić. Chyba Windowsa przeinstaluję.
amii
A koniecznie potrzebujesz konsoli z netbeans ? Sam mam Zenda + wamp + netbeans na windows 7 i XP i nigdy nie potrzebowałem koorzystać z konsoli netbeans. Komendy możesz wydawać z cmd na windows
viking
Po pierwsze masz dużo lepszy Zend Server CE który w dodatku ma z automatu instalację ZF. Po drugie daj sobie spokój z generatorami i zacznij coś pisać. Najważniejszy jest szkielet samej aplikacji na bazie którego możesz przyszłe budować i uwierz mi że jak to zrobisz dobrze w życiu nie dotkniesz generatora. Większość projektów to kopiuj wklej struktury bazowej i zmiana modeli. Można to ująć inaczej. Zamiast martwić się jak co zorganizować zacznij coś robisz i reszta sama wyniknie.
andrzej61
Nic nie mogę napisać w żaden sposób. Jestem za granicą i nie mam płyty z systemem.
1. Po instalce NetBeansa by7ło OK. cmd jak dałem zf dawało mi wszystko do zenda jak należy.
2. Prawdopodobnie po rejestracji Providera w Netbeansie zrobiło się tak że cmd komenda zf daje takie warningi jak wyżej wkleiłem.
3. Wyinstalowanie Netbeansa nic nie dało. Wywaliłem wszystko co zostało w katalogu Netbeand po deinstalacji.
Wywaliłem zenda i na nowo przekopiowałem świeżego.
4. I dalej jak wyżej warningi.
5. Nie mam płyty z Windowsem, nie działa z konsoli Zend.
6. Gdzie to się podpisuje jak się zarejestruje providera? To jest provider od "commands", to gdzieś musi nadpisywać coś w Windowsie skoro nie ma Netbeansa i jest now Zend i dalej te same Warningi. A, i jeszcze wszelkie projekty wywaliłem, przeszukałem dysk C czy jest coś "netbeans" . Coś znalazłem nawet w system32 i wywaliłem. Dalej to samo. Przeglądnąłem "php.ini", nic z Netbeansa ani Provider takich fraz nie ma w pliku.
Co zrobić? Zend Studio mi się nie zainstaluje bo mam starszego lapka i Ram mnie wiesza. Nie przejdzie instalacja.
Muszę więc znaleźć co powoduje ten wpis w CMD jak napisałem post wyżej, te warningi.
viking
Zapewne można przyjąć że jest zapisane gdzieś w rejestrze. Tylko jeszcze raz zapytam - po co ci to do szczęścia? Pisz aplikację a nie skupiaj się na pierdołach bo nigdy nie zaczniesz.
andrzej61
Na czym mam pisać aplikacje? Nie mam Zenda bo z cmd mi wywala błędy. Nie mam płyty Windy XP, wyinstalowanie Netbeans nic nie dało
viking
A czy ty myślisz że te narzędzia mają jakąś cudowną moc pisania aplikacji za ciebie? Zend to cała masa kodu który będziesz musiał napisać żeby twój projekt zaczął funckjonować. Co więcej, przepiszesz go 100x zanim uznasz że spełnia twoje potrzeby i jest dobrze skonstruowany. Po drodze nauczysz się całej masy rzeczy o frameworku i znowu wyrzucisz wszystko do kosza i przepiszesz całość. To że wygenerujesz sobie kontroler czy jakieś katalogi może pomóc na początku ale nie zmieni faktu że reszta jest w twojej gestii.

Tak więc zainstaluj ponownie Netbeans / dowolny edytor z podpowiadaniem składni, pobierz http://packages.zendframework.com/releases...2.0-minimal.zip, rozpakuj paczkę, stwórz nowy projekt (ręcznie) wedle znalezionych w sieci i dokumentacji poradników, library do odpowiedniego folderu i zacznij pisać moduły. Nic więcej nie jest ci potrzebne. Stworzyłeś sobie jakiś akademicki problem.
andrzej61
Jak to akademicki?
Chciałem Zenda 1
Nie mogę się do niego dostać przez cmd a więc nic nie zrobię. Nie mogę normalnie dostać się tam przez Netbeansa, a nawet po jego wyinstalowaniu i usunięciu daje te same błędy.
Chcisałbym jak coś mam pisać to móc poprawnie obsługiwać ZF1.
Jak mam pisać bez Zend Framework 1? Jak mam tworzyć projekt w ZF1 bez cmd?
OK.
Jak mam ZF1 czy ZF2 to jak sobie utworzę dowolny katalog i tam w nim /library i wrzucę tam całe /library od zenda to już mam tego Zenda? I jak taki katalog przekopiuję do /htdocs na serwer to wtedy jak dam w przeglądarce adres do index.php to już mam to co napisałem wyświetlone?
Muszę przynajmniej dać include_path w "php.ini" ? Bo obsługa w CMD nie jest mi niezbędna?
A swoją drogą jak to naprawić?
viking
Przeczytaj jeszcze raz bo napisałem już wydawało mi się wyraźnie.

Tworzysz jedną ze struktur katalogowych http://wwwgo.pl/article/6/instalacja_zend_...work_-_podstawy wedle schematu. Do library przerzucasz zawartość z paczki zenda i piszesz. Nie potrzebujesz do tego żadnego CMD, pisać możesz nawet w zwykłym notatniku czy jakimś notepad++ (kwestia podpowiadania składni). Czego ty się spodziewasz że znajdziesz w toolsach? Na stronie zenda był gdzieś przykładowy projekt do pobrania.

W skrócie na dopisane do postu. Tak, dokładnie. index.php iniciuję albo aplikację, albo kod wedle uznania. Poczytaj o bootstraping zend.
red.orel
Naucz się języka angielskiego w stopniu umożliwiającym komunikowanie się ze społecznością, czytanie dokumentacji. Po drodze przebrnij przez tajemną wiedzę wyszukiwania informacji, rozwiązywania problemów (np. wątki na forum).

Czytaj kod innych ludzi. Dzięki temu będziesz mógł analizować rozwiązania, wiedział w jaki sposób co działa. Dobrym przykładem jest kod frameworku (ktoś może mi zarzucić że to głupota). Cała otoczka tych frameworków opiera się na jego rozszerzaniu, modyfikowaniu (nie core!) do własnych potrzeb. To nie jest zadanie na jeden weekend, aczkolwiek późniejsza przesiadka na inny framework jest o wiele łatwiejsza (czasami przyzwyczajenia pozostają).
andrzej61
1. Angielski znam biegle.
2. Na forum NetBeansa przeszukałem i to co było nie rozwiązuje sprawy.
3. Zadałem pytanie i brak odpowiedzi.
4. Będę se pisał ręcznie projekty
5.Jedni mówią że ZF1 bo stabilne a w ZF2 nie ma tego i tamtego jeszczze. Inni żeby ZF2 brać. Oba spróbuję (?)
viking
Znalazłem Ci przykładowy blog https://github.com/harikt/zendblog/
Zobacz jak wygląda index.php, później przejdź do https://github.com/harikt/zendblog/tree/master/application
i poczytaj o http://framework.zend.com/manual/1.12/en/z...troduction.html . Jak będziesz mógł zauważyć zend tool generuje prawie dokładnie to samo.
andrzej61
Quickstarta pomyślnie "zainstalowałem" sobie w htdocs z ZF2.
I teraz tego bloga, który jest w ZF1.9 Ale to jest paczka jako Netbeans projekt.
To w takim razie jeszcze uruchomię to co jest demo Zend w Netbeans i poszukam jeszcze co może być ciekawego i wszystko sobie podaję w htdocs żeby sobie działało a ja se będę analizował to.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.