Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Pierwsze kroki z Zend Framework

Architektura Model-View-Controller

Tradycyjna aplikacja utworzona w PHP wygląda mniej więcej tak:

<?php
include "common-libs.php";
include "config.php";
mysql_connect($hostname, $username, $password);
mysql_select_db($database);
?>
<?php include "header.php"; ?>
<h1>Home Page</h1>
<?php
$sql = "SELECT * FROM news";
$result = mysql_query($sql);
?>
<table>
<?php
while ($row = mysql_fetch_assoc($result)) {
?>
<tr>
<td><?php echo $row['date_created']; ?></td>
<td><?php echo $row['title']; ?></td>
</tr>
<?php
}
?>
</table>
<?php include "footer.php"; ?>

Z biegiem czasu tak wyglądająca aplikacja staje się jednak bardzo trudna w utrzymaniu, ponieważ nasz klient wciąż żąda nowych zmian, które wpisywane są w już istniejący kod w wielu różnych miejscach.

Jedną z metod ułatwiających utrzymanie aplikacji jest podzielenie jej kodu na trzy części (co wiąże się przeważnie z podzieleniem jej w osobne pliki):

Model

Ta cześć aplikacji odpowiedzialna jest za dane, które są pokazywane w aplikacji. W powyższym przykładzie model jest koncepcją newsów. Model odpowiada za ogólną logikę (sposób działania) aplikacji i operacje bazodanowe.

View (Widok)

Widok odpowiedzialny jest za część prezentacyjną naszej aplikacji. Najczęściej jest to zwykły kod HTML

Controller

Kontroler łączy Model I Widok zapewniając poprawność prezentowanych danych

Zend Framework oparty został na architekturze Model-View-Controller (MVC). Używa się jej przeważnie do rozdzielenia różnych elementów aplikacji, co znacznie ułatwia ich utrzymanie i tworzenie.

Wymagania

Zend Framwork wymaga:

  • PHP w wersji 5.1.4 (lub wyższe).
  • Serwer Apache z modułem mod_rewrite.
Zdobycie Frameworka

Zend Framework pobrać można ze strony http://framework.zend.com/download w formacie .zip lub .tar.gz. W czasie powstawania tego kursu najaktualniejszą wersją była 0.2. Powinieneś posiadać Framework w wersji 0.2, aby korzystać z tego kursu.

Struktura Katalogów

Ogólnie Zend Framework nie narzuca konkretnej struktury katalogów, ale manual radzi używania ustalonej struktury. Struktura ta zakłada, że masz pełną kontrolę nad konfiguracją Apache, jednak chcąc ułatwić sobie trochę życie wprowadzimy tutaj pewne modyfikacje.

Utwórz teraz następujące podkatalogi, w których umieścimy pliki aplikacji:

 Zf-tutorial/
	/application
		/controllers
		/models
		/views
	/library
	/public
		/images
		/scripts
		/styles

Jak widać, odseparowaliśmy tutaj katalogi dla plików model, view i kontroler naszej aplikacji. Pliki graficzne, sktypty i arkusze stylów umieszczone zostaną w osobnych katalogach w katalogu public. Pliki pobranego przez nas Zend Framework będą w katalogu library, a w przypadku, kiedy potrzebować będziemy innych bibliotek, również umieścimy je w tym miejscu.

Teraz rozpakuj plik ZendFramework-0.2.zip, w tym przypadku - do dowolnego katalogu tymczasowego. Wszystkie pliki w tym ZIP-ie umieszczone są w podkatalogu o nazwie ZendFramework-0.2 - skopiuj pliki z ZendFramework-0.2/library do zf-tutorial/library. Katalog zf-tutorial powinnien teraz posiadać podkatalog o nazwie Zend, w którym jest plik Zend.php.

Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (7)
Proponuję alternatywę
Wtorek 09 Luty 2010 1:23:49 pm - siema1980

Proponuję zapoznać się z moim kursem na temat ZF, jest to blog na temat podstaw i myślę, że wszystkim początkującym się przyda - szczególnie tym którzy nie wiedzą jak w ogóle postawić pierwsze kroki w używaniu tej technologii.

http://zend-framework.web-portals.pl

Zapraszam serdecznie.

Zmiany w stosunku do ZF 1.0
Sobota 07 Lipiec 2007 11:41:02 am - elem84

$config->db->config->asArray() ta część jest nieaktualna dla wersji 1.0 należy ją zastąpić $config->db->config->toArray()

Zend
Poniedziałek 26 Luty 2007 10:15:26 am - mrm

czy na pewno to działa ?, stworzyłem odpowiedni pliki, katalogi, skopiowałem cały kod, i nie działa...;/, wydaję mi się że może być 5 przyczyn takiego stanu rzeczy:
1 - źle skopiowałem kod, przeoczyłem cos...
2- mam coś nie tak z serwerem
3- korzystam z wersji 0.8
4- to po prostu nie działa
5 -inne

Szkoła kononowicza
Poniedziałek 29 Styczeń 2007 4:03:22 am - MARIO77 <manius162_at_wp.pl>

cytat:
"Zend Framework rezerwuje również domyślny controller i nie powinno być dla nas niespodzianką, że też się nazywa się on index."

Szkoła KONONOWICZA :D

Wspólny kod HTML
Sobota 16 Grudzień 2006 11:52:21 pm - vallthore

Wspólny kod HTML jest chyba trochę ucięty, a dokładnie początek strony 10 z oryginalnego pdf'a

hehe
Piątek 24 Listopad 2006 4:29:49 pm - sabistik <wiktorski_at_poczta.php.pl>

hehe, ano dobre, dobre. Już poprawiam.

tworzymy widok
Środa 22 Listopad 2006 1:48:14 am - orideith

cytuje ..w związku z czym nie ma seksu używać akcji. hmm seks i zend :)
Nie mogłem się powstrzymac.

Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2020 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System