версия: php5 Ссылки при вызове функций вида: func(&$var); устарели и предлагают использовать ссылки в описании функции, типа: function foo(&$v) {} foo($var); такой стиль похож на С++ ноне позволяет никак передавать нативные константы: foo(10); - тут мы лови фатал еррор собственно хочется увидеть как делает широкоуважаемый Олл как выйти из такой ситуации: нужно иметь возможность передавать нативные константы (как показано выше) и в тоже время это должны быть ссылки (чтобы при передаче обьекта он не пересоздавался). в старом стиле это можно было обойти так: function foo($var) {} foo(10); -все ок тут у нас переменная foo(&$obj); - все ок тут у нас ссылка. если никак низзя, то второй вопрос: Не собираются ли создатели отключить данную функциональность (передача по ссылке при вызове функции), а то возможно весь проект разломается если перейдем в будущем на PHP6 =))
дайте-ка кое что поясню: в С++ можно зделать так - псевдо код на PHP: function foo(&$v) {} foo(int(10)); - вот такой вызов в C++ есть а в php такого нету причем тут используются ссылки и константа передается просто я не хочу делать такое: $v=1; foo($v); или даже так: foo($v=1) чтобы передать константу. както лажово. вот выясняю может проще можно. как насчет вопроса №2 - исчезнет ли старый тип передачи по ссылкам в будущем?
мне кажется вам мешает C'шная привычка к указателям... В php ссылки означают лишь то что к одному содержимому можно обращаться разными именами переменных. http://ru.php.net/manual/ru/language.references.php
мне не мешает это =). просто у меня много раз вызывается функция с разными параметрами (один из которых бооольшой обьект/массив, один и тотже вызывается несколько раз). если пользовать без ссылок то тормозит, а с ссылками - устаревшая концепция. получается разработчики PHP убрали старую функциональность а новую фишку на замену старой недобавили. ЗЗЫ не убрали а тока сказали устарело. Вопрос чем заменить?
ЗЗЫ я знаю что такое ссылки в PHP: слава богу не новичек. Я просто хочу узнать как Олл решает схожие проблемы? когда копирование МЕГА обьекта неприемлемо, ссылки нового вида не доступны (уродский вид). ЗЗЗЫ так кто нить ответит уберут старую семантику или нет в будущем?
из мануала. ссылку на страницу я привел выше. об этом не было упоминания, но изменения относительно ссылок в php6 таки будут: http://www.php.net/~derick/meeting-notes.html
это позволяет также не копировать обьекты. точный линк не дам, но об этом говорится в мануале по PHP5. Вот цитата из мануала по PHP5 на русском: вот у меня производительность и падает без ссылок :-((