Utiliser des includes dans une classe php

Eléphanteau du PHP | 10 Messages

02 mai 2007, 10:26

Bonjour,

J'ai une classe bdd qui gére la connection à la base de donnée et toutes les requètes.
Avant, j'avais mis toutes les requetes à la suite..
J'ai voulu les séparer en fichiers différents, mais impossible de réussir mes include :shock:

Code : Tout sélectionner

class Bdd { public $connection_id; /** * function databaseConnection */ public function __construct } [...] /*****************************************************/ // Requetes /*****************************************************/ include('tables/table_negociateur.php'); include('tables/table_agence.php'); include('tables/table_bien.php'); include('tables/table_calendrier.php'); include('tables/table_propose.php'); }
unexpected T_INCLUDE, expecting T_FUNCTION in C:\xampplite\htdocs\projet\bdd\Bdd.php
Ce serait impossible ? C'est très génant :/

Merci
Modifié en dernier par Hells_Dark le 02 mai 2007, 15:53, modifié 2 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 mai 2007, 12:38

Ben dans une classe tu peux faire des include, mais pas n'importe où et pas de n'importe quoi :)

Si tes fichiers contiennent des méthodes de ta classe, alors non, tu es obligé d'avoir toute tes déclarations dans le même fichier. Sinon, s'il s'agit de fichiers complémentaires, tu peux faire les includes juste avant ou juste après la déclaration de ta classe, où si tu n'as besoin des fichiers que lorsque la classe est instancié, tu peux aussi les mettres dans ton constructeur. Enfin s'il sont nécessaire à une méthode, tu peux les inclure dans celle-ci...

HTH
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 10 Messages

02 mai 2007, 14:40

Merci pour ta réponse Ryle,

Oui, il s'agissait bien de méthodes (une par requete) :(
C'est génant :?
Ca aurait été bien pratique de pouvoir les diviser en plusieurs dossier tout en utilisant un unique objet pour la base :/

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

02 mai 2007, 15:30

Ce n'est qu'un point de vue subjectif mais, vu les IDE actuels, je ne voit pas l'utilité de séparer une classe dans plusieurs fichiers.

Selon moi, l'un des avantages de l'objet, c'est que tout ce qui concerne un objet se trouve dans un unique fichier.

La plupart des IDE actuels permettent de réduire le code des méthodes et donc réduire la taille du fichier.
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

Eléphanteau du PHP | 10 Messages

02 mai 2007, 15:50

C'est vrai ça.. :oops:
Même pas pensé à "réduire" les méthodes..

ViPHP
ViPHP | 656 Messages

07 mai 2007, 15:20

sinon moi j'utilise require_once.

Par exemple :
class
{
 public function __construct()
 {
  require_once ('une_classes.php');
  $class = new UneClasse();
 }
}
Et dans le fichier une_classe.php j'ai la définition d'une classe entière. Des fois même je mets des variables privée à la classe :

$this->db[] = "...";

Cela marche très bien.