11

Re : php5.3.5 Hoa plante tout, pas d'erreurs :/

Oui. Entièrement. C'est plus simple. Je vais faire un nouveau format, une nouvelle approche. Pourquoi ?

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Re : php5.3.5 Hoa plante tout, pas d'erreurs :/

Bonne idée le quick start, je commence à voir les frameworks dans un mois, je pourrais donc voir aussi Hoa big_smile

13

Re : php5.3.5 Hoa plante tout, pas d'erreurs :/

Simple curiosité ^^ bon courage ça a bien évolué depuis mon dernier passage tongue

Edit: post retrouvé ^^

Dernière fois dit par jira (18 Feb. 2011 12:12)

Re : php5.3.5 Hoa plante tout, pas d'erreurs :/

Bon je voudrais profiter du wk pour bosser un peu Hoa.

La vidéo "Hello world" est toujours une bonne base ? (en dehors de la ligne de commande).

Gg

15

Re : php5.3.5 Hoa plante tout, pas d'erreurs :/

Non. Le contrôleur est totalement différent.
Regarde Hoa_Controller, ça devient amusant, du coup c'est Hoa\Controller maintenant. Ce n'est pas à jour car on a fait des modifications après, mais ça peut t'aider pour commencer.

Et Hoa est un ensemble de bibliothèques suffisamment flexibles pour qu'on y ait ajouté un aspect framework, mais n'oubliez pas que la ligne de commande ne permet seulement que d'aller plus vite, elle ne fait rien de magique. Et vous irez tout aussi vite à la main si vous avez votre modèle d'application en tête.

Le site de Hoa, actuellement, n'a même pas de classes pour les contrôleurs, ce sont des fonctions anonymes. Et il fonctionne dans le dossier Data/, juste Framework/. Voici l'index.php :

<?php

require_once '/var/lib/hoa/Core/Core.php';

from('Hoa')
-> import('Xyl.~')
-> import('Xyl.Interpreter.Html.~')
-> import('File.Read')
-> import('Http.Response')
-> import('Controller.Dispatcher.Basic')
-> import('Controller.Router');

\Hoa\Core::getInstance()->initialize(array(
    'protocol.Application/View'               => '…',
    'protocol.Application/Public'             => 'Public/',
    'protocol.Application/Public/Classic/Css' => 'Public/Css/'
));


$router = new \Hoa\Controller\Router();
$router
    ->addRule(
        'g',
        '(?<all>index|)',
        null,
        function ( \Hoa\Controller\Application $_this ) {

            $_this->view->addOverlay('hoa://Application/View/Welcome.xyl');
            $_this->view->render();
        }
    )
    ->addPrivateRule(
        '_css',
        'Public/Css/(?<sheet>)'
    )
    ->addPrivateRule(
        'dl',
        'http://download.hoa-project.net/(?<file>)'
    );

$dispatcher = new \Hoa\Controller\Dispatcher\Basic();
$xyl        = new \Hoa\Xyl(
    new \Hoa\File\Read('hoa://Application/View/Main.xyl'),
    new \Hoa\Http\Response(),
    new \Hoa\Xyl\Interpreter\Html(),
    $router
);

try {

    $dispatcher->dispatch($router, $xyl);
}
catch ( \Hoa\Core\Exception $e ) {

    $xyl->addOverlay('hoa://Application/View/Error.xyl');
    $xyl->render();
}

C'est la manière la plus rapide pour rendre une page, enfin, presque la plus rapide (il en existe encore des plus rapides). Mais si on est sur des projests plus conséquents, il faudrait faire des contrôleurs dans des classes etc. Je te donne ce code pour que tu aies un démarrage mais c'est déjà pas mal tricky et pas la façon la plus « propre » de faire. Donc attention, attendez vraiment le Quickstart !

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »