Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Tenho uma rotina para verificar login, e está com essa mensagemn:
Deprecated: Creation of dynamic property User::$id is deprecated in C:\Inetpub\vhosts\app.com.br\httpdocs\_admin\dao\UserDaoMysql.php on line 16
A linha 16 é: $u->id = $array['id'] ?? 0;
private function generationUser($array){
$u = new User();
$u->id = $array['id'] ?? 0;
$u->email = $array['email'] ?? '';
$u->name = $array['name'] ?? '';
$u->password = $array['password'] ?? '';
$u->token = $array['token'] ?? '';
return $u;
}
O que devo mudar?Tirei o private e inclui a class User, assim
class User {
public $id;
public $email;
public $name;
public $password;
public $token;
public function getId(){return $this->id;}
public function getEmail(){return $this->email;}
public function getName(){return $this->name;}
public function getPassowrd(){return $this->password;}
public function getToken(){return $this->token;}
}
function generationUser($array){
$u = new User();
$u->id = $array['id'] ?? 0;
$u->email = $array['email'] ?? '';
$u->name = $array['name'] ?? '';
$u->password = $array['password'] ?? '';
$u->token = $array['token'] ?? '';
return $u;
}
Retornou
Parse error: syntax error, unexpected token "class", expecting "function" or "const" in C:\Inetpub\vhosts\app.com.br\httpdocs\_admin\dao\UserDaoMysql.php on line 11>
32 minutos atrás, mkboy disse:
Tirei o private e inclui a class User, assim
class User {
public $id;
public $email;
public $name;
public $password;
public $token;
public function getId(){return $this->id;}
public function getEmail(){return $this->email;}
public function getName(){return $this->name;}
public function getPassowrd(){return $this->password;}
public function getToken(){return $this->token;}
}
function generationUser($array){
$u = new User();
$u->id = $array['id'] ?? 0;
$u->email = $array['email'] ?? '';
$u->name = $array['name'] ?? '';
$u->password = $array['password'] ?? '';
$u->token = $array['token'] ?? '';
return $u;
}
Retornou
Parse error: syntax error, unexpected token "class", expecting "function" or "const" in C:\Inetpub\vhosts\app.com.br\httpdocs\_admin\dao\UserDaoMysql.php on line 11
Você usou o marcador <?phpveja
Se nao abrir o anexo, : http://prntscr.com/qQMSXu3iAapl
Agora eu vi que se trata de uma interface, coisa que eu nunca havia mexido.
Pelo manual do PHP, PHP: Object Interfaces - Manual, dá para ver que a minha sugestão não vai consolidar a sua interface, pelo contrário, só vai trazer aborrecimentos. Assim, eu peço desculpas.
Eu tirei a palavra private, e ficou assim:
<?php
class User {
// resultado:
C:\wamp64\www\astudy\index.php:26:
object(User)[1]