Bon, déjà, il y a plein de code commenté : ca fait sale. On va me rétorquer que c'est un détail, mais je trouve que le code commenté montre que le développeur a pas forcément confiance en ce qu'il fait et s'il va devoir vraiment supprimé ou _garder pour plus tard_ ses morceaux de code (cela n'arrive jamais).
Du coup, comme les fonctions se retrouvent vide, les commentaires de celle-ci mentent ( quand est-ce que les dev comprendrons que les commentaires c'est mal), et du coup, on s'interroge pour savoir pourquoi cette satanée classe n'est pas abstraite avec toutes ces fonctions vide ...
public function getBase ( $name ) {
/*
$oldBase = $this->getKeyword('base');
$this->setKeyword($name);
$directory = $this->getFormattedParameter('base.directory');
$file = $this->getFormattedParameter('base.file');
require_once $directory . $file;
$class = $this->getFormattedParameter('base.class');
if(!class_exists($class))
throw new \Hoa\Database\Exception(
'Cannot find the base class %s in %s.',
1, array($class, $directory . $file));
$this->setKeyword($oldBase);
return new $class();
*/
}
Il s'agit d'une critique au niveau code uniquement, je ne me suis pas permis de critiquer l'ensemble car je n'ai pas encore essayé. Je procède donc à un sondage du code, tel que je le fais pour tous logiciel que j'utilise.
Ce dossier est disponible pour la beta5 qui sort cette semaine. Oui, il faut taper sur le trunk. J'avoue que la documentation serait presque en avance sur les releases pour une fois, mais ce sera réglé avec la RC.J'ai essayé toute les archives par de répertoire bin (désolé pour le e en trop :/
C'est totalement hors-sujetmercurial utile peux être pas, perso j'en ai pas besoin (ni même git ou pas) même pas sujet c'est hors sujet
Et on prend quoi comme chemin pour les exemples ? De toute façon, l'endroit où est installé Hoa n'a aucune importance surtout avec son aspect framework car tu vas inclure un fichier qui s'appelle Data/Core.link.php qui est un lien vers le noyau de Hoa. Ce lien peut être modifié avec la commande Data/Bin/whereishoa (ou whereishoa.bat).Hoa peut s'installer où on veut. L'aspect framework utilise un fichier Core.link.php qui peut se redéfinir à travers le script whereishoa (et whereishoa.bat). De fait, ton application va toujours inclure Core.link.php, qui fera le lien vers Hoa, donc peu importe où ce dernier est situé. On conseille /usr/local/lib/hoa pour les Unix et C:\Program Files\Hoa pour Windows (voir la section à propos du confort). Ce n'est nullement une obligation, juste une proposition.- installer Hoa dans /usr/local/ pourquoi ? est ce que l'on est obligé d'avoir un dédié pour l'utiliser ?
je sais bien, mais je pense que l'accent est trop donnée dessus, une indication d'une installation standard sans pré requis serait plus cool
Le DOS ne supporte pas Unicode. Un patch est en cours mais l'encodage utilisé par le DOS est très faible en possibilité …Je serais interessé de connaître ta manipulation et du message d'erreur que tu as eu. Bhoa exécute du PHP à travers HTTP, avec ou sans Hoa, ça n'a rien à voir.- une fois l'install fait j'ai voulu testé bhoa et heu j'arrive pas a avoir une page php deja existante (ha oui pas faite avec hoa).
je lance la console, je vais dans répertoire qui me convient (avec des pages php puisse d'après ce que j'ai compris il s'agira du "docroot" du serveur ? et je lance : hoa bhoa
réponse(au passage pb d'encodage sur la console win)H:\web\docRoot\test>hoa bhoa
Server is up, on tcp://localhost:8888!
Root: H:\web\docRoot\test.
Waiting for connectiona l'essai d'affichage d'une page. GET /index.php
Ôå│ PHP FastCGI seems to be disconnected (tried to reach tcp://localhost:9000).
Ôå│ Try $ php-cgi -b localhost:9000
or $ php-fpm -d listen=localhost:9000
PHP-FPM n'existe pas sous Windows, c'est indiqué dans le manuel de PHP. Ils y travaillent mais ce n'est pas simple. Mais si tu utilises PHP-CGI, ça ne devrait pas poser de problème. Je te propose de venir sur le forum de Hoa (forum.hoa-project.net) ou sur le chat IRC (irc.freenode.net #hoa_php) pour qu'on en parle. On ne va pas faire du debug ici. J'ai besoin d'avoir plus d'informations sur ta configuration Windows.ha oui j'ai oublié le php-cgi& autre console re teston envoi le php-cgi -b localhost:9000Ô£û GET /index.php
Ôå│ PHP FastCGI seems to be disconnected (tried to reach tcp://localhost:9000).
Ôå│ Try $ php-cgi -b localhost:9000
or $ php-fpm -d listen=localhost:9000
d'après la docet pourtant je l'ai bien lancer (au passage php-fpm n'existe pas chez moi) je tourne sous w7 X64 test avec php5.4 (oui je sais c'ets une alpha) test avec php5.3.6 idem :/Attention à bien démarrer PHP FastCGI afin que Bhoa puisse exécuter PHP. Normalement, si Bhoa n'arrive pas à joindre PHP FastCGI, il le signalera de cette façon :
✖ GET /index.php
↳ PHP FastCGI seems to be disconnected (tried to reach tcp://localhost:8888).
↳ Try $ php-cgi -b localhost:8888
or $ php-fpm -d listen=localhost:8888
if(false !== $wl = ini_get('suhosin.executor.include.whitelist'))
if(false === in_array('hoa', explode(',', $wl)))
throw new Exception(
'The URL scheme hoa:// is not authorized by Suhosin. ' .
'You must add this to your php.ini or suhosin.ini: ' .
'suhosin.executor.include.whitelist="%s", thanks :-).',
0, implode(',', array_merge(
preg_split('#,#', $wl, -1, PREG_SPLIT_NO_EMPTY),
array('hoa')
)));
Je me dis que c'est quand même pas très beau, surtout qu'en le refactorisant, je pense avoir trouvé un bug : il manque un sprintf à l'interieur du new Exception. Et j'ai pas compris l'interet du preg_split ...isHoaURLAuthorizedOrThrowAnException() ;
function isHoaURLAuthorizedOrThrowAnException(){
//FIXME : et la blackList !!
$whiteList = ini_get('suhosin.executor.include.whitelist');
if (! $whiteList){
return true;
}
if (in_array('hoa',explode(",",$whiteList))){
return true;
}
$message = "The URL scheme hoa:// is not authorized by Suhosin. ' .
'You must add this to your php.ini or suhosin.ini: ' .
'suhosin.executor.include.whitelist="$whiteList,hoa" , thanks :-)";
throw new Exception($message);
}
Le nom de la fonction fait également penser qu'elle fait trop de chose et qu'une classe spécifique a envie de sortir de là ...
if(false !== $wl = ini_get('suhosin.executor.include.whitelist'))
if(false === in_array('hoa', explode(',', $wl)))
throw new Exception(
'The URL scheme hoa:// is not authorized by Suhosin. ' .
'You must add this to your php.ini or suhosin.ini: ' .
'suhosin.executor.include.whitelist="%s", thanks :\-).',
0, implode(',', array_merge(
preg_split('#,#', $wl, -1, PREG_SPLIT_NO_EMPTY),
array('hoa')
))); J'ai ajouté un \ pour que le forum n'ajoute pas de code HTML en rapport avec le smiley.
[/quote]Ce dossier est disponible pour la beta5 qui sort cette semaine. Oui, il faut taper sur le trunk. J'avoue que la documentation serait presque en avance sur les releases pour une fois, mais ce sera réglé avec la RC.J'ai essayé toute les archives par de répertoire bin (désolé pour le e en trop :/
C'est totalement hors-sujetmercurial utile peux être pas, perso j'en ai pas besoin (ni même git ou pas) même pas sujet c'est hors sujet
Et on prend quoi comme chemin pour les exemples ? De toute façon, l'endroit où est installé Hoa n'a aucune importance surtout avec son aspect framework car tu vas inclure un fichier qui s'appelle Data/Core.link.php qui est un lien vers le noyau de Hoa. Ce lien peut être modifié avec la commande Data/Bin/whereishoa (ou whereishoa.bat).Hoa peut s'installer où on veut. L'aspect framework utilise un fichier Core.link.php qui peut se redéfinir à travers le script whereishoa (et whereishoa.bat). De fait, ton application va toujours inclure Core.link.php, qui fera le lien vers Hoa, donc peu importe où ce dernier est situé. On conseille /usr/local/lib/hoa pour les Unix et C:\Program Files\Hoa pour Windows (voir la section à propos du confort). Ce n'est nullement une obligation, juste une proposition.- installer Hoa dans /usr/local/ pourquoi ? est ce que l'on est obligé d'avoir un dédié pour l'utiliser ?
Je conçoit, mais comme déja indiqué ce n'est pas toujorus utilisable (cas des serveur mutalisé dans le web par exemple). L'utilisation du fichier Core.link.php pourquoi pas mais la doc n'en parle pas a ce moment la, il existe un outils pour cela c'est super, mais on va pas aller a la fin de la doc pour le savoir. La remarque est dans le sens "plus clair" on utilise Hoa où l'on souhaite et l'on utilise whereishoa pour configurer la chose. ceci devrait être indiqué au départ, dans l'installation
Je sais bien, mais je pense que l'accent est trop donnée dessus, une indication d'une installation standard sans pré requis serait plus cool
Code : Tout sélectionner
$ php-cgi -b 127.0.0.1:9042&
$ myapp bhoa --root hoa://Application/Public --fastcgi 127.0.0.1:9042Ah oui, tu considères qu'une fonction est juste là pour factoriser du code et pas pour organiser le code de manière plus lisible en découpant les responsabilités ou bien pour faire sauter des niveaux d'imbrications ?Faire une méthode supplémentaire n'ajouterait rien à part ralentir le système car ce traitement n'est utile que dans le constructeur et n'a donc aucune raison d'exister dans une méthode à part entière.