Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
$stmt->fetch(PDO::FETCH_CLASS|PDO::FETCH_PROPS_LATE, 'ClassName');
static public function getAll(){
$res = $this->db->fetchAll();
return array_map(function ($x){return (object)$x;},$res);
}
return array_map(function ($x){return new User($x);},$res);
return new ArrayObject(array_map(function ($x){return new User($x);},$res)); :)$users = Users::getAll();
if ($users[0] === $users[0]) {
echo 'Trivial';
}
else {
echo 'WTF?!'
}
public function offsetGet( $index )
{
$this->$_cashe[$index] = new User( parent::offsetGet[$index] );
return &$this->$_cashe[$index];
}
public function offsetGet( $index )
{
if (!isset($this->$_cache[$index])) {
$this->$_cache[$index] = new User( parent::offsetGet[$index] );
}
return &$this->$_cache[$index];
}
public function offsetGet( $index )
{
if (!isset($this->_cache[$index]) {
$this->_cashe[$index] = new User( parent::offsetGet[$index] );
}
return $this->_cashe[$index];
}
for ($i =0; $i < 3; $i++) {
echo $user->{'field_number'.$i}
}А полиморфизм в PHP я вообще не встречал :))
class A {
public function printSmth() {
echo 'foo';
}
}
class B extends A {
public function printSmth() {
echo 'baz';
}
}
Никогда не понимал зачем делать объект вместо массива, если отличаться будет только синтаксис:
$user->id вместо $user['id']
$user['firstName'] . ' ' . $user['lastName'] написать $user->getFullName(); Если такое только в одном месте, то да, для эстетики, а если в двух, то уже DRY;echo $man->name;
echo $cat->name;
по-моему поддерживаемее, чемecho $man->name;
echo $cat['name'];
Массивы или Объекты? Хочу коллекции в пхп!