T_VARIABLE inattendu, en attendant T_FUNCTION
Je m'attends à ce que ce soit une erreur de syntaxe élémentaire j'ai oublié, mais je ne peux pas le comprendre.
Dans un script PHP, j'obtiens l'erreur suivante.
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in [path]/scripts/users/database_connection.php on line 4
Cela se produit lorsque mon script pour se connecter à la base de données est appelée avec un include_once()
. J'ai dépouillé mon script jusque dans le code de base (en laissant à ce qui est requis par un autre code), et il l'est toujours à l'appel de cette erreur.
<?php
class UserDatabaseConnection
{
$connection = sqlite_open("[path]/data/users.sqlite", 0666);
public function lookupUser($username)
{
//rest of my code...
}
}
$udb = new UserDatabaseConnection;
?>
J'ai eu du mal avec ça pendant un moment, et me demandais si quelqu'un d'autre pourrait se place quelque part, je suis allé de mal.
source d'informationauteur Ryan Leonard
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas mettre
$connection = sqlite_open("[path]/data/users.sqlite", 0666);
en dehors de la classe de construction. Vous devez mettre cette ligne à l'intérieur d'une fonction ou le constructeur, mais vous ne pouvez pas le placer où vous avez maintenant.
Vous ne pouvez pas utiliser les appels de fonction dans une classe de construction, vous devez les initialiser cette valeur dans la fonction constructeur.
De la Manuel PHP sur les propriétés de la classe:
Un exemple de code opérationnel:
En fonction de vos besoins,
protected
ouprivate
pourrait être un meilleur choix pour$connection
. Qui vous protège contre la fermeture accidentelle ou de jouer avec la connexion.Utilisation de modificateur d'accès avant la définition du membre:
Que vous ne pouvez pas utiliser la fonction d'appel dans la définition du membre en PHP, le faire dans le constructeur:
mettre public, protected ou private avant la connexion$.