Хорошо, я очень расстроен, потому что я думал, что я решил эту проблему, или успешно это сделал раньше. Быстрое предварительное: PHP 5.3.6. Сообщение об ошибках сработало до 11. ( -1 самом деле, в будущем безопасно, все ошибки / уведомления ) У меня есть класс, он агрегирует параметры запроса. Для хихиканья здесь урезанная версия: class My_Request{ […]
Быстрые спецификации: PHP 5.3 error_reporting(-1) // the highest Я использую __get() путем обращения к магическому доступу к произвольно глубоким элементам массива в объекте. Быстрый пример: public function &__get($key){ return isset($this->_data[$key]) ? $this->_data[$key] : null; } Это не работает, когда $key не задан, он пытается вернуть значение null по ссылке, что, конечно, бросает. Only variable references […]
Во-первых, цитата из руководства ole 'на ArrayAccess::offsetSet() : Эта функция не вызывается в назначениях по ссылке и иным образом косвенным изменениям в размерах массива, перегруженных с помощью ArrayAccess (косвенные в том смысле, что они сделаны не путем изменения измерения напрямую, а путем изменения подразмера или суб-свойства или назначения размера массива по ссылке на другую переменную). […]
Я заметил странное поведение с синглотами в PHP, нет лучшего способа объяснить это, но с примером. Предположим, у меня есть следующий одноэлементный класс: class Singleton { protected function __construct() { // Deny direct instantion! } protected function __clone() { // Deny cloning! } public static function &Instance() { static $Instance; echo 'Class Echo'.PHP_EOL; var_dump($Instance); if […]
Я просто запускал несколько простых отладочных тестов против массивов и замечал, что когда я делаю var_dump () массива, вывод помещает любой элемент в массив, на который ссылается другая переменная. В качестве простого эксперимента я выполнил следующий код: $array = range(1,4); var_dump($array); echo '<br />'; foreach($array as &$value) { } var_dump($array); echo '<br />'; $value2 = […]
Почему функции обработки функций, такие как call_user_func() поддерживают передачу параметров по ссылке? В документах написаны такие простые вещи, как «Обратите внимание, что параметры для call_user_func () не передаются по ссылке». Я предполагаю, что у разработчиков PHP была какая-то причина для отключения этой возможности в этом случае. Были ли они связаны с техническим ограничением? Это был […]
Для начала я понимаю программирование и объекты, но следующее не имеет большого смысла для меня в PHP. В PHP мы используем оператор & для получения ссылки на переменную. Я понимаю ссылку как способ ссылаться на ту же «вещь» с другой переменной. Если я скажу, например $b = 1; $a =& $b; $a = 3; echo […]
Насколько они разные? Вот что я думаю, но я не уверен … Если вы используете pre-incrementation, например, в цикле for с ++ j, то вы в основном говорите: «Сделайте копию значения j для использования в цикле, затем увеличьте j, а затем выполните инструкции в петля с копией j. " Если вы используете пост-инкрементирование в том […]