PHP : fonction callback et méthode

PHP permet bien des choses, notamment l’utilisation de fonction de callback. Les fonction de callback sont des fonctions qui seront appeler durant l’exécution d’une autre fonction, et ce de manière automatique.

C’est bien souvent le cas lors d’expression régulière ou encore lors d’une session php passant par ses propres fonctions (via session_set_save_handler() )!

Les fonctions de callback peuvent être rpésente sous différentes forme :

  • Fonction de PHP
  • Fonction que vous avez définie
  • Méthode static
  • Méthode non-static

Dans le cas de fonctions, il suffit de mettre le nom de la fonction entre guillemet.

Mais dans le cas de méthode, il vous faut utiliser un array

Pour les méthodes static, ce sera : array('NOMDELACLASS', 'NOMDELAMETHODE')

Pour les méthodes non-static, ce sera : array(INSTANCEDELACLASS, 'NOMDELAMETHODE')

Exemple :

 class maClass {     static function toto()     {         echo 'on a appellé toto';     }     public function totor()     {         echo 'on a appellé totor';     } } //cas static call_user_func(array('maClass', 'toto')); //on a appellé toto //cas non-static $maClass = new maClass(); call_user_func(array($maClass, 'totor')); //on a appellé totor 

J’espère que ce petit truc vous sera utile.

Fire Soft Board v2 RC5 presque disponible!

Fire Soft Board ou FSB sortira prochainement la rc5 de sa version 2

FSB est un forum, un forum qui a au moins deux choses d’unique :

  • FSBcard : un système de carte de profil, permettant à l’inscription de directement remplir son profil avec ses préférences! (à partir de la rc5)
  • Procédure modérative : des mini scripts permettant d’effectuer plusieurs action de modérations l’une à la suite de l’autre

En dehors de cela FSB est un forum utilisant des technologies moderne: AJAX, PHP5, POO, XHTML, CSS, … mysql, postgresql, et autre et respectant les standards!

De plus, d’ici la version 2.0.0 un sdk externe devrait sortir, afin de fournir diverse méthode pour interconnecter un site et son forum.

Il est l’un des forum les mieux conçu tant du point de vue code que ergonomique, que je connaissent.

Le site : http://www.fire-soft-board.com

sun solaris 10 : cd commander et livrer

Après avoir commander le système sur le site de sun, me voila avec 3 DVD : cd solaris

Plusieurs langue sont disponibles :

  • English
  • Deutch
  • Español
  • Français
  • Italiano
  • Svenska
  • Mandarin
  • Japonais

Plusieurs format de processeurs :

  • X64
  • X86
  • sparc

De plus un DVD pour les développeurs est là :

  • Sun Studio 11
  • Sun Java Studio Creator 2, update 1
  • Sun java Studio Entreprise 8
  • NeBeans 5.0

Je testerait prochainement et vous ferait quelques capture d’écran.

Pour ceux que cela intéresse, la commande et l’envoi on durée moins de une semaine!

ZF : comprendre le fonctionnement des urls

Url de ZF et distribution des rôles aux contrôleurs

Avec Zend Framework, de base le système mis en place par le contrôleur est celui-ci :

url module contrôlleur action paramètre
http://exemple.test/ default index index
http://exemple.test/news default news index
http://exemple.test/news/ajouter default news ajouter
http://exemple.test/news/modifier/id/5 default news modifier id=5
http://exemple.test/news/modifier/?id=5 default news modifier id=5

Avec des modules perso

Maintenant ajoutons la gestion des modules news et livredor:

 $ctrl->setControllerDirectory(     array(         'news'    => '/module/news/controllers',         'livredor'    => '/livredor/ctrl'     ) ); 
url module contrôlleur action paramètre
http://exemple.test/ default index index
http://exemple.test/news news index index
http://exemple.test/news/ajouter news ajouter index
http://exemple.test/news/modifier/id/5 news modifier id
http://exemple.test/news/modifier/?id=5 news modifier index id=5

Comprendre le Zend_Controller_Router_Route

ce que l’on vient de voir s’explique par ceci :

 $route = new Zend_Controller_Router_Route(     ':module/:controller/:action/*',     array('module' => 'default') ); $router->addRoute('default', $route); 

Ce qui correspond à l’option par défaut. De plus, ceci nous montre un exemple de paramètre par défaut, en effet à module, on attribue la valeur default.

Allons plus loin et créer nos propres routes!

Route personnalisée

imagions un espace membre, on désire afficher chaque profile. On pourrait imaginer quelque chose du genre : http://exemple.test/profil/voir/id/5 ou encore http://exemple.test/profil/voir/membre/grummfy afin d’avoir le contrôleur profil et et l’action voir. Cependant ce n’est ni joli, ni pratique. Utilisons donc le Zend_Controller_Router_Route

 $route = new Zend_Controller_Router_Route(     'profiledemembre/:username/*',     array(         'controller' => 'profil',         'action'     => 'voir'     ) ); $router->addRoute('myProfileRoute', $route); 

Ce qu’on fait pour les url du type http://exemple.test/profiledemembre/grummfy, on assigne les valeurs suivantes :

 * controller = profil  * action = voir  * username = grummfy, ceci via les :  * et on garde la possibilité d'avoir des paramètres avec *

Dans le contrôleur profil, on fera ceci :

 <?php public function voirAction() {     $request = $this->getRequest();     $username = $request->getParam('username');     // ou     $username = $this->_getParam('username'); } 

Aller plus loin

Le manuel de Zend vous enseignera comment faire des url avec expression régulière ou encore des rotue static, et bien plus! Mais aussi cette autre page : http://framework.zend.com/manual/fr…