PHP:Zend-Framework
{{#ev:youtube|Aw28-krO7ZM|300|right|PHP: MVC-Pattern}}
Zend Framework
{{#ev:youtube|V849D9aYOo8|300|right|PHP: Zend Framework mit MVC-Pattern}}
Vorbedingung
php im Pfad
php muss von überall aus der Kommandozeile aus aufgerufen werden können. Deshalb ist das Verzeichnis in den Pfad mit aufzunehmen.
php.ini anpassen
In der php.ini gibt es unter dem Abschnitt Paths and Directories die Möglichkeit weitere Pfade anzupassen. Für Windows würde man folgendes eintragen:
include_path=".;C:\DEVELOPMENT\Hagleitner\git-checkout\ZendFramework-2.2.2\library"
Zu beachten ist das ".;". Das ist erforderlich um den bestehenden Pfad zu erhalten.
Außerdem benötigt man beim Einsatz von Composer noch die SSL-Unterstützung. Die aktiviert man durch aktivieren von:
extension=php_openssl.dll
mod_rewrite im Apache
Es muss im Apache-Webserver die Erweiterung mod_rewrite aktiviert sein. Ggf. muss man die httpd.conf anpassen und AllowOverride von None in FileInfo ändern.
Composer installieren
http://getcomposer.org/ ist mit im GIT-Repository
Skeleton
php composer.phar create-project --repository-url="http://packages.zendframework.com" -s dev zendframework/skeleton-application <pfad>
Kopieren in das htdocs-Verzeichnis des Webservers und dessen URL mit public aufrufen. Dann sollte die Zend Framework Seite erscheinen. Hängt man an die URL dann noch z.B. 1234 an, muss die Fehlerseite des Zend Framework erscheinen, dann stimmt die .htaccess-Datei.
MVC
Zend nutzt Inversion of Control. Dazu ist es nötig, sich an Strukturen und Namenskonventionen zu halten.
module\Application\src\Application\Controller
module\Application\view\application
ToDo
Authentication
- In das vendor-Verzeichnis wechseln
git clone https://github.com/ZF-Commons/ZfcUser.git
git clone https://github.com/ZF-Commons/ZfcBase.git
- In ./config/application.config.php die Module aktivieren
<?php
return array(
'modules' => array(
'Application',
'ZfcBase', // <- also das
'ZfcUser', // und das
),
'module_listener_options' => array(
'config_glob_paths' => array(
'config/autoload/{,*.}{global,local}.php',
),
'module_paths' => array(
'./module',
'./vendor',
),
),
);
?>
- Mit ./vendor/ZfcUser/data/schema.sql die Datenbank einrichten
- http://youvhost/user aufrufen ;-)