Page 1 sur 1

Un require ou include dans une class?

Posté : 08 juin 2006, 16:09
par LOUIJI
Bonjour,

Je pratique php que depuis peu de temps, et je commence a avoir certaine de mes class un peu longue de plus je dois utiliser certaines fonction dans differente class. j'essaie donc un code type:
<?php
require_once("RessourceInterface_class.php");
require_once("RessourceFichiers_class.php");
require_once(dirname(__FILE__)."/../config/mysql_cfg.php");


class Ressource implements RessourceInterface
{
    var $idConnexion;

    public function connexion()
      {
      require(dirname(__FILE__)."/../fonctions/connexion.php");   
      }    
   
    public function deconnexion()
      {
      }

    public function reset()
      {
      require(dirname(__FILE__)."/../fonctions/resetintervenants.php");      
      require(dirname(__FILE__)."/../fonctions/resetinterventions.php");
      require(dirname(__FILE__)."/../fonctions/resetclients.php");  
      }   
etc...

cependant, depuis que ce son des require le code ne fonctionne plus?

Pourquoi??

Posté : 09 juin 2006, 11:25
par Vaedan
Ta classe ton figurer dans un seul fichier :)
Oublie donc require et include

Posté : 09 juin 2006, 11:36
par zeus
Tu ne peut pas faire ça

Tu es obligé de mettre l'intégralité d'une classe dans un seul fichier.

De plus, le taille du code n'influence pas forcément sur la clareté.

Si tes fonctions sont trop longues, tu peut les découper en sous fonctions mais tu ne peut les exporter de cette manière :?

Pourquoi cela fonctionne partiellement alors?

Posté : 10 juin 2006, 07:25
par LOUIJI
la fonction de connexion fonctionne parfaitement avec require...
seul une fonction qui execute une requete sur une base mysql ne fonctionne plus??
Le fait qu'une class soit dans un seul fichier est obligatoire et incontournable?
je pose cette question parceque en faite il y a des portion de code que je pourrai utiliser d'une class a l'autre?

MERCI pour vos réponses

Posté : 10 juin 2006, 07:29
par LOUIJI
Comment je pourrai les découper en sous fonctions?

Posté : 10 juin 2006, 08:07
par Cyrano
Pose toi la question autrement: tu as certaines fonctions qui sont relativement génériques que tu pourrais raprendre dans d'autres classes : dans ce cas, pourquoi ne pas revoir la structure et créer une classe de base et des classes étendues ?
- 1 classe abc
- x classes xyz extends abc
:-k

Posté : 11 juin 2006, 10:52
par LOUIJI
tu pourrais me donner un exemple

Posté : 11 juin 2006, 10:54
par Cyrano
Est-ce que tu comprends la notion d'héritage en Programmation Orientée Objet ? Sinon, mes explications ne serviront pas à grand chose...

Posté : 11 juin 2006, 11:00
par LOUIJI
oui plus ou moins, je suis un debutant, il y a peu être des choses qui reste un peu vague pour moi.

Posté : 11 juin 2006, 11:08
par Cyrano
Ok, donc tu dois savoir qu'une classe étendue hérite des méthodes de la classe mère : ça veut dire que dans la classe mère, tu auras toutes les fonctions génériques dont tu veux pouvoir te servir partout et pour certaines pages spécifiques, tu peux avoir besoin d'autres méthodes en plus. Donc tu crée une classe "fille" qui étend la classe mère et dans laquelle tu auras les méthodes spécifiques pour ta page. En créant une instance de la classe fille, tu disposeras des méthodes de cette classe mais également de toutes les méthodes et propriétés de la classe mère. Jette un coup d'oeil dans la doc sur ce sujet