Сегодня 26 декабря, четверг ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7278
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Хабрахабр: Web-разработка / Блог / Захабренные
Хабрахабр: Web-разработка / Блог / Захабренные
Голосов: 1
Адрес блога: http://habrahabr.ru/blog/webdev/
Добавлен: 2008-06-12 19:52:21 блограйдером ZaiSL
 

Изучаем PHP изнутри. Zval

2014-06-19 10:54:36 (читать в оригинале)


Эта статья базируется на главе Zvals книги PHP Internals Book, переводом которой на русский язык я сейчас занимаюсь [1]. Книга ориентирована в первую очередь на C-программистов, желающих писать свои расширения для PHP, но, я уверен, что она окажется полезной и для PHP-разработчиков, так как описывает внутреннюю логику работы интерпретатора. В статье я оставил только базовую теорию, которая должна быть понятна всем разработчикам (даже не знакомым с PHP или C). За более полным изложением материала обратитесь к книге.

Задачка для привлечения внимания. Каким будет результат выполнения следующего кода?
$obj1 = new StdClass();
$obj2 = new StdClass();

$obj1->value = 1;
$obj2->value = 1;

function f1($o) {
  $o = 100;
}

function f2($o) {
  $o->value = 100;
}

f1($obj1);
f2($obj2);

var_dump($obj1);
var_dump($obj2);


Ответ
object(stdClass)#1 (1) { [«value»]=> int(1) }
object(stdClass)#2 (1) { [«value»]=> int(100) }

Если вы точно определили ответ и можете объяснить почему он будет именно таким, то, наверное, вы не узнаете из этой статьи ничего нового, иначе — вам определенно стоит прочитать эту статью, чтобы углубить свои знания.
Читать дальше →

Тэги: php, zval, веб-разработка, внутренности, книга, программирование

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»
Изменения рейтинга
Категория «IT»
Взлеты Топ 5
+646
670
Remi_Etien_Le_Bo
+628
671
Темы_дня
+606
617
ClericDade
+578
618
OnepaTop
+544
583
wishmaster-moscow
Падения Топ 5


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.