Un require ou include dans une class?

Petit nouveau ! | 5 Messages

08 juin 2006, 16:09

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??

Eléphant du PHP | 493 Messages

09 juin 2006, 11:25

Ta classe ton figurer dans un seul fichier :)
Oublie donc require et include

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

09 juin 2006, 11:36

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 :?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 5 Messages

10 juin 2006, 07:25

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

Petit nouveau ! | 5 Messages

10 juin 2006, 07:29

Comment je pourrai les découper en sous fonctions?

Mammouth du PHP | 19672 Messages

10 juin 2006, 08:07

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
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 5 Messages

11 juin 2006, 10:52

tu pourrais me donner un exemple

Mammouth du PHP | 19672 Messages

11 juin 2006, 10:54

Est-ce que tu comprends la notion d'héritage en Programmation Orientée Objet ? Sinon, mes explications ne serviront pas à grand chose...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 5 Messages

11 juin 2006, 11:00

oui plus ou moins, je suis un debutant, il y a peu être des choses qui reste un peu vague pour moi.

Mammouth du PHP | 19672 Messages

11 juin 2006, 11:08

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
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: