Page 1 sur 1

Constante de repertoire

Posté : 21 juin 2010, 12:54
par jesuscontent
Bonjour,

Je m'entraîne en PHP orienté objet et j'ai essayé de recourir à cette technique qui permet apparemment de regrouper les require dans un fichier, pour mieux ranger le code...

Voici le fichier que j'ai
<?php

defined('DS') ? null : define('DS', DIRECTORY_SEPARATOR);

defined('SITE_ROOT') ? null :
	define('SITE_ROOT', DS.'C'.DS.'wamp'.DS.'www'.DS.'galerie_photo');
	
defined('LIB_PATH') ? null : define('LIB_PATH', SITE_ROOT.DS.'includes');

require_once(LIB_PATH.DS.'config.php');

require_once(LIB_PATH.DS.'fonctions.php');

require_once(LIB_PATH.DS.'session.php');
require_once(LIB_PATH.DS.'database.php');

require_once(LIB_PATH.DS.'user.php');

?>
Et ça c'est les erreurs:


Notice: Use of undefined constant LIB_PATH - assumed 'LIB_PATH' in C:\wamp\www\galerie_photo\includes\database.php on line 2

Notice: Use of undefined constant DS - assumed 'DS' in C:\wamp\www\galerie_photo\includes\database.php on line 2

Warning: require_once(LIB_PATHDSconfig.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\galerie_photo\includes\database.php on line 2

Fatal error: require_once() [function.require]: Failed opening required 'LIB_PATHDSconfig.php' (include_path='.;C:\php5\pear') in C:\wamp\www\galerie_photo\includes\database.php on line 2

La ligne 2:
require_once(LIB_PATH.DS."config.php");
Et le fichier config.php:
<?php

//Constantes de la base de donnée
defined('DB_SERVER') ? null : define("DB_SERVER", "localhost");
defined('DB_USER') ? null : define("DB_USER", "root");
defined('DB_PASS') ? null : define("DB_PASS", "");
defined('DB_NAME') ? null : define("DB_NAME", "galerie_photo");

?>
Qu'est ce que j'ai mal fait?

Merci.

Re: Constante de repertoire

Posté : 21 juin 2010, 13:18
par stealth35
t'as pas besoin de faire un 2eme require_once dans ton fichier database.php :wink:

Re: Constante de repertoire

Posté : 22 juin 2010, 14:30
par jesuscontent
Le hic c'est que dans database.php:
<?php
require_once(LIB_PATH.DS."config.php");

class MySQLDatabase etc
Il n'y a qu'un require_once!

Re: Constante de repertoire

Posté : 22 juin 2010, 14:34
par stealth35
non 2, puisque dans ton premier fichier tu inclus déjà config.php

Re: Constante de repertoire

Posté : 22 juin 2010, 21:00
par jesuscontent
Bonsoir,

Je suis peut être laborieux mais, je ne comprends pas.

Re: Constante de repertoire

Posté : 22 juin 2010, 21:30
par stealth35
si t'enleves ton require_once ca marche ?

Re: Constante de repertoire

Posté : 23 juin 2010, 13:31
par jesuscontent
Bonjour,

non, ça ne fonctionne pas, et moins trivialement le tutoriel vidéo duquel je fais les exercices fonctionne sans problème avec ce que j'ai rédigé. Le doute que j'ai réside dans la ligne
defined('SITE_ROOT') ? null :
        define('SITE_ROOT', DS.'C'.DS.'wamp'.DS.'www'.DS.'galerie_photo');
N'étant pas expert, il est possible que j'ai mal défini les répertoires ou autre, le repertoire est C:\wamp\www\galerie_photo, peut être une histoire de point virgule?

Re: Constante de repertoire

Posté : 23 juin 2010, 13:34
par stealth35
normalement t'as pas besoin de mettre les path en absolu, essaye sans les constantes pour voir si ca marche

Re: Constante de repertoire

Posté : 24 juin 2010, 10:48
par jesuscontent
Bonjour,

Sans les constantes ça marche, mais je veux apprendre à m'en servir et savoir pourquoi là ça déconne.
Quelqu'un d'autre aurait des suggestions?

Re: Constante de repertoire

Posté : 24 juin 2010, 11:09
par stealth35
deja c'est bizarre tes path sont de la forme
\C\wamp\www\galerie_photo\includes

et ca, ca marche pas
c'est

C:\wamp\www\galerie_photo\includes


t'es bien error_reporting = E_ALL | E_STRICT ?