par
zorglub » 08 avr. 2010, 18:41
Bonjour,
Un framework (ossature une fois traduit) est un ensemble d'éléments qui permettent de développer rapidement une application, en y intégrant directement un certain nombre de mécanismes facilitant le développement et la maintenance :
- la sécurité (identification, gestion des droits, suppression des trous de sécurité classiques...)
- l'accès aux bases de données : quoi de plus pénible de devoir se palucher à la main les requêtes insert, update, alors que des outils permettent de les générer automatiquement ?
- la présentation des informations, au moyen de l'utilisation de gabarits (templates en anglais)
- ...
Les frameworks sont basés aujourd'hui sur le concept MVC, qui permet de séparer d'une part la logique applicative (le traitement des pages, les classes métiers...), la présentation (les gabarits d'affichage) et l'enchaînement des pages (identification, vérification des droits d'accès, exécution et chaînage des différents modules).
Les frameworks professionnels, comme symphony ou Zend framework, sont souvent complexes à mettre en place, en raison d'une phase d'apprentissage très forte ; c'est pourquoi ils sont surtout utilisés au sein d'équipes qui passent leur temps à développer. Il est relativement aisé de se fabriquer son propre framework (j'ai créé prototypephp, téléchargeable sur sourceforge), qui va assembler les différentes briques que l'on veut utiliser. Ainsi, prototpypephp intègre notamment ADODB et OBJETBDD pour l'accès aux données, SMARTY pour les gabarits, PHPGACL pour la gestion des droits, le tout organisé autour d'une page index.php qui gère l'enchaînement des pages (déclaration dans un fichier xml) : je gagne un temps fou lorsque j'ai besoin de développer une application professionnelle au sein de mon entreprise, mais il est vrai que comme c'est moi qui l'ait conçu, je sais comment il fonctionne...
Un des aspects intéressants de PHP, c'est sa capacité à intégrer aussi bien du langage de script que de la programmation objet. Souvent, les frameworks professionnels ne conservent que les aspects objet. Si cela présente de nombreux avantages, dans un certain nombre de cas, cela complexifie pas mal le développement, et n'est pas toujours un gage d'efficacité (une application procédurale sera toujours plus rapide lors de l'exécution qu'une application objet - je ne parle pas de la vitesse de développement).
Si ces aspects vous intéressent, je peux vous conseiller un ouvrage récent : "PHP : de l'analyse au développement d'une application professionnelle" (éditions ENI), qui traite de ces sujets.
Bonjour,
Un framework (ossature une fois traduit) est un ensemble d'éléments qui permettent de développer rapidement une application, en y intégrant directement un certain nombre de mécanismes facilitant le développement et la maintenance :
- la sécurité (identification, gestion des droits, suppression des trous de sécurité classiques...)
- l'accès aux bases de données : quoi de plus pénible de devoir se palucher à la main les requêtes insert, update, alors que des outils permettent de les générer automatiquement ?
- la présentation des informations, au moyen de l'utilisation de gabarits (templates en anglais)
- ...
Les frameworks sont basés aujourd'hui sur le concept MVC, qui permet de séparer d'une part la logique applicative (le traitement des pages, les classes métiers...), la présentation (les gabarits d'affichage) et l'enchaînement des pages (identification, vérification des droits d'accès, exécution et chaînage des différents modules).
Les frameworks professionnels, comme symphony ou Zend framework, sont souvent complexes à mettre en place, en raison d'une phase d'apprentissage très forte ; c'est pourquoi ils sont surtout utilisés au sein d'équipes qui passent leur temps à développer. Il est relativement aisé de se fabriquer son propre framework (j'ai créé prototypephp, téléchargeable sur sourceforge), qui va assembler les différentes briques que l'on veut utiliser. Ainsi, prototpypephp intègre notamment ADODB et OBJETBDD pour l'accès aux données, SMARTY pour les gabarits, PHPGACL pour la gestion des droits, le tout organisé autour d'une page index.php qui gère l'enchaînement des pages (déclaration dans un fichier xml) : je gagne un temps fou lorsque j'ai besoin de développer une application professionnelle au sein de mon entreprise, mais il est vrai que comme c'est moi qui l'ait conçu, je sais comment il fonctionne...
Un des aspects intéressants de PHP, c'est sa capacité à intégrer aussi bien du langage de script que de la programmation objet. Souvent, les frameworks professionnels ne conservent que les aspects objet. Si cela présente de nombreux avantages, dans un certain nombre de cas, cela complexifie pas mal le développement, et n'est pas toujours un gage d'efficacité (une application procédurale sera toujours plus rapide lors de l'exécution qu'une application objet - je ne parle pas de la vitesse de développement).
Si ces aspects vous intéressent, je peux vous conseiller un ouvrage récent : "PHP : de l'analyse au développement d'une application professionnelle" (éditions ENI), qui traite de ces sujets.