smarty.class.php non trouvé

Répondre
Isaac
le 05/02/2005 à 19:05
Isaac
Voilà, j'ai réussi à 'installer' Smarty.
Voici le script avec lequel j'ai un problème :
<?php
define(SMARTY_DIR, 'http://127.0.0.1/cours/');
require 'http://127.0.0.1/smarty/libs/smarty.class.php';

$include_path = ini_set('include_path', '.;M:\_web.zmwsc\smarty');
If ($include_path) echo '<p>Ok !</p>';

Class Index extends Smarty { // ligne 8
Function __construct () {
$this -> template_dir = SMARTY_DIR.'template/';
$this -> compile_dir = SMARTY_DIR.'template_c/';
$this -> config_dir = SMARTY_DIR.'configs/';
$this -> cache_dir = SMARTY_DIR.'cache/';

$this -> caching = True;
$this -> assign('app_name', 'Index');
}
}

$index = new Index();
$index -> assign('name', 'Isaac');
$index -> display('index.tpl');
?>


Voici ce que j'obtiens quand je le visualise :
Ok !

Fatal error: Class 'Smarty' not found in M:\_web.zmwsc\cours\index.php on line 8


J'en conclut, par le 'Ok !' que c'est la classe qui pose problème. Mais quoi ?

Merci d'avance, ++
http://www.zmws.com
LA GLOBULE
le 05/02/2005 à 23:56
LA GLOBULE
Class 'Smarty' not found

il ne trouve pas la classe Smarty :)
Elle ne doit pas etre include avant ta déclaration de la classe Index.
Isaac
le 06/02/2005 à 16:03
Isaac
Je suis peut-être nul en anglais, mais j'avais compris... ! L'unique classe contenue dans le smarty.class.php est la classe Smarty. Va voir par toi même...
Je vais encore chercher.

++
http://www.zmws.com
bibi
le 06/02/2005 à 18:27
bibi
LA GLOBULE te dit que tu dois faire require('smarty.class.php');
au début de ton script pour enlever ton probleme :)
commit suicide
Isaac
le 06/02/2005 à 18:49
Isaac
Bissoir !

Le problème ne "s'enlève" pas comme ça apparemment ... J'ai mis le chemin M:\_web.zmwsc\smarty pour rajouter Smarty dans include_path, mais est-ce ça suffit de mettre le chemmin ? ça m'a l'air un peu zarbi...
Smarty.class.php se trouve dans M:\_web.zmwsc\smarty\libs\. Or, un exemple est donné ; il se trouve dans M:\_web.zmwsc\smarty\demo\. En voici une partie :
<?php
require '../libs/Smarty.class.php';

$smarty = new Smarty;

//blabla que je vous épargne ...
?>


On voit bien que le chemin n'est pas Smarty.class.php et qu'il existe une classe Smarty.

J'en déduis que c'est include_path qui ne va pas ... smiley

Bon, ++ smiley
http://www.zmws.com
Isaac
le 07/02/2005 à 14:27
Isaac
Salut !

Mes problèmes avec Smarty se réduisent. Je n'ai plus qu'un seul messafe d'erreur ! smiley

Le voilà :
Parse error: syntax error, unexpected T_STRING in M:\_web.zmwsc\cours\smarty.php on line 3


Mais je comprends pas l'ereur ... smiley

Merci, ++ smiley
http://www.zmws.com
Isaac
le 07/02/2005 à 14:41
Isaac
Apparemment, il y a un petit problème d'affichage (en tout cas chez moi ...)

le caractère qui pose problème est le backslash \
http://www.zmws.com
bibi
le 07/02/2005 à 17:47
bibi
echape le en mettant un \ devant peut-etre
commit suicide
Isaac
le 07/02/2005 à 18:32
Isaac
Wiwi, c'est réglé, de ce oté là.
L'erreur que j'ai, maintenant, pour changer, c'est :

Warning: Smarty::fetch(M:\_web.zmwsc\cours\..\..\smarty\internals\core.read_cache_file.php) [function.fetch]: failed to open stream: No such file or directory in M:\smarty\libs\smarty.class.php on line 1167

Fatal error: Smarty::fetch() [function.require]: Failed opening required 'M:\_web.zmwsc\cours\..\..\smarty\internals\core.read_cache_file.php' (include_path='.;M:\PEAR\;M:\smarty\') in M:\smarty\libs\smarty.class.php on line 1167


Et mon fichier 'réparé' :
<?php
define(SMARTY_DIR, dirname(__FILE__).'\\..\\..\\smarty\\');
require SMARTY_DIR.'libs\\smarty.class.php';

Class Index extends Smarty {
Function __construct () {
$this -> template_dir = 'template\\';
$this -> compile_dir = 'template_c\\';
$this -> config_dir = 'configs\\';
$this -> cache_dir = 'cache\\';

$this -> assign('app_name', 'Smarty');
$this -> caching = True;
}
}

$Smarty = new Index;
$Smarty -> assign('name', 'Isaac');
$Smarty -> display('name.tpl');
?>


Voili, vloilà, ++ smiley
http://www.zmws.com
moogli
le 07/02/2005 à 18:39
moogli
SAlut,

j'ai pas tout suivis, mais sa

M:\_web.zmwsc\cours\..\..\smarty\internals\core.read_cache_file.php


sa me fait peur :)
je pense que si tu veut utiliser une syntaxe ../ il va te falloir enlever le path de base! car c normale que tu est une erreur !


smiley
Il en faut peu pour être heureux !!!!!
Répondre
LoadingChargement en cours