Давайте посмотрим мою ЦМС

makaron

Новичок
Часто такое слышал, но никогда никто не мог объяснить причину. Я не могу найти случая, когда они будут плохими.
Мою точку зрения подтверждает PHP 5.4, в котором они уже всегда on.
<?= is now always available regardless of the short_tags setting (Rasmus)
http://svn.php.net/viewvc/php/php-src/tags/php_5_4_0alpha3/NEWS?view=markup
Или я невнимательно читаю?
Часто такое слышал, но никогда никто не мог объяснить причину. Я не могу найти случая, когда они будут плохими.
Провоцирует появлению пусть и легко опознаваемой, но ошибки.

Сделано для запуска деструкторов перед переопределением хранилица обектов, а также запуск в нужном порядке, при их использовании! Чем плох плох код? Плюс - я вот, не знаю, будет там теч или нет, но вдруг будет теч, а скрипт может быть долгожевущем, потому и принудительный unset, ибо возможно где-нибудь сохранится ссылка!
Я возможно не уловил всю суть взаимосвязей твоих деструкторов, и возможно у тебя действительно возникает ситуация позднего его вызова, по причине сохранившейся где-то ссылки на какой-то проперти. В таком случае мой "фейспалм" неактуален.
В другом случае:
PHP:
<?php
class A {
	static $count = 0;
	function __destruct()
	{
		echo 'destruct' . ++self::$count . "\n";
	}
}
$a = array();
for($i = 0; $i < 10; $i++){
	$a[] = new A;
}
// similar result -> unset($a); $a = array();
$a = array();
die('end');
 

deepslam

Новичок
чем же? если это намёк на то, что это алиас, то там вроде как никакого оверхеда нет на резолв
Да, это я ступил, на работе говорили разница есть, поверил не посмотрел в мануал, сейчас смотрю это просто алиас )
 

makaron

Новичок
Да, это я ступил, на работе говорили разница есть, поверил не посмотрел в мануал, сейчас смотрю это просто алиас )
В php это просто алиас, а в других языках поведение этих двух функций может существенно различаться.
 

Absinthe

жожо
makaron я просто обобщил, т.к. это было самое частое использование шорттегов.
P.S. 5.4: мультибайтовые строки с настройкой уровня PHP_INI_ALL радуют.
 
Сверху