Différences entre versions de « PHP »

De Cliss XXI
Sauter à la navigation Sauter à la recherche
Ligne 46 : Ligne 46 :
 
* [http://pear.php.net/package/DB_DataObject DB_DataObject]: fichier de description .ini; liens entre classes; à essayer; licence PHP
 
* [http://pear.php.net/package/DB_DataObject DB_DataObject]: fichier de description .ini; liens entre classes; à essayer; licence PHP
 
* [http://www.ezpdo.net EZPDO]: description inclue dans des tags @orm style javadoc; validation via des 'Events'/hooks, aucune validation par défaut ''a priori''; mBSD
 
* [http://www.ezpdo.net EZPDO]: description inclue dans des tags @orm style javadoc; validation via des 'Events'/hooks, aucune validation par défaut ''a priori''; mBSD
* [http://cakephp.org/ CakePHP]: framework style Ruby on Rails, inclut in ORM
+
* [http://cakephp.org/ CakePHP]: framework style Ruby on Rails, inclut un ORM; la [http://manual.cakephp.org/chapter/validation validation], à base de regexp, fait partie du framework et en est vraisemblablement indissociable.
 
* [http://www.phpdoctrine.com/ Doctrine]: ça a l'air très propre
 
* [http://www.phpdoctrine.com/ Doctrine]: ça a l'air très propre
 
* [http://www.meta-language.net/metastorage.html MetaL Metastrorage]: beaucoup de XML
 
* [http://www.meta-language.net/metastorage.html MetaL Metastrorage]: beaucoup de XML
 
* [http://phplens.com/lens/adodb/docs-active-record.htm ADOdb Active Record]: un ORM qui fait partie d'ADOdb, à voir
 
* [http://phplens.com/lens/adodb/docs-active-record.htm ADOdb Active Record]: un ORM qui fait partie d'ADOdb, à voir
 
* d'autres listés sur [http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software#PHP Wikipedia].
 
* d'autres listés sur [http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software#PHP Wikipedia].

Version du 9 décembre 2006 à 18:47

Dernières versions de la documentation officielle de PHP, avant qu'elle ne devienne non-libre:

Dernière version libre de la documentation PHP

Précisons que l'Open Publication License (OPL) est une licence libre uniquement si aucune option n'est utilisée (notamment, l'interdiction des travaux dérivés sans consentement des détenteurs des droits).

La dernière version date de 2003.

Avec cvs2cl --utc, j'obtiens le ChangeLog suivant:

2003-05-02 14:12  goba

        * en/bookinfo.xml: And now: upgrading to the new license

La dernière version libre est donc:

cvs -d :pserver:cvsread@cvs.php.net:/repository login # pass: phpfi
cvs -d :pserver:cvsread@cvs.php.net:/repository checkout -D "2003-05-02 14:12:58Z" phpdocs

Débogage PHP


Tests unitaires avec PHP

  • SimpleTest
  • PHPUnit
  • phpt (tutorial, apparement l'outil est intégré à pear?) - apparemment plus simple/rapide

Voir également WWW::Mechanize (Mech) pour tester le programme de manière externe par son interface web (en Perl). Pour une solution en PHP, voir éventuellement la bibliothèque curl, qui ne sait cependant pas analyser le HTML reçu.

Abstraction de la base de données

  • MDB2: successeur de PEAR::DB, licence mBSD
  • Creole: PHP5 seulement; licence LGPL
  • AdoDB: utilisé par TikiWiki, Xaraya, eGroupWare; license mBSD

Simplification de l'accès à la base

Dépend d'une des abstraction ci-dessus. Mots-clefs à chercher: ORM (Object Relational Mapping)

  • DB_Table: non-object, intégration avec QuickForm et validation des update/insert, description via une classe et des tableaux ($cols, $idx, $sql...); utilise PEAR::DB (licence PHP); LGPL
  • Propel: description en XML (lourd?), relations inter-classes, relations N-M possibles mais pas encore propres; possibilité d'utiliser directement SQL si besoin; validation décrite en XML (lourd); utilise Creole
  • DB_DataContainer: mapping objet simpliste, pas de relation inter-tables; description via la classe PHP; nécessite un champ 'id'.
  • DB_DataObject: fichier de description .ini; liens entre classes; à essayer; licence PHP
  • EZPDO: description inclue dans des tags @orm style javadoc; validation via des 'Events'/hooks, aucune validation par défaut a priori; mBSD
  • CakePHP: framework style Ruby on Rails, inclut un ORM; la validation, à base de regexp, fait partie du framework et en est vraisemblablement indissociable.
  • Doctrine: ça a l'air très propre
  • MetaL Metastrorage: beaucoup de XML
  • ADOdb Active Record: un ORM qui fait partie d'ADOdb, à voir
  • d'autres listés sur Wikipedia.