Installation








télécharger 144.41 Kb.
titreInstallation
date de publication02.02.2018
taille144.41 Kb.
typeDocumentos
ar.21-bal.com > loi > Documentos
Noas PHP, un framework Open Source intégral pour PHP5
Le langage PHP et son nouveau moteur objet ne cesse de monter dans l’estime des développeurs. Depuis sa sortie officielle, en juillet 2004, il existe de plus en plus d’alternative, du point de vue logiciel et librairies spécifiques, pour accroître la productivité et la qualité des projets. Focus sur le dernier-né, Noas PHP, un framework MVC complet intégrant les fonctionnalités nécessaires aux applications les plus complexes.
Au même titre qu’un développeur J2EE ou .Net, le développeur PHP orienté objets dispose d’une gamme de logiciels satisfaisante. Les éditeurs WYSWYG ont laissé leur place aux IDE qui n’ont pas grand chose à envier chez leurs homologues d’autres langages. On trouve des plugins pour générer des classes PHP depuis UML ou encore des éditeurs équipés d’un débuggeur. Tout comme Java, PHP est libre et bénéficie d’une communauté de développeurs et de documentaliste très réactive. La seule ombre à ce tableau idéaliste, et pas des moindres, est la disparité des moyens de réalisation. Il n’y a pas de « façon » homogène pour développer une application avec PHP. Cela n’est pas gênant dans l’absolu, mais les équipes de développement sont systématiquement emmenées à créer de zéro leurs propres solutions qui, pour des raisons de coût et délais, sont généralement d’une réutilisation très limitées. En passant par un framework, on optimise les développements sur tous les points. Il est difficile de proposer une solution qui couvre tous les besoins, mais c’est dans cette volonté que le framework Noas PHP a été conçu et réalisé : Produire, pour PHP, une couche technique robuste et extensible dédiée en majeur partie au intra net, extra net, front office, back office et portail d’entreprise.

Installation


Noas PHP n’est pas une extension PHP, ni un module Apache, ou autres composants « exécutables ». Il s’agit purement et simplement d’ensemble de classes et d’un fichier de configuration. Procurer vous l’archive en prenant soin de choisir celle qui correspond à l’extension des scripts PHP5 reconnue par votre serveur (.php ou .php5 ou utiliser un logiciel pour renommer tous les fichiers à votre convenance ). Décompresser le contenu de l’archive dans un répertoire neutre, que nous appellerons « NOAS_INSTALL ». Il ne vous reste plus qu’à définir correctement les constantes du fichier de configuration « noas-server-conf.inc ».

Définissez la constante « NOAS_SEPARATOR » à « \\ » si vous développez sous Windows ou à « / » pour Linux.

Définissez « NOAS_HOME » à « NOAS_INSTALL ».

Définissez « NOAS_WORK_DIR » en spécifiant le répertoire dans lequel vous souhaitez que le framework génère ses fichiers temporaires. Veuillez à ce que PHP ai le droit d’y créer des dossiers et des fichiers.

Définissez « NOAS_LOG_DIR » en spécifiant le répertoire dans lequel vous souhaitez que le framework génère les fichiers de logs. Veuillez à ce que PHP ai le droit d’y créer des dossiers et des fichiers.

Définissez « NOAS_PHP_EXTENSION » en spécifiant l’extension PHP5 reconnue par votre serveur (.php , .php5 ou autres ).

La configuration étant terminée, nous pouvons débuter la découverte du framework au travers d’un petit projet que nous appellerons EMC (Entreprise Message Center), une application de dépôt et de consultation de messages centralisés.

Classes et Packages


En PHP5 vous pouvez placer vos définitions de classes à peu prés n’importe où. Par contre, vous devez faire vous-même l’effort de les retrouver avec le risque de produire une application non portable. Noas PHP a donc ajouter les notions de chemin de classes et packages qui permettent d’importer une définition de classe aisément en faisant abstraction de sa location physique. Un chemin de classes est une liste de répertoires, séparée par des « ; », qui va servir de base pour la recherche des définitions. Le répertoire « NOAS_HOME »/classes et « MA_WEB_APP »/NOAS-INF/classes sont toujours inclus par défaut, vous n’avez pas besoin de les spécifier. Comme nous le verrons plus loin, cette valeur est définissable pour chaque application.

Un package représente une arborescence de dossier que l’on exprime par la liste des dossiers séparés par un « . ». En utilisant les packages pour organier vos classes, vous obtiendrez des projets plus limpides, donc plus facile à maintenir. La base d’un package valide est toujours un répertoire du chemin de classes.

Le fichier d’implémentation d’une classe doit suivre une nomenclature particulière afin d’être retrouvée : « MA_CLASSE ».class« EXTENSION_PHP »

Une fois implémenter dans le bon fichier, accessoirement le bon package, il vous suffit d’importer sa définition en utilisant son nom complet comme ci-dessous.

Noas::import("noas.core.NoasUserRequest");

Dans ce cas la classe NoasUserRequest se trouve dans le fichier

« NOAS_HOME »/classes/noas/core/NoasUserRequest.class.php Nous vous rappelons que les classes du package « noas.type » n’ont pas besoin d’être importées. Elles sont chargées en même temps que le framework.

Nouveau projet


Exceptionnellement, le temps que vous vous familiarisiez avec le framework, nous vous proposons d’utiliser le squelette type, « noasphp-blank.zip », disponible uniquement sur votre CD. Il contient des dossiers « standards » comme « images », « css », etc. et le dossier obligatoire « NOAS-INF » pré-structuré selon les spécifications en vigueurs pour imposées par le framework. Décompressez le contenu de l’archive dans le répertoire « emc » sur votre serveur.

Intéressons-nous au de configuration de l’application « noas-blank-conf.inc ». Renommez le en « noas-emc-conf.inc ». Bien que son nom et son emplacement soient arbitraires, vous avez tout intérêt à définir votre propre nomenclature afin de pouvoir le distinguer et le retrouver facilement.

Définissez la constante « NOAS_APPLICATION_HOME » qui correspond au répertoire de votre application.

Définissez la constante « NOAS_APPLICATION_HTTP » qui correspond à l’adresse de votre application.

Définissez la constante « NOAS_APPLICATION_GROUP », qui correspond au groupe de votre application, à « EMC_GROUP ». Nous rappelons que les applications Noas PHP peuvent se grouper et disposer de données communes (langue, format, préférence utilisateur, etc.).

Définissez la constante « NOAS_APPLICATION_NAME », qui correspond au nom de votre application, à « EMC ».

Définissez la constante « NOAS_APPLICATION_CLASS », qui correspond au nom complet de la classe de votre application, à « emc.env.EmcApplicationContext ».

Vous devez nécessairement inclure le fichier de configuration du framework comme d’en l’exemple ci-dessous.


//////////////////////////////////////////////////////////////////////

// File : noas-emc-conf.inc

/////////////////////////////////////////////////////////////////////

include_once("/dev/noasphp1.0.0/noas-server-conf.inc");

define('NOAS_APPLICATION_HOME', '/dev/www/emc');

define('NOAS_APPLICATION_HTTP', 'http://localhost/emc/');

define('NOAS_CLASS_PATH','');

define('NOAS_APPLICATION_NAME', 'EMC');

define('NOAS_APPLICATION_GROUP', 'EMC_GROUP');

define('NOAS_APPLICATION_CLASS', 'emc.env.EmcApplicationContext');

define('NOAS_APPLICATION_LOCAL', 'fr');

define('NOAS_APPLICATION_DATE_FORMAT', 'd/m/Y H:i:s');

define('NOAS_APPLICATION_TEMP', '/dev/www/emc/tmp');

define('NOAS_APPLICATION_TIMEOUT', 60 * 60);

define('NOAS_TRACE_LEVEL', 100);

define('NOAS_LOG_FILE_PATTERN', '&host/&name/&ip_&d-&m-&y.txt');

?>

Environnement d’exécution


L’environnement d’exécution est l’ensemble des classes définissant votre application. Il est constitué de classes nécessaires et suffisantes pour que votre application se charge sans erreur. De manière générale, comme dans notre cas, il s’agit des classes de session, d’interface et d’application.

Nous allons toutes les placer dans le package « emc.env » de notre application.

La classe « emc.env.EmcSession » va modéliser notre session utilisateur.


//////////////////////////////////////////////////////////////////////

// File : EmcSession.class.php

/////////////////////////////////////////////////////////////////////

Noas::import("noas.core.NoasUserSession");
class EmcSession extends NoasUserSession {

function __construct() {

parent::__construct();

}

public function initialize() {

parent::initialize();

}

}

?>

La classe « emc.env.EmcInterface » vas modéliser notre interface utilisateur. Choisissez le mode « debug » pour le temps du développement. Vous passerez en mode « release » une fois le projet achevé.

//////////////////////////////////////////////////////////////////////

// File : EmcInterface.class.php

/////////////////////////////////////////////////////////////////////

Noas::import("noas.core.NoasUserInterface");
class EmcInterface extends NoasUserInterface {

function __construct() {

parent::__construct(self::debug);

}

}

Il ne vous reste plus qu’à implémenter la classe « emc.env.EmcApplicationContext » pour modéliser l’application.


//////////////////////////////////////////////////////////////////////

// File : EmcApplicationContext.class.php

/////////////////////////////////////////////////////////////////////

Noas::import("noas.core.NoasUserRequest");

Noas::import("noas.core.NoasApplicationContext");
Noas::import("emc.env.EmcSession");

Noas::import("emc.env.EmcInterface");
class EmcApplicationContext extends NoasApplicationContext {

function __construct() {

parent::__construct("php/error".NOAS_PHP_EXTENSION);

}

protected function createSession(){

return new EmcSession();

}

protected function createInterface(){

return new EmcInterface();

}

protected function createRequest(){

return new NoasUserRequest();

}

public function initialize(){

parent::initialize();

}

}

?>

Vous devez impérativement définir une page d’erreur. Elle sera affichée chaque fois qu’une exception n’a pas été capturée. Libre à vous de renvoyer une erreur HTTP standard, comme ci-dessous ou de l’adapter à votre guise.


//////////////////////////////////////////////////////////////////////

// File : error.php

/////////////////////////////////////////////////////////////////////

header("HTTP/1.0 500 Internal Server Error");

?>

Notez que nous utilisons toujours la constante « NOAS_PHP_EXTENSION » à la place de l’extension reconnue par l’interpréteur PHP. Cela nous permet de déployer les applications quelle que soit la stratégie du serveur cible.

Modèle, Vue, Contrôleur


Le concept de page en Noas PHP suit le très célèbre design pattern « MCV ». Pour notre part, la template représente une vue et le contexte un modèle (enrichi d’un état et d’un comportement). Le contrôle étant assuré par un élément interne du framework..

Une template est un fichier HTML quelconque, placé dans le répertoire « MA_WEB_APP »/NOAS-INF/template (vous pouvez créer des arborescences), composée de tagues spécifiques au framework. Lors du chargement de la page, le framework va la « compiler » en code PHP selon le mode de l’interface (release, design, debug). Une compilé le code PHP produit sera exécuté sur le contexte. Le mode « debug » spécifie que la template sera toujours recompilée à chaque nouvelle requête. Le mode « design » spécifie que la template ne sera compilée que si elle a été modifiée depuis la dernière compilation. Le mode « release » spécifie que la template ne sera compilée qu’une seule fois.

Pour placer des commentaires, non visibles après compilation, placez les entre « <%-- … --%> ».

Créons notre première template, « home.tpl ».

<%--

//////////////////////////////////////////////////////////////////////

// File : home.tpl

/////////////////////////////////////////////////////////////////////

--%>






http-equiv="content-type">

Démo - Noas PHP





Noas PHP, extrême framework








programmez!


similaire:

Installation iconInstallation du driver Microsoft sql server pour php
«Framework php sous iis : Copix Framework» pour l’installation de sql server Express 2008

Installation iconIncitation : Créer un volume (sculpture, élément d’architecture, installation…) qui
«Créer un volume (sculpture, élément d’architecture, installation…) qui interrogera un lieu du collège.»

Installation icon1. Installation de wds

Installation iconInstructions d'installation

Installation iconI. Installation du sgbd mariaDB

Installation iconSommaire installation de fan

Installation icon1Se préparer à l’installation de l’environnement

Installation iconI assemblage Installation Fonctionnement nstructions

Installation iconPrincipes d’Installation des Cascades

Installation iconProcédure d’installation et de lancement de la plateforme








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com