[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Да как то! Переменная присваевается как указатель.
Страницы: 1, 2
ktotud
На пхп пишу уже больше 15 лет.... но тут блин на простом костыле мозг сломал...

Вот код:

$v->z=1;
$data=$v;
$data->z=3;
print $v->z;


Как думаете какой будет ответ ?

Я офигел когда увидел 3.... НУ КАК ???? ЗАЧЕМ ?????
kaww
А я офигел, когда прочитал "На пхп пишу уже больше 15 лет"
http://php.net/manual/ru/language.oop5.cloning.php второй абзац. И да при присвоение объекта другой переменной php не создает копию.
sergeiss
Да.... 15 лет - это круто wink.gif

http://php.net/manual/ru/language.oop5.references.php - вот тут описана причина этого "явления", которое так удивило ТС.


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Invis1ble
На пхп быдлокожу уже больше 15 лет... // fixed

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

twin
Это относится к тому, как люди воспринимают мир.

Есть задача. Найти объем красного резинового мячика.

1. Как решает физик. Погружает мячик в воду и измеряет объем вытесненной воды.

2. Как решает математик. Измеряет радиус и вычисляет по формуле "четыре трети на пи * R в кубе".

3. Как решает программист. Идет в мануал и находит функцию, определяющую объем красного резинового мячика.

Ну удивился человек, и что... Я допустим каждый день удивляюсь. Жизнь прекрасна - что и удивительно.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
AlmazDelDiablo
К вопросу о пятнадцати годах (безотносительно к ТСу — я его скилов не знаю и никаких поспешных выводов делать не хочу). Недавно у нас из компании уволили программиста, который семь лет пишет на ПХП, но при этом знает и язык, и теорию на уровне средненького джуниора.

_____________
Блог | VK | GitHub | Twitch
Zzepish
AlmazDelDiablo
Я думал, что в компаниях хороший опыт дают. И люди прогрессирует. Как руководство так проморгало его то?
Invis1ble
Цитата
Как решает программист. Идет в мануал и находит функцию, определяющую объем красного резинового мячика.

вот именно. А быдлокодер никуда не идет smile.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

sergeiss
Цитата (twin @ 29.07.2014 - 21:24)
Идет в мануал и находит функцию, определяющую объем красного резинового мячика.

Давай уточним smile.gif "Красный резиновый" - это относится к представлению. "Правильному" программеру в данной задаче пофиг цвет и материал. Ему важна только форма, т.е. "сфера".

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
twin
Цитата (sergeiss @ 29.07.2014 - 22:29)
Цитата (twin @ 29.07.2014 - 21:24)
Идет в мануал и находит функцию, определяющую объем красного резинового мячика.

Давай уточним smile.gif "Красный резиновый" - это относится к представлению. "Правильному" программеру в данной задаче пофиг цвет и материал. Ему важна только форма, т.е. "сфера".

Не смею спорить. Это факт. Представление не имеет отношения к программированию. Ну если только опосредственное. Тут таки да.

Так же как и факт то, что всяческие инсенуации в мануале не имеют отношения к логике программирования. По логике вещей результатом должно быть 1. Но в мануале написано иное.

Да, я понимаю, что язык программирования, это не физика. И он подчиняется мануалу. Но не логике...

Ничего против не имею, просто констатация. Это кстати к вопросу о наследовании и расширении. Никакой логики, просто так привычно и так прописано)))

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
bestxp
Не вижу проблемы есть clone для таких вещей ,а так походу на работу в си
linker
Человек хотел сказать, что последний раз кодил на PHP 15 лет назад.

_____________
Gear Framework
Gear Framework на Github
AlmazDelDiablo
Цитата (Zzepish @ 30.07.2014 - 02:06)
AlmazDelDiablo
Я думал, что в компаниях хороший опыт дают. И люди прогрессирует. Как руководство так проморгало его то?

Люди прогрессируют, когда хотят и могут это делать. Тот же не хотел (хотя активно делал вид) и, наверное, не мог. А вот как начальство его к нам пустило — это уже другой вопрос.

_____________
Блог | VK | GitHub | Twitch
sergeiss
Цитата (twin @ 30.07.2014 - 02:59)
Ничего против не имею, просто констатация. Это кстати к вопросу о наследовании и расширении. Никакой логики, просто так привычно и так прописано)))

Не понял, при чем тут наследование и расширение??? И о каком отсутствии логики ты говоришь? Что тут, по-твоему, не логично?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
twin
Логика, это когда одно проистекает из другого. Вот поехали:

$v->z=1;
$data=$v;
$data->z=3;
print $v->z;

1. В объекте $v устанавливаем свойство z равное 1
2. Копируем объект в другую переменную $data
3. Переопределяем в новом объекте $data свойство z равным 3
4. В изначальном объекте должно остаться старое значение. 1!!! ОдынОдын!!!111 Мы же не трогаем старый объект. Это логично!

Но только не с точки зрения разрабов языка. С их точки зрения логичнее переопределить свойство в обоих объектах.

Вот я и говорю. Есть логика, а есть программирование. Не всегда программирование логично. Нельзя полагаться на логику и умозаключения, нужно обязательно пользоваться справочником объемов красных резиновых мячиков мануалом.

Ровно как и в случае с так называемым "наследованием". Каким боком слово extends стало переводиться как "наследник" совершенно не понятно с точки зрения здравого смысла. Но в мануале написано, что бурундук - птичка, и он летает. Вопреки логике.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.