1. Trang chủ
  2. » Công Nghệ Thông Tin

Pratique de MySQL et PHP- P77 potx

5 208 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Introduction au Zend Framework
Trường học University of Technology
Chuyên ngành Computer Science
Thể loại Essay
Năm xuất bản 2025
Thành phố Paris
Định dạng
Số trang 5
Dung lượng 262,52 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Décompressez-le et placez le répertoire racine zscope dans htdocs.. un répertoire application, avec tout le code d’une application MVC, à savoir les contrôleurs, les modèles et les vues

Trang 1

précédents, et propose quelques fonctionnalités implantées avec le ZF Vous pouvez

en récupérer le code sur le site du livre

9.1 MISE EN ROUTE

La première chose à faire est d’installer le ZF et notre application Une fois que cela fonctionne, lisez la fin de cette section qui présente l’organisation du code et les conventions d’écriture du ZF Ce n’est pas évident, surtout au début, et il vaut mieux comprendre d’emblée comment cela fonctionne

9.1.1 Installation d’une application ZF

La tâche la plus simple est d’installer le Zend Framework Allez sur le site

http://framework.zend.com/ et récupérez l’archive contenant l’ensemble des

composants La version courante au moment ó ces lignes sont écrites est la 1.6, et nous pouvons nous contenter de la version minimale, sans les utilitaires JavaScript

Dojo.

Décompressez l’archive On obtient un répertoire ZendFramework-1.6 contenant

un sous-répertoire library Ce sous-répertoire contient lui-même un répertoire Zend qui est la racine de l’ensemble des classes du framework Copiez

ZendFramework-1.6 sur votre disque, à un endroit accessible au serveur web Vous pouvez aussi le

renommer Dans notre cas, il s’agit de ZF, placé dans /usr/local/share.

REMARQUE –Le ZF est très flexible et tout ou presque tout (noms de répertoires, organisation des répertoires, etc.) est paramétrable Nous allons être assez directif pour éviter

de nous embrouiller avec une longue liste d’options Une fois que vous aurez compris les principes, vous pourrez vous lancer dans les variantes si vous le souhaitez.

Maintenant, récupérez l’archive du ZSCOPE, sur notre site Décompressez-le et

placez le répertoire racine zscope dans htdocs Une autre possibilité est de récupérer

le code sur le site CVS de http://webscope.cvs.sourceforge.net pour pouvoir faire des

modifications et améliorer le ZSCOPE Un défi possible, si plusieurs lecteurs sont intéressés, est de refondre le WEBSCOPEdéveloppé avec notre MVC personnel, en

une nouvelle version entièrement basée sur le Zend Framework Si vous êtes tentés,

allez voir sur le site de SourceForge l’état des choses au moment ó vous lisez ce livre Après cette installation initiale, il n’est pas encore possible d’accéder à ZSCOPE

avec l’URL http://localhost/zscope, car le ZF s’appuie sur un principe de redirection et

de réécriture des requêtes HTPP dont il faut au préalable s’assurer le bon fonction-nement

Trang 2

9.1.2 Redirection des requêtes avec le ZF

L’application ZSCOPEcontient deux sous-répertoires :

1 un répertoire application, avec tout le code d’une application MVC, à savoir

les contrôleurs, les modèles et les vues ; voir plus loin pour des détails ;

2 un répertoire www destiné à contenir la partie publique de l’application,

autrement dit tous les fichiers qui peuvent être directement référencés par une URL, et seulement ceux-là

L’idée est que tous les fichiers qui peuvent être directement envoyés à un

navi-gateur (images, PDF, CSS, Javascript, etc.) sont dans www Le code de l’application elle-même n’est pas dans www mais dans application, afin d’interdire qu’on puisse

accéder avec un navigateur à ce code, pour limiter les risques de fuite

Le seul fichier PHP qui se trouve dans www est index.php C’est lui qui charge les

parties de l’application nécessaires à la satisfaction d’une requête HTTP, et toutes

ces requêtes lui sont adressées sans exception Voilà pour les principes Leur mise en œuvre suppose un peu de configuration

Configuration d’un hôte virtuel

À la base, le site est accessible à l’URL http://localhost/zscope/www (au besoin rem-placez localhost par le nom de votre machine) On peut s’en contenter sur un site de test, mais rien n’empêche de tenter d’accéder à http://localhost/zscope/application, ce

que l’on veut éviter

Le serveur Apache permet la définition d’hôtes virtuels qui correspondent à un site

particulier, sur une machine particulière On peut avoir plusieurs hôtes virtuels pour

un même serveur web, ce qui mène à engendrer (virtuellement) plusieurs espaces de noms correspondant à la même adresse IP

Pour définir un hôte virtuel, éditez le fichierhttpd.conf et ajoutez le bloc d’instruc-tions suivant :

NameVirtualHost *:80

<VirtualHost *:80>

ServerName zscope.local

DocumentRoot /Applications/MAMP/htdocs/zscope/www

</VirtualHost>

Il faut de plus associer le nom zscope.local à l’IP 127.0.0.1 de la machine locale (si vous travaillez sur la machine locale) Pour cela on ajoute la ligne suivante dans

/etc/hosts(sur Linux ou Mac OS) ou c:/windows/system32/drivers/etc/hosts (Windows) Maintenant, redémarrez Apache, et vous devriez pouvoir accéder au site

ZSCOPEà l’URL http://zscope.local Toute l’arboresscence du site externe à www, et

en particulier application, est devenue invisible et inaccessible.

Trang 3

Tout rediriger vers index.php

La seconde partie de la configuration consiste à effectuer une réécriture des requêtes HTTP pour les rediriger systématiquement vers le fichierindex.php On utilise pour cela

le module mod_rewrite d’Apache, et des instructions placées dans un fichier .htaccess

Vérifiez que le module mod_rewrite est bien actif pour votre serveur Apache en

cherchant la ligne suivante danshttpd.conf, sinon ajoutez-la

LoadModule rewrite_module modules/mod_rewrite.so

Ensuite, vous pouvez vous appuyer sur le fichier.htaccess présent dans www Voici

son contenu :

# R´ e´ ecriture des requ^ etes

RewriteEngine On

RewriteCond %{REQUEST_URI} !\.(js|ico|gif|jpg|png|css)$

RewriteRule * index.php

Un fichier .htaccess contient des instructions à destination du serveur Apache, propres aux fichiers contenus dans le répertoire courant Ici, on demande à ce que toutes les URL autres que celles référençant des fichiers à transmettre directement au navigateur (images, Javascript, CSS, PDF, etc.) soient redirigées versindex.php Essayez

par exemple d’accéder à l’adresse http://zscope.local/essai.php Si votre configuration

fonctionne, le serveur vous redirigera versindex.php

Cela supprime en grande partie les messages 404 Not Found renvoyés par le serveur quand une URL ne correspond pas à une ressource existante Ce message ne peut plus apparaître que pour les URL non redirigées, comme par exemple un fichier image qui n’existe pas

Si tout va bien, vous devriez cette fois accéder à la page d’accueil et voir l’affichage

de la figure 9.1 Comme vous le voyez, il s’agit du WEBSCOPE, dans un état embryon-naire, puisqu’aucune fonction n’est réalisée Les contrôleurs et actions existants sont

de simples illustrations des composants du ZF

REMARQUE –Si l’application ZS COPE n’est pas à la racine de votre serveur web (par exemple

si vous y accédez avec http://localhost/zscope), vous devez définir le paramètrebase_url dans le fichier application/config.ini (sur le même exemple, le paramètre doit être zscope) Sinon, les images et feuilles de style CSS ne seront pas trouvées.

9.1.3 Organisation et conventions

Maintenant, jetons un coup d’œil à l’ensemble de l’organisation du site, résumée dans

la figure 9.2 Elle suit les règles par défaut du Zend Framework Bien que cela puisse sembler inutilement compliqué de prime abord, il faut se souvenir qu’on cherche

à gérer des applications larges et complexes Le découpage très prononcé en une hiérarchie de répertoires assez profonde a l’avantage de faciliter la localisation des différentes parties d’une application

Trang 4

Figure 9.1 — Page d’accueil du ZS COPE

models

css images

index.php

controllers

scripts zscope

application

IndexController.php, InscriptionController.php, Internaute.php, Film.php, Role.php

config.ini

BaseURL.php

index inscription

index.phtml index.phtml, layout.phtml

Figure 9.2 — Organisation (minimale) du code pour une application Zend

Vous pouvez déjà remarquer qu’il s’agit d’une extension de la structuration adop-tée pour notre MVC simplifié utilisé pour la réalisation du WEBSCOPE1 Une

1 Il serait plus juste d’admettre que notre MVC est une simplification radicale du ZF.

Trang 5

différence est le répertoire www qui ne contient que les fichiers qui peuvent être référencés par une URL dans un navigateur Tout le reste se trouve dans application.

Comme dans notre MVC, ce dernier contient trois sous-répertoires correspondant respectivement aux contrơleurs, aux modèles et aux vues Il contient également un fichier de configuration,config.ini

Les fichiers des contrơleurs Zend sont nommés Nom Controller, ó Nom

repré-sente le nom du contrơleur, commençant par une majuscule Ici, nous avons les contrơleurs index, inscription, etc., correspondant aux fichiersIndexController.php,

InscriptionController.php, etc Comme dans notre MVC, un contrơleur est une classe

constituée d’actions, méthodes dont le nom se termine par Action Nous y revenons

page 373

Les modèles sont des classes PHP Les classes représentant des données

persis-tantes sont construites selon une mapping objet-relationnel proposé par le ZF qui

permet de naviguer dans la base sans effectuer de requêtes SQL Voir page 379

Enfin, le répertoire views contient les vues Sa structuration est un peu plus compliquée Les fragments de pages HTML sont dans le sous-répertoire scripts, et

on trouve encore un sous-répertoire pour chaque contrơleur Les fichiers de vues ont tendance à proliférer, d’ó une structuration en répertoires Les fichiers ont pour extension.phtml car il s’agit d’un mélange de PHP et de HTML Notez également

dans scripts la présence du fichier layout.phtml, qui contient la mise en forme graphique

du site

Dans ce qui suit, référez-vous au schéma de la figure 9.2 pour retrouver les fichiers décrits

9.1.4 Routage des requêtes dans une application Zend

Une requête HTTP adressée à l’application a le format suivant :

http://zscope.local/ctrl/action[params]

Ici, ctrl et action représentent respectivement le nom du contrơleur et le

nom de l’action, et leur valeur par défaut est index La forme de la requête est

étrange puisqu’on semble faire référence à un sous-répertoire ctrl de la racine du site web, et même à un sous-répertoire action Ces répertoires, comme nous l’avons

vu, n’existent pas, mais le mécanisme de redirection renvoie la requête versindex.php

À ce moment-là un processus de routage implanté par le Zend Framework analyse

la requête et détermine le contrơleur et l’action demandés La méthode implantant

l’action du contrơleur ctrl est alors exécutée.

Si, par exemple, on appelle http://zscope.local/model/simpletbl, la méthode

simpletblAction() du contrơleurModelControllersera exécutée par le scriptindex.php Cette réécriture permet de normaliser l’adressage des fonctionnalités d’une appli-cation Zend Les paramètres passés à un action peuvent l’être soit sous la forme

standard ?nom=valeur, soit à nouveau sous la forme /nom/valeur.

Ngày đăng: 06/07/2014, 00:20

TỪ KHÓA LIÊN QUAN