IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] Problème de chargement d'une classe template


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 44
    Points : 31
    Points
    31
    Par défaut [POO] Problème de chargement d'une classe template
    Bonjour,

    Je suis en train de mettre en ligne un site web.
    En local évidemment pas de problème, le site fonctionne très bien avec PHP5.

    Mais ! (il y a toujours un mais...)

    Je suis sur un serveur web qui a une version PHP 4.3.10

    Je n'ai pas d'erreur d'afficher dans mon navigateur, le serveur me renvoie une page VIDE !

    J'ai utilisé un modèle de site web dynamique et je passe par une classe template plus ou moins classique provenant des classes du groupe PHPBB...

    J'ai isolé le malaise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include_once('includes/template.php');
    Après cette instruction le code n'est plus exécuté...

    Mes hypothèses:
    - Si c'était une problème de chemin incorrecte apache me renverrait une erreur sur le include_once... (enfin je pense après avoir déjà eu plusieurs fois le problème...)
    - Je n'utilise pas de variable PHP pour identifier ma position sur l'arborescence du servueur... Ca pourrait venir de là mais encore une foisje pense que j'aurai des erreurs affichées...

    Ma question : Est- ce que c'est parce que j'ai une version de PHP trop ancienne qui ne sait pas utiliser de classe Objet ?

    J'attends vos réponses avec impatience..

    Shensi

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    phpBB est censé fonctionner sur des environnements PHP 4 (et donc 5). Si vous avez des erreurs il faudrait forcer leur affichage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
    Sinon nous donner le code que vous utilisez.

    phpBB 3 n'est guère exigeant :
    PHP 4.3.3 or above with support for the database you intend to use. The optional presence of the following modules within PHP will provide access to additional features, but they are not required.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 44
    Points : 31
    Points
    31
    Par défaut
    Cool ! Déjà j'avais pas tout bien écrit... dans mon fichier de conf

    Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/httpd/vhosts/monsite/httpdocs/top/includes/template.php on line 31
    Voila mon fichier de conf appelé à chaque appel d'une page *.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    session_start();
    error_reporting(E_ALL);
    //<--Ce que j'avais oublié d'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ini_set('display_errors', 1);
    //-->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    require_once('includes/template.php');?>
    Voila le template.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    <?php
    /***************************************************************************
     *                              template.php
     *                            -------------------
     *   begin                : Saturday, Feb 13, 2001
     *   copyright            : (C) 2001 The phpBB Group
     *   email                : support@phpbb.com
     *
     *   $Id: template.php,v 1.10.2.5 2005/05/06 20:50:11 acydburn Exp $
     *
     *
     ***************************************************************************/
     
    /***************************************************************************
     *
     *   This program is free software; you can redistribute it and/or modify
     *   it under the terms of the GNU General Public License as published by
     *   the Free Software Foundation; either version 2 of the License, or
     *   (at your option) any later version.
     *
     ***************************************************************************/
     
    /**
     * Template class. By Nathan Codding of the phpBB group.
     * The interface was originally inspired by PHPLib templates,
     * and the template file formats are quite similar.
     *
     */
     
    class Template {              <----------------------------------LIGNE 31
    	protected $classname = "Template";
     
    	// variable that holds all the data we'll be substituting into
    	// the compiled templates.
    	// ...
    	// This will end up being a multi-dimensional array like this:
    	// $this->_tpldata[block.][iteration#][child.][iteration#][child2.][iteration#][variablename] == value
    	// if it's a root-level variable, it'll be like this:
    	// $this->_tpldata[.][0][varname] == value
    	protected $_tpldata = array();
     
    	// Hash of filenames for each template handle.
    	protected $files = array();
     
    	// Root template directory.
    	protected $root = "";
     
    	// this will hash handle names to the compiled code for that handle.
    	protected $compiled_code = array();
     
    	// This will hold the uncompiled code for that handle.
    	protected $uncompiled_code = array();
     
    	// This will configure htmlentitis() calls.
    	protected $charset = "";
    	protected $quote_style = "";
     
    	/**
    	 * Constructor. Simply sets the root dir.
    	 *
    	 */
    	function __construct($root = ".", $charset = "ISO-8859-1", $quote_style = ENT_QUOTES)
    	{
    		$this->set_rootdir($root);
    		$this->charset = $charset;
    		$this->quote_style = $quote_style;
    	}
     
    	/**
    	 * Destroys this template object. Should be called when you're done with it, in order
    	 * to clear out the template data so you can load/parse a new template set.
    	 */
    	function destroy()
    	{
    		$this->_tpldata = array();
    	}
     
    	/**
    	 * Sets the template root directory for this Template object.
    	 */
    	function set_rootdir($dir)
    	{
    		if (!is_dir($dir))
    		{
    			return false;
    		}
     
    		$this->root = $dir;
    		return true;
    	}
     
    	/**
    	 * Sets the template filenames for handles. $filename_array
    	 * should be a hash of handle => filename pairs.
    	 */
    	function set_filenames($filename_array)
    	{
    		if (!is_array($filename_array))
    		{
    			return false;
    		}
     
    		reset($filename_array);
    		while(list($handle, $filename) = each($filename_array))
    		{
    			$this->files[$handle] = $this->make_filename($filename);
    		}
     
    		return true;
    	}
     
     
    	/**
    	 * Load the file for the handle, compile the file,
    	 * and run the compiled code. This will print out
    	 * the results of executing the template.
    	 */
    	function pparse($handle)
    	{
    		if (!$this->loadfile($handle))
    		{
    			die("Template->pparse(): Couldn't load template file for handle $handle");
    		}
     
    		// actually compile the template now.
    		if (!isset($this->compiled_code[$handle]) || empty($this->compiled_code[$handle]))
    		{
    			// Actually compile the code now.
    			$this->compiled_code[$handle] = $this->compile($this->uncompiled_code[$handle]);
    		}
     
    		// Run the compiled code.
    		eval($this->compiled_code[$handle]);
    		return true;
    	}
     
    	/**
    	 * Inserts the uncompiled code for $handle as the
    	 * value of $varname in the root-level. This can be used
    	 * to effectively include a template in the middle of another
    	 * template.
    	 * Note that all desired assignments to the variables in $handle should be done
    	 * BEFORE calling this function.
    	 */
    	function assign_var_from_handle($varname, $handle)
    	{
    		if (!$this->loadfile($handle))
    		{
    			die("Template->assign_var_from_handle(): Couldn't load template file for handle $handle");
    		}
     
    		// Compile it, with the "no echo statements" option on.
    		$_str = "";
    		$code = $this->compile($this->uncompiled_code[$handle], true, '_str');
     
    		// evaluate the variable assignment.
    		eval($code);
    		// assign the value of the generated variable to the given varname.
    		$this->assign_var($varname, $_str);
     
    		return true;
    	}
     
    	/**
    	 * Block-level variable assignment. Adds a new block iteration with the given
    	 * variable assignments. Note that this should only be called once per block
    	 * iteration.
    	 */
    	function assign_block_vars($blockname, $vararray)
    	{
    		if(!empty($vararray)){
    			foreach($vararray as $name => $value){
    				$vararray[$name] = htmlentities($value, $this->quote_style, $this->charset);
    			}
    		}
     
    		if (strstr($blockname, '.'))
    		{
    			// Nested block.
    			$blocks = explode('.', $blockname);
    			$blockcount = sizeof($blocks) - 1;
    			$str = '$this->_tpldata';
    			for ($i = 0; $i < $blockcount; $i++)
    			{
    				$str .= '[\'' . $blocks[$i] . '.\']';
    				eval('$lastiteration = sizeof(' . $str . ') - 1;');
    				$str .= '[' . $lastiteration . ']';
    			}
    			// Now we add the block that we're actually assigning to.
    			// We're adding a new iteration to this block with the given
    			// variable assignments.
    			$str .= '[\'' . $blocks[$blockcount] . '.\'][] = $vararray;';
     
    			// Now we evaluate this assignment we've built up.
    			eval($str);
    		}
    		else
    		{
    			// Top-level block.
    			// Add a new iteration to this block with the variable assignments
    			// we were given.
    			$this->_tpldata[$blockname . '.'][] = $vararray;
    		}
     
    		return true;
    	}
     
    	/**
    	 * Root-level variable assignment. Adds to current assignments, overriding
    	 * any existing variable assignment with the same name.
    	 */
    	function assign_vars($vararray)
    	{
    		reset ($vararray);
    		while (list($key, $val) = each($vararray))
    		{
    			$this->_tpldata['.'][0][$key] = htmlentities($val, $this->quote_style, $this->charset);
    		}
     
    		return true;
    	}
     
    	/**
    	 * Root-level variable assignment. Adds to current assignments, overriding
    	 * any existing variable assignment with the same name.
    	 */
    	function assign_var($varname, $varval)
    	{
    		$this->_tpldata['.'][0][$varname] = htmlentities($varval, $this->quote_style, $this->charset);
     
    		return true;
    	}
     
     
    	/**
    	 * Generates a full path+filename for the given filename, which can either
    	 * be an absolute name, or a name relative to the rootdir for this Template
    	 * object.
    	 */
    	function make_filename($filename)
    	{
    		if (!file_exists($this->root.'/'.$filename))
    		{
    			die("Template->make_filename(): Error - file $filename does not exist");
    		}
     
    		return $this->root.'/'.$filename;
    	}
     
     
    	/**
    	 * If not already done, load the file for the given handle and populate
    	 * the uncompiled_code[] hash with its code. Do not compile.
    	 */
    	function loadfile($handle)
    	{
    		// If the file for this handle is already loaded and compiled, do nothing.
    		if (isset($this->uncompiled_code[$handle]) && !empty($this->uncompiled_code[$handle]))
    		{
    			return true;
    		}
     
    		// If we don't have a file assigned to this handle, die.
    		if (!isset($this->files[$handle]))
    		{
    			die("Template->loadfile(): No file specified for handle $handle");
    		}
     
    		$filename = $this->files[$handle];
     
    		$str = implode("", @file($filename));
    		if (empty($str))
    		{
    			die("Template->loadfile(): File $filename for handle $handle is empty");
    		}
     
    		$str = str_replace('{TPL_CHARSET}', $this->charset, $str);
     
    		$this->uncompiled_code[$handle] = $str;
     
    		return true;
    	}
     
     
     
    	/**
    	 * Compiles the given string of code, and returns
    	 * the result in a string.
    	 * If "do_not_echo" is true, the returned code will not be directly
    	 * executable, but can be used as part of a variable assignment
    	 * for use in assign_code_from_handle().
    	 */
    	function compile($code, $do_not_echo = false, $retvar = '')
    	{
    		// replace \ with \\ and then ' with \'.
    		$code = str_replace('\\', '\\\\', $code);
    		$code = str_replace('\'', '\\\'', $code);
     
    		// change template varrefs into PHP varrefs
     
    		// This one will handle varrefs WITH namespaces
    		$varrefs = array();
    		preg_match_all('#\{(([a-z0-9\-_]+?\.)+?)([a-z0-9\-_]+?)\}#is', $code, $varrefs);
    		$varcount = sizeof($varrefs[1]);
    		for ($i = 0; $i < $varcount; $i++)
    		{
    			$namespace = $varrefs[1][$i];
    			$varname = $varrefs[3][$i];
    			$new = $this->generate_block_varref($namespace, $varname);
     
    			$code = str_replace($varrefs[0][$i], $new, $code);
    		}
     
    		// This will handle the remaining root-level varrefs
    		$code = preg_replace('#\{([a-z0-9\-_]*?)\}#is', '\' . ( ( isset($this->_tpldata[\'.\'][0][\'\1\']) ) ? $this->_tpldata[\'.\'][0][\'\1\'] : \'\' ) . \'', $code);
     
    		// Break it up into lines.
    		$code_lines = explode("\n", $code);
     
    		$block_nesting_level = 0;
    		$block_names = array();
    		$block_names[0] = ".";
     
    		// Second: prepend echo ', append ' . "\n"; to each line.
    		$line_count = sizeof($code_lines);
    		for ($i = 0; $i < $line_count; $i++)
    		{
    			$code_lines[$i] = chop($code_lines[$i]);
    			if (preg_match('#<!-- BEGIN (.*?) -->#', $code_lines[$i], $m))
    			{
    				$n[0] = $m[0];
    				$n[1] = $m[1];
     
    				// Added: dougk_ff7-Keeps templates from bombing if begin is on the same line as end.. I think. :)
    				if ( preg_match('#<!-- END (.*?) -->#', $code_lines[$i], $n) )
    				{
    					$block_nesting_level++;
    					$block_names[$block_nesting_level] = $m[1];
    					if ($block_nesting_level < 2)
    					{
    						// Block is not nested.
    						$code_lines[$i] = '$_' . $n[1] . '_count = ( isset($this->_tpldata[\'' . $n[1] . '.\']) ) ?  sizeof($this->_tpldata[\'' . $n[1] . '.\']) : 0;';
    						$code_lines[$i] .= "\n" . 'for ($_' . $n[1] . '_i = 0; $_' . $n[1] . '_i < $_' . $n[1] . '_count; $_' . $n[1] . '_i++)';
    						$code_lines[$i] .= "\n" . '{';
    					}
    					else
    					{
    						// This block is nested.
     
    						// Generate a namespace string for this block.
    						$namespace = implode('.', $block_names);
    						// strip leading period from root level..
    						$namespace = substr($namespace, 2);
    						// Get a reference to the data array for this block that depends on the
    						// current indices of all parent blocks.
    						$varref = $this->generate_block_data_ref($namespace, false);
    						// Create the for loop code to iterate over this block.
    						$code_lines[$i] = '$_' . $n[1] . '_count = ( isset(' . $varref . ') ) ? sizeof(' . $varref . ') : 0;';
    						$code_lines[$i] .= "\n" . 'for ($_' . $n[1] . '_i = 0; $_' . $n[1] . '_i < $_' . $n[1] . '_count; $_' . $n[1] . '_i++)';
    						$code_lines[$i] .= "\n" . '{';
    					}
     
    					// We have the end of a block.
    					unset($block_names[$block_nesting_level]);
    					$block_nesting_level--;
    					$code_lines[$i] .= '} // END ' . $n[1];
    					$m[0] = $n[0];
    					$m[1] = $n[1];
    				}
    				else
    				{
    					// We have the start of a block.
    					$block_nesting_level++;
    					$block_names[$block_nesting_level] = $m[1];
    					if ($block_nesting_level < 2)
    					{
    						// Block is not nested.
    						$code_lines[$i] = '$_' . $m[1] . '_count = ( isset($this->_tpldata[\'' . $m[1] . '.\']) ) ? sizeof($this->_tpldata[\'' . $m[1] . '.\']) : 0;';
    						$code_lines[$i] .= "\n" . 'for ($_' . $m[1] . '_i = 0; $_' . $m[1] . '_i < $_' . $m[1] . '_count; $_' . $m[1] . '_i++)';
    						$code_lines[$i] .= "\n" . '{';
    					}
    					else
    					{
    						// This block is nested.
     
    						// Generate a namespace string for this block.
    						$namespace = implode('.', $block_names);
    						// strip leading period from root level..
    						$namespace = substr($namespace, 2);
    						// Get a reference to the data array for this block that depends on the
    						// current indices of all parent blocks.
    						$varref = $this->generate_block_data_ref($namespace, false);
    						// Create the for loop code to iterate over this block.
    						$code_lines[$i] = '$_' . $m[1] . '_count = ( isset(' . $varref . ') ) ? sizeof(' . $varref . ') : 0;';
    						$code_lines[$i] .= "\n" . 'for ($_' . $m[1] . '_i = 0; $_' . $m[1] . '_i < $_' . $m[1] . '_count; $_' . $m[1] . '_i++)';
    						$code_lines[$i] .= "\n" . '{';
    					}
    				}
    			}
    			else if (preg_match('#<!-- END (.*?) -->#', $code_lines[$i], $m))
    			{
    				// We have the end of a block.
    				unset($block_names[$block_nesting_level]);
    				$block_nesting_level--;
    				$code_lines[$i] = '} // END ' . $m[1];
    			}
    			else
    			{
    				// We have an ordinary line of code.
    				if (!$do_not_echo)
    				{
    					$code_lines[$i] = 'echo \'' . $code_lines[$i] . '\' . "\\n";';
    				}
    				else
    				{
    					$code_lines[$i] = '$' . $retvar . '.= \'' . $code_lines[$i] . '\' . "\\n";';
    				}
    			}
    		}
     
    		// Bring it back into a single string of lines of code.
    		$code = implode("\n", $code_lines);
    		return $code;
     
    	}
     
     
    	/**
    	 * Generates a reference to the given variable inside the given (possibly nested)
    	 * block namespace. This is a string of the form:
    	 * ' . $this->_tpldata['parent'][$_parent_i]['$child1'][$_child1_i]['$child2'][$_child2_i]...['varname'] . '
    	 * It's ready to be inserted into an "echo" line in one of the templates.
    	 * NOTE: expects a trailing "." on the namespace.
    	 */
    	function generate_block_varref($namespace, $varname)
    	{
    		// Strip the trailing period.
    		$namespace = substr($namespace, 0, strlen($namespace) - 1);
     
    		// Get a reference to the data block for this namespace.
    		$varref = $this->generate_block_data_ref($namespace, true);
    		// Prepend the necessary code to stick this in an echo line.
     
    		// Append the variable reference.
    		$varref .= '[\'' . $varname . '\']';
     
    		$varref = '\' . ( ( isset(' . $varref . ') ) ? ' . $varref . ' : \'\' ) . \'';
     
    		return $varref;
     
    	}
     
     
    	/**
    	 * Generates a reference to the array of data values for the given
    	 * (possibly nested) block namespace. This is a string of the form:
    	 * $this->_tpldata['parent'][$_parent_i]['$child1'][$_child1_i]['$child2'][$_child2_i]...['$childN']
    	 *
    	 * If $include_last_iterator is true, then [$_childN_i] will be appended to the form shown above.
    	 * NOTE: does not expect a trailing "." on the blockname.
    	 */
    	function generate_block_data_ref($blockname, $include_last_iterator)
    	{
    		// Get an array of the blocks involved.
    		$blocks = explode(".", $blockname);
    		$blockcount = sizeof($blocks) - 1;
    		$varref = '$this->_tpldata';
    		// Build up the string with everything but the last child.
    		for ($i = 0; $i < $blockcount; $i++)
    		{
    			$varref .= '[\'' . $blocks[$i] . '.\'][$_' . $blocks[$i] . '_i]';
    		}
    		// Add the block reference for the last child.
    		$varref .= '[\'' . $blocks[$blockcount] . '.\']';
    		// Add the iterator for the last child if requried.
    		if ($include_last_iterator)
    		{
    			$varref .= '[$_' . $blocks[$blockcount] . '_i]';
    		}
     
    		return $varref;
    	}
     
     
    	function __destruct(){
    	    if(!empty($compiled_code)){
                foreach($compiled_code as $handle){
                    pparse($handle);
                }
            }
    	}
     
    }
     
    ?>

    Je vois pas trop l'erreur de mon fichier template.php qui marche très bien en local....

    Merci d'avance..

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Votre classe Template utilise les concepts objet introduits à partir de PHP 5 (constructeurs unifiés, visibilité, ...). Il apparaît donc normal qu'elle ne fonctionne pas en PHP 4.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 44
    Points : 31
    Points
    31
    Par défaut
    Ah...

    BOn bé j'ai encore du travail à faire avant de coder pour rien...

    Dans le doute le temps que je rattrape mon retard mais que je mette quand même mon site en ligne, vers quel template je pourrais me rabattre..?

    Merci d'avance...

    Shensi

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 44
    Points : 31
    Points
    31
    Par défaut
    Bon ... Merci bien Mr Julp !

    Je vais trouver mon bonheur sur le site de developpez.com
    http://g-rossolini.developpez.com/co...php/templates/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/11/2008, 14h33
  2. [Tomcat 6] Problème de chargement d'une classe interne
    Par SimOOn dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 08/09/2008, 16h31
  3. Réponses: 16
    Dernier message: 30/01/2008, 15h27
  4. [POO] Probléme de syntaxe dans une classe
    Par jewelz dans le forum Langage
    Réponses: 3
    Dernier message: 03/11/2007, 03h57
  5. Problème de chargement d'une classe
    Par Kuroro dans le forum Général Java
    Réponses: 4
    Dernier message: 28/11/2006, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo