[codage]Un zeste d'objet

Problèmes, bugs et difficultés rencontrés sur le site.
Avatar du membre
Dominique
Messages : 3704
Enregistré le : 08 avr. 2006, 21:58

[codage]Un zeste d'objet

Message par Dominique »

Ça fait un moment que ça me démange, j'ai trouvé l'occasion d'avancer un peu

J'ai mis dans config.php une déclaration permettant l'auto inclusion des fichiers de déclaration de classes:
spl_autoload_register(function ($class) {
if (preg_match ('/([A-Z][a-z]+)(.*)/', $class, $c))
require_once '../'.strtolower($c[1]).'s/'.$c[2].'.php';
else
require_once '../includes/'.$class.'.php';
});


Ces fichiers doivent avoir un des chemin/nom suivant:
- les classes ModeleClasse sont déclarées dans /modeles/Classe.php
- les classes ControleurClasse sont déclarése dans /controleurs/Classe.php
- les autres classes Classe sont déclarées dans /includes/Classe.php

Pour exemple, j'ai renommé le fichier fonctions_zip.php (qui contient la déclaration de classe zipfile) en class zipfile.php
Lors de l'appel de new zipfile (); l'include est automatiquement chargé
Application dans /modeles/fonctions_exportations.php
malgré que //require_once ("fonctions_zip.php"); soit commenté, la classe est bien reconnue par l'instruction $zip = new zipfile();

Je ne sais pas si ça servira plus que ça, mais le mécanisme de déclaration de classes est en place

Pour avis et plus si affinité
(Dispo dans GIS dev)
Avatar du membre
sly
Messages : 5041
Enregistré le : 29 févr. 2004, 17:59
Localisation : Chambéry - Savoie

Message par sly »

ça me va ainsi.

Tant qu'on ne "force pas les choses" à séparer toutes nos fonctions actuelles dans chacune un fichier (du moins tant que j'ai pas compris ce que nous apportait)