A bookmarker
Posted by rami on 10/05/2008 at 20:49
Filed Under: PHP
Un excellent blog d'un développeur ASP.net, Maarten Balliauw, qui maîtrise aussi PHP.
Ces 2 articles notamment valent un coup d'oeil:
- Reuse Excel business logic with PHPExcel : où comment intégrer la logique métier de classeurs Excel dans un environnement Web. Cela peut s'avérer extrêment pratique dans le cadre d'un intranet.
- Generic arrays in PHP : pour les développeurs Javaiste qui n'aiment pas utiliser des tableaux d'objets en PHP
. Maarten Balliauw explique comment disposer de collections typées en PHP.
Continue reading "A bookmarker"
Outils de debug AJAX
Posted by rami on 10/05/2008 at 19:48
Filed Under: PHP, Web UI
Etant relativement novice en développement AJAX, je viens de reprendre un projet développé à partir de ActiveWidgets que je dois adapter.
Il est assez

Il est alors possible de faire un dump dans un nouvel onglet Server à partir d'une simple ligne de code php
<?php
fb(array('key1'=>'val1',
'key2'=>array(array('v1','v2'),'v3')),
'TestArray',FirePHP::LOG);
?>
Continue reading "Outils de debug AJAX"
PHP_UML : Reverse engineering
Posted by rami on 10/05/2008 at 19:12
Filed Under: PHP
J'utilise habituellement StarUML comme outil de modélisation car il convient à la plupart de mes besoins. Il n'est cependant pas possible de faire de reverse engineering depuis PHP. Mais ô miracle du web, j'ai trouvé PHP_UML, un outil PHP qui comble ce manque :
PHP_UML is a reverse-engineering tool, as well a metamodel-driven application.
Practically, with PHP_UML, you can feed a modeling design tool, like Rational Rose or Argouml, with an UML representation of existing PHP source code. This way you get an immediate overview of an application, with all the usual functions of a software design tool, like class diagrams exportation, refactoring of object-oriented applications, or automatic code generation.
Continue reading "PHP_UML : Reverse engineering"
Eclipse PHP Class Generator: Générez vos classes PHP
Posted by rami on 04/05/2008 at 23:33
Filed Under: PHP, Eclipse
Après avoir installé un plugin (qui s'intègre à PDT), il suffit d'un fichier template pour générer vos classes. Là où ce générateur devient intéressant, est qu'il est possible de définir des méthodes qui permettent de charger les données, faire ses DAO. Bref, un gain de temps non négligeable puisqu'une fois votre base de données créer, il suffit de créer un template et hop, vous générez vos nombreuses classes!
A la fin de l'article, vous trouverez les liens pour installer le plugin PHP Class Generator ainsi qu'un certains nombres de ressources utiles.
Continue reading "Eclipse PHP Class Generator: Générez vos classes PHP"
Bookmark Java
Posted by rami on 04/05/2008 at 00:10
Filed Under: Java
- SwingWiki
- le blog de Santosh Kumar's avec un excellent article sur comment implémenter les actions Undo / redo dans une application Swing
Continue reading "Bookmark Java"
PHP5 : Filtrer avec style grâce aux itérateurs
Posted by rami on 03/05/2008 at 23:54
Filed Under: PHP
Ayant un peu galérer pour trouver comment faire une recherche récursive en utilisant les itérateurs fournies par la SPL, voici ma solution. Je ne garantis pas que ce soit la bonne manière, mais elle ne me semble pas particulièrement mauvaise.
Le code PHP du filtre :
<?php
class PatternsSearchIterator extends FilterIterator{
private $extension;
public function __construct(Iterator $iterator, $extension){
parent::__construct($iterator);
$this->extension = $extension;
}
public function accept(){
return ( stripos( $this->current(), $this->extension) !== false );
}
}
?>
Et un exemple d'utilisation qui recherche tous les fichiers XML d'un répertoire :
<?php
$extension = '.xml';
$dir = '/path/to/search';
$directory = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator(
$dir,
RecursiveDirectoryIterator::KEY_AS_FILENAME
)
);
$xmlFiles = new PatternsSearchIterator ($directory, $extension);
foreach($xmlFiles as $xml){
echo "$xml<br />";
}
?>
Continue reading "PHP5 : Filtrer avec style grâce aux itérateurs"
OpenLaszlo
Posted by rami on 03/05/2008 at 23:12
Filed Under: Web UI
OpenLaszlo est une plateforme de développement d'applications RIA. Elle permet de créer des applications au format Flash ou DHTML très rapidemment à partir d'un mélange d'XML et de Javascript. Cette plateforme permet notamment de répliquer les composants à partir d'une source de données XML. Allez voir les démos pour vous donner un aperçu des composants disponibles par défaut.
Il devient facile de générer des interfaces riches, avec des animations sympas, et plutôt user friendly.
Continue reading "OpenLaszlo"
hbm2php : Générez vos classes PHP à partir d'Hibernate
Posted by rami on 02/05/2008 at 23:36
Filed Under: PHP
Hibernate est une API Java implémentant JPA(Java Persistance API). Elle est très utilisée au sein de la communauté Java afin de persister en base de données ses objets. Travaillant dans une architecture où Java et PHP sont mélés, j'ai développé un script PHP qui permet de générer des classes PHP à partir des fichiers de mapping Hibernate.
Je me dis que ça pourrait peut-être être intéresser quelqu'un, donc voici les sources : hbm2php.zip
Le principe est d'analyser un répertoire à la recherche de fichiers de mapping(*.hbm.xml) et de générer toutes les classes PHP définies dans les fichiers. Un template de classe est utilisé contenant certains mots clés qui sont remplacés automatiquement. Le code est développé en PHP5, en objet et est donc facilement extensible.
Continue reading "hbm2php : Générez vos classes PHP à partir d'Hibernate"
PHP5 et auto chargement de classes
Posted by rami on 20/01/2007 at 12:55
Filed Under: PHP
La fonction "magique"__autoload() est arrivée avec PHP5 et permet comme vous le savez certainement d'inclure automatiquement les classes utilisées sans avoir à faire des include() ou require() à chaque utilisation. L'utilisation la plus basique est :
<?php
function __autoload($classname) {
require $classname . '.php';
}
?>
A chaque fois qu'on utilise une classe non encore définie, PHP recherche si la fonction __autoload() est implémentée, et si c'est le cas exécute cette fonction (en gros). Il est donc possible de faire tout un tas de choses dans cette fonction. J'ai déjà vu des implémentations qui scannaient tous les répertoires des librairies afin d'inclure la définition. Je n'imagine pas l'impact au niveau des performances de l'application.
Mais dès que l'on utilise plusieurs librairies, on comprend pourquoi l'utilisation de cette fonction peut vite devenir complexe.
Continue reading "PHP5 et auto chargement de classes"
XML/SWF Charts, graphiques dynamiques en Flash
Posted by rami on 17/01/2007 at 14:02
Filed Under: PHP
De retour de vacances, voici un rapide billet sur l'utilisation de XML/SWF Charts. Je l'avais testé il y a longtemps pour le boulot. Il s'agit d'un ensemble de fichiers flashs compilés qui peuvent se nourrir de données XML externes. Ainsi, avec un simple script PHP, il est possible de "dynamiser" le graphique très facilement.
Continue reading "XML/SWF Charts, graphiques dynamiques en Flash"
Zend Framework et Active Record
Posted by rami on 09/09/2006 at 12:27
Filed Under: PHP
Le framework de Zend propose un mécanisme d'accès aux données très pratique, basé sur Zend_Db_Table. Il permet de faire des CRUD rapidement en héritant de Zend_Db_Table. Cependant, il faut triturer un peu les données en entrées pour que cela se fasse naturellement en objet. Voici le résultat de mes expérimentations pour rendre la persistance des objets plus conviviales au sein du framework Zend.
Continue reading "Zend Framework et Active Record"
Debugger avec le plugin Zend d'Eclipse
Posted by rami on 16/08/2006 at 21:22
Filed Under: PHP, Eclipse
Suite au billet précédent sur le plugin Zend et les interrogations de nicot, voici comment faire pour debugger sous Eclipse avec le plugin Zend.
Continue reading "Debugger avec le plugin Zend d'Eclipse"
Akismet
Posted by rami on 02/08/2006 at 22:25
Filed Under: Perso
Le blog vient de subir pas mal de spams ces derniers jours. J'ai donc souscrit aux services que fournit Akismet.
A la base développé pour wordpress, ce web service permet de valider un commentaire. Il repose sur le principe de l'expérience. A chaque nouveau type de message de spam, la base s'enrichit et permet donc un résultat plus pertinent à la prochaine recherche.
Il est à noter que ce service est implémenté par défaut dans serendipity et qu'il suffit d'obtenir une clé pour accéder à l'API d'Akismet (clé fournie gratuitement).
Verdict dans quelques jours!
Continue reading "Akismet"
Patterns for PHP
Posted by rami on 19/07/2006 at 20:53
Filed Under: Liens
Un article vient de paraître sur IBM traitant de 5 design patterns courants dans les applications web.
Et biensûr le connu et reconnu phppatterns.com
Continue reading "Patterns for PHP"
Installation du plugin PHP de Zend (Zend PHP IDE)
Posted by rami on 08/07/2006 at 00:38
Filed Under: PHP, Eclipse
Voici un petit tutorial sur l'installation du plugin PHP de Zend en version 0.1.7 à partir d'Eclipse 3.2. Je propose l'installation classique (en mode non geek
).
Pour les fainéants, vous pouvez directement télécharge le pack complet, comprenant Eclipse, les plugins JDT, EMF, GEF, GEM, Webtools, le plugin PHP ainsi que le debuggeur de Zend ici.
Continue reading "Installation du plugin PHP de Zend (Zend PHP IDE)"


