Voici un exemple très simple des problèmes que j'ai. Maintenant pourquoi utiliser $ session = new Session(); dans le fichier database.class.php lorsque les fichiers sont inclus dans mon système de manière à ce qu'ils soient déjà visibles. En d'autres termes, je ne peux pas appeler $ session = new Session(); en dehors de toutes les autres classes, pour le faire fonctionner dans d'autres classes que je dois appeler créer un nouvel objectof la classe de session dans chaque classe que je veux l'utiliser, comment puis-je éviter cela et le faire fonctionner sans faire cela?Problèmes relatifs à la portée de la classe PHP
// Session.class.php
class Session{
public function __construct()
{
session_start();
}
public function set($name, $value)
{
$_SESSION[$name] = $value;
}
}
...
// Database.class.php
class Database{
public static function mysql_query_2($query)
{
if ($session->get('user_role') == 10){
$_SESSION['queries']++;
}
return mysql_query($query);
}
}
Je ne vois pas '$ session = new Session();' dans le code fourni n'importe où. Cela pourrait nous aider à comprendre votre problème. – MitMaro
@MitMaro désolé, la classe est démarrée ailleurs dans le script, je ne veux que le démarrer 1 fois et de cette façon il me demande maintenant de le démarrer dans chaque fichier de classe qui utilise une classe d'un autre fichier – JasonDavis