PHP chapitre 63 - Authentification

Par Nours2806, il y a 2 ans


Décrivez ici votre problème ou ce que vous cherchez à faire.

<?php namespace App\Table; use App\Model\User; use App\Table\Exception\NotFoundException; use PDO; class UserTable extends Table { protected $table = 'user'; protected $class = User::class; public function findByUsername(string $username) { $query = $this->pdo->prepare("SELECT * FROM {$this->table} where username = :username"); $query->execute(['username' => $username]); $query->setFetchMode(PDO::FETCH_CLASS, $this->class); $result = $query->fetch(); if ($result === false) { throw new NotFoundException($this->table, $username); } return $result; } }

Ce que je veux

que la fonction, fonctionne

Ce que j'obtiens

une erreur :
Creation of dynamic property App\Model\User::$id is deprecated

6 réponses

Carouge10, il y a 2 ans

bonjour.
depuis la version 8.2 de php si je ne trompe pas.
on ne peux plus créer de d'objet dynamiquement.
pour éviter cette erreur, tu peux faire un "extends stdclass" sur la 1ère class.
c'est sur la classe qui n'a pas d'héritage.

Nours2806, il y a 2 ans

Bonjour,
ma classe "UserTable" extend de ma classe "Table"
dois-je mettre "extends stdclass" sur ma classe "Table" ???
car quand je la met sur ma classe "Table" il me fait l'erreur "Undefined type 'App\Table\stdclass'"

Carouge10, il y a 2 ans

stdClass
un peu de

Nours2806, il y a 2 ans

Un peu de quoi ????

Nours2806, il y a 2 ans

Merci beaucoup !