Où une fonction est-elle définie (object oriented) ?
Herve_be Messages postés 1066 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 23 septembre 2024 - 26 août 2024 à 15:34
- Où une fonction est-elle définie (object oriented) ?
- Fonction si et - Guide
- Shockwave flash object - Télécharger - Divers Web & Internet
- Fonction moyenne excel - Guide
- Excel renvoyer la valeur d'une cellule en fonction d'une autre - Forum Logiciels
- Virginie organise un rallye avec 30 équipes. elle veut créer un code pour désigner chaque équipe. elle a commencé à la main, mais elle voudrait le faire calculer à l'aide d'une formule. proposez une formule comportant une seule fonction et à recopier vers le bas dans la colonne a du fichier à télécharger. quelle formule sera en a9 ? ✓ - Forum Excel
7 réponses
23 août 2024 à 22:26
bonjour
dans la class où se trouve ce bout de code est instancié un objet user.
c'est à lui que fait référence ton this->user
et c'est donc la méthode setCookie qui se trouve dans la class User qui est instancié par ton code...
si tu ne trouves pas, il va falloir que tu nous partages le code complet de la class dans laquelle tu as ton bout de code.
Modifié le 24 août 2024 à 09:28
Merci,
Le code complet est fort long, voici les lignes non consécutives qui me semblent avoir un rapport avec la classe user :
use phpbb\user;
...
class listener implements EventSubscriberInterface
{
/** @var user $user */
protected $user;
* Constructor
* @param user $user User object
public function __construct(..., user $user, ...)
{
$this->user = $user;
}
...
$this->user->set_cookie($cookie_name, ...);
Ça ne m'aide pas à trouver où la fonction set_cookie est définie, et toi ?
24 août 2024 à 09:53
Bonjour Hervé
Sur CodeS SourceS tu as souvent posté des questions en VB6.
Je vais essayer de faire un parallèle.
Mais avant, je te propose de lire https://forums.commentcamarche.net/forum/affich-1663038-qu-est-ce-qu-une-classe-un-objet#3
Prenons l'objet Form, il possède un certain nombres de propriétés, par exemple un titre (Caption il me semble me souvenir en vb6).
Certaines propriétés peuvent elles aussi avoir des propriétés, Font par exemple. Je ne sais plus si cette propriété existe pour Form, mais pour une TextBox oui. Cela veut dire que Font est elle même un objet.
Le code d'un objet est écrit dans un bloc de code que l'on appelle class (un bloc contenant lui-même de nombreux blocs).
Il était possible en VB6 d'écrire ses propres classes, mais je connais très peu de gens qui le faisaient sciemment. Mais en écrivant le code d'un Form, en fait on écrivait un objet de type MaFormMachin, dont le type dérivait (on pourra parler héritage plus loin si u le souhaite) du vrai type Form.
Et puis la class de TextBox est bien écrite quelque part, dans une dll ou un ocx.
En général, une class constitue un fichier.
Ce que tu dois faire, c'est trouver le fichier / bloc de code qui définit l'objet user.
Pour ce qui est de this, il correspond à Me en VB6, à savoir, l'instance en cours de l'objet. Pour la majorité des codeurs, Me correspondait au Form en cours, mais ceux qui écrivaient leurs propres classes pouvaient s'en servir aussi.
Il est tout à fait probable que dans le code de TextBox, ce soit le cas.
24 août 2024 à 10:03
"Ce que tu dois faire, c'est trouver le fichier / bloc de code qui définit l'objet user."
C'est bien ma question.
24 août 2024 à 10:33
Option 1, il s'agit de la class user qui est importée par la ligne
use phpbb\user;
Et là, faut lire la doc https://www.phpbb.com/support/docs/en/
Option 2, une autre class a été importée, avec le mot clé use
Option 3, une class a été écrite dans "ton" code avec comme ça
class User
Après je connais assez peu PHP, je ne peux guère t'aiguiller plus.
24 août 2024 à 10:57
La documentation que tu pointes est un mode d'emploi, pas un manuel technique.
Comment savoir quelle option est la bonne ?
J'ai bien un fichier phpbb\user.php mais il ne contient pas la définition de la fonction set_cookie.
Par contre je trouve cette définition à plusieurs endroits avec des comportements différents : comment savoir laquelle est effectivement utilisée ?
24 août 2024 à 11:28
c'est bien l'option 1 visiblement...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question24 août 2024 à 11:05
Certain IDE permettent de remonter au code d'un attribut, en faisant un click droit dessus et en cliquant sur "Aller à la définition / déclaration" ou dans le genre.
Et de répéter si nécessaire
24 août 2024 à 15:10
Je pensais qu'il y aurait moyen de le trouver via "inspecter".
24 août 2024 à 17:19
"inspecter" ne sert qu'à parcourir le code html de ton site à travers ton navigateur....
Comme te l'a dit Whism, tu peux utiliser un IDE comme VSCODE qui te permet ( à condition de télécharger TOUT le code source de ton site en local sur ton ordi) de retrouver les objets et les méthodes en faisant des clics droits sur les bouts de code que tu veux chercher ( ou via du control+click).
Et ainsi de remonter jusqu'à la fonction recherchée...
La méthode set_cookie est définie dans la classe phpbb\session (la classe phpbb\user hérite de la classe phpbb\session) :
https://github.com/phpbb/phpbb/blob/master/phpBB/phpbb/session.php#L1087
26 août 2024 à 15:34
Merci.
Je voudrais, dans certains cas, supprimer un cookie.
Dans certaines fonctions set_cookie il est prévu qu'on puisse supprimer le cookie, pas dans celle-ci.
Par contre je lis "If no time is specified, a session cookie will be set" mais si j'appelle la fonction avec time = 0 le cookie n'est pas modifié.