NANO-FRAMEWORK.COM

Framework PHP Objet UML

Navigation
HOWTO
Boîte à outils
Outils personnels
Action :

HowtoDemarrage

Ce guide à pour but de détailler l'installation d'un nouveau projet. Nous ferrons ici un simple et très classique Hello World qui aura au moins le mérite de nous montrer la démarche à suivre.


Sommaire

Installer Nano

Récupérer la dernière version de Nano Framework

Pour le moment, tant qu'une version à peu prêt stable n'est pas disponible, la seule façon d'obtenir la dernière version de Nano est de passer par le serveur subversion, une seul ligne de commande suffit :

 
svn co http://subversion.nano-framework.com/trunk <répertoire de destination>
 

S'il n'existe pas, le répertoire de destination sera créé.

Configurer le serveur web

Ne connaissant pas assez les autres serveurs, nous ne traiterons ici que de la configuration d'un serveur virtuel avec Apache 2.

Note importante : Nano à besoin de PHP5.3 ou plus pour fonctionner, si vous ne l'avez pas installé, voici un petit guide que vous devrez suivre avant de continuer.

Voici un exemple de serveur virtuel adapté aux besoins de Nano :

 
<VirtualHost *>
    ServerName www.mondomaine.com
    DocumentRoot /chemin/ou/est/installé/nano/public
 
    ScriptAlias /php53a-cgi /usr/local/php53a/bin
    Action php53a-script /php53a-cgi/php-cgi
    AddHandler php53a-script .php
 
    <Directory /chemin/ou/est/installé/nano/public/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>
 

Pensez à bien configurer le Servername en fonction de vos besoins et de changer les chemins pour les faire correspondre à votre installation.

Si vous n'avez pas la possibilité de configurer vos propres noms de domaine, vous pouvez simplement modifier le fichier /etc/hosts pour indiquer à votre système que le domaine existe et qu'il point vers un adresse IP. Vous pouvez par exemple y ajouter la ligne : 127.0.0.1 www.mondomaine.com si vous utilisez le serveur Apache local de votre machine.

Les fichiers de configuration

Tous les fichiers de configuration sont placés dans le répertoire configuration. Vous avez juste à renommer (ou copier) les fichiers .sample.php en .php tout en les modifiant, la plupart du temps de façon très succincte, pour les faire correspondre à votre installation.

Pour aller à l'essentiel, vous pouvez juste modifier le fichier configuration/environments/development.php, vous l'aurez compris, c'est le fichier qui correspond à la configuration de l'environnement de développement.

Pour plus d'informations sur le sujet, consultez la page sur les fichier de configuration.

Le classique Hello World

Par défaut le module front existe mais nous allons en créer un autre juste pour voir comment faire. Il suffit d'utiliser le script nanophp :

 
nanophp create-module hello
 

Pour dire à nano que le module actif par défaut est celui que l'on vient de créer, il faut modifier le fichier public/index.php :

 
define('MODULE_NAME', 'front');
 

devient

 
define('MODULE_NAME', 'hello');
 

C'est tout, on peut commencer à écrire notre contrôleur et notre vue.

Le contrôleur

Nous allons créer le contrôleur Hello, il devra être dans le fichier app/hello/controllers/Hello.php, notez la majuscule dans le nom du fichier, c'est indispensable car il doit correspondre exactement avec le nom de la classe du contrôleur.

 
<?php
use NanoFramework::Kernel;
 
class Hello extends Kernel::Controller
{
    public function __construct($view)
    {        
        parent::__construct($view);
 
        $this->view->set_layout('default');        
    }
 
    public function index()
    {
        Helpers::Page::set_title("Hello World");        
        Helpers::Page::add_meta('Author', 'nano');        
        Helpers::Page::add_css('moncss.css');
        Helpers::Page::add_javascript('monjavascript.js');
    }
}
 

Dans le constructeur on définit le layout par défaut et dans l'action index on définit juste quelques paramètres qui seront envoyés à la page.

La vue

Récupérée de « http://wiki.nano-framework.com/index.php/HowtoDemarrage »