Инициализируйте свойство класса с анонимной функцией

Удостоверьтесь, что Вы называете.Dispose () правильно на Ваших изображениях, в других отношениях неуправляемые ресурсы не будут освобождены. Интересно, сколько изображений Вы на самом деле создаете здесь - сотни? Тысячи?

13
задан Chris Gow 27 October 2009 в 19:22
поделиться

2 ответа

Потому что это не реализовано в PHP.

http://www.php.net/manual/en/language.oop5.properties.php . Цитата:

Они (свойства) определяются с помощью одного из ключевые слова общедоступные, защищенные или частный, за которым следует обычная переменная декларация. Это заявление может включить инициализацию, но это инициализация должна быть постоянной ценность - то есть она должна быть в состоянии оценивается во время компиляции и не должен зависит от информации времени выполнения в

Вы не можете инициализировать свойства подобным образом, функции не являются постоянными значениями. Отсюда мой первоначальный ответ «это не реализовано».

Почему не реализовано? Об этом я могу только догадываться - наверное, это довольно сложная задача, и никто не взялся за ее реализацию. И / или на такую ​​функцию может не хватить спроса.

20
ответ дан 1 December 2019 в 22:23
поделиться

Закрытия не существуют в PHP до PHP 5.3 (последняя версия). Убедитесь, что у вас установлен PHP 5.3, если вы хотите это сделать.

В более ранних версиях вы можете как бы дублировать эту функциональность с помощью функции create_function (), примерно так:

$someFunc = create_function($args,$code);
$someFunc();

Где $ args - это строка, отформатированная как " $ x, $ y, $ z "и $ code - это строка вашего PHP-кода.

2
ответ дан 1 December 2019 в 22:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: