<?php
class User
{
protected $id;
public static function get()
{
global $db;
$q = $db->query("SELECT * FROM User WHERE `id` = 1");
$q->setFetchMode(PDO::FETCH_CLASS, 'User');
return $q->fetch();
}
public function load()
{
global $db;
$q = $db->query("SELECT * FROM User WHERE `id` = 1");
$q->setFetchMode(PDO::FETCH_INTO, $this);
return $q->fetch();
}
}
$db = new PDO('sqlite::memory:');
$db->exec("CREATE TABLE User(id INTEGER PRIMARY KEY, name TEXT)");
$db->query("INSERT INTO User VALUES(1, 'test')");
// worko
var_dump(User::get());
// no-worko
$user = new User;
var_dump($user->load());
Deprecated: Creation of dynamic property User::$name is deprecated in /in/DCjXc on line 14
object(User)#3 (2) {
["id":protected]=>
int(1)
["name"]=>
string(4) "test"
}
Deprecated: Creation of dynamic property User::$name is deprecated in /in/DCjXc on line 24
Fatal error: Uncaught Error: Cannot access protected property User::$id in /in/DCjXc:24
Stack trace:
#0 /in/DCjXc(24): PDOStatement->fetch()
#1 /in/DCjXc(37): User->load()
#2 {main}
thrown in /in/DCjXc on line 24
Process exited with code 255.
Output for 8.1.0 - 8.1.28
object(User)#3 (2) {
["id":protected]=>
int(1)
["name"]=>
string(4) "test"
}
Fatal error: Uncaught Error: Cannot access protected property User::$id in /in/DCjXc:24
Stack trace:
#0 /in/DCjXc(24): PDOStatement->fetch()
#1 /in/DCjXc(37): User->load()
#2 {main}
thrown in /in/DCjXc on line 24
Process exited with code 255.
object(User)#3 (2) {
["id":protected]=>
string(1) "1"
["name"]=>
string(4) "test"
}
Fatal error: Cannot access protected property User::$id in /in/DCjXc on line 24
Process exited with code 255.
Output for 5.1.0 - 5.1.3, 5.2.0 - 5.2.17
object(User)#3 (2) {
["id:protected"]=>
string(1) "1"
["name"]=>
string(4) "test"
}
Fatal error: Cannot access protected property User::$id in /in/DCjXc on line 24
Process exited with code 255.
Output for 5.1.4 - 5.1.6
Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in /in/DCjXc:28
Stack trace:
#0 /in/DCjXc(28): PDO->__construct('sqlite::memory:')
#1 {main}
thrown in /in/DCjXc on line 28
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Fatal error: Class 'PDO' not found in /in/DCjXc on line 28
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/DCjXc on line 5
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/DCjXc on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/DCjXc on line 5
Process exited with code 255.