Archive for March, 2011

Передача объектов по ссылкам и значениям в PHP

Saturday, March 26th, 2011

Дописывая свой проект столкнулся с проблемой передачи объектов в PHP, о чем и хотел бы тут все расписать, мало ли кому пригодится.

Общеизвестно, что с 5ой версии PHP все объекты передаются по ссылке. Но что же стоит за этой фразой?
Пример первый:

< ?php
session_start();
class My {
        public $i = 0;
}
 
if (isset($_SESSION['my_int'])) {
        $my_int = $_SESSION['my_int'];
} else {
        $my_int = 0;
        $_SESSION['my_int'] = $my_int;
}
if (isset($_SESSION['my_obj'])) {
        $my_obj = $_SESSION['my_obj'];
} else {
        $my_obj = new My();
        $_SESSION['my_obj'] = $my_obj;
}
echo('my_int=' . $my_int++);
echo(' my_obj.i=' . $my_obj->i++);
?>

(more…)