![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Задача:
Инициализировать значение вариаблы при первом обращение к ней, не вызывая функцию напрямую до обращения вывода. Код который есть
но он не работает, так как в $GLOBALS['var'] записывается сама функция, а не её результат или вызов. Код сверху должен по поставленой задачи выдать строку "checkхххх", если убрать все print_f, тогда не выдать ничего. -------------------- Скажи миру - НЯ! |
|||
|
||||
| krypt3r |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: 3 Всего: 16 |
Вызовы функции обычно заканчиваются круглыми скобками.
PS. Г-код детектед |
|||
|
||||
| animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
krypt3r, Всё верно, но вариблы нет, а так как вызываться должно одно и тоже много раз, нужно, чтоб вариабла была само запускаемой функцией - как это сделать?
-------------------- Скажи миру - НЯ! |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
Совсем непонятно, чего Вы хотите.
Какую задачу Вы пытаетесь решить? Задачу с практичной целью, а не то, что в первом посте. Возможно, хоть станет понятнее, почему Вы решили поступить так, как описали. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Arantir, У меня есть функция, которая ресурсоёмкая, её результат я кладу в глобальную вариаблу. Все глобальные вариаблы прописываются в файле, который инклудится всеми скриптами. Там в основном статические данные, либо данные, которые по ходу дела заполняются одноразово автоматический другими функциями. А тут так выходит, что чтобы заполнить вариаблу нужно прогнать функцию отдельно. Всё пока ничего, но факт, в том, что зачастую забываю прописать вызов этой функции, и потом по часу ищу причину ошибки, отсюда задумалась, глобально искоренить проблему таким вот ходом, чтоб при первом вызове вариаблы, запускалась функция её заполнения, а потом там лежал статический контент.
Да бы тема не скатывалась в переубеждение сделать по другому, давайте продержимся рассмотрения данной задачи, как это записано в описание раздела "Теоретический форум касающийся поиска наиболее рациональных и оптимальных решений при программировании конкретных задач, а также общие принципы работы с PHP" Для меня такой подход является наиболее оптимальным, и я хочу в теории понять, как можно сделать такую фишку -------------------- Скажи миру - НЯ! |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
вариабла... где слов то таких нахватались
тут пороть надо, а не переубеждать по теме:
Это сообщение отредактировал(а) baldina - 11.6.2013, 16:37 |
|||
|
||||
| Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 41 Всего: 60 |
Ошибка будит так не крути "check Fatal error: Cannot destroy active lambda function" так как не успевает анонимная функция отработать, как мы пытаемся ее грохнуть.
-------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
| animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Sanchezzz, Печалько, насколько ненавижу яваскрипт, но возможность такого рода извращений там мне нравится.
-------------------- Скажи миру - НЯ! |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
baldina, вам уже дал пример -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| Arantir |
|
||||||||||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
Разве что оно изначально тщетно... Прописывая
Если бы это было пользовательским классом, то можно было бы переопределить __get() и делать при обращении к значению что угодно. Но с глобальным встроенным массивом это не прокатит. Как минимум придется смирится со скобками. Тогда можно сделать так:
Добавлено через 11 минут и 13 секунд Какая удивительная вещь - жирный шрифт. А вот так описание уже на моей стороне: "Теоретический форум касающийся поиска наиболее рациональных и оптимальных решений при программировании конкретных задач, а также общие принципы работы с PHP". Теперь и не скажешь, что "сделать по другому" не соответствует описанию раздела. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
||||||||||
|
|||||||||||
| animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Arantir, предлагаю мировую на соединительном слове "а также" ;)
Пришлось сделать через вызовы функции, тут как бы не дело принципа было, а скорее интерес найти границы возможного, вроде бы что яваксрипт, что ПХП выкатились с С/С++ со всеми вытекающими, но видимо где-то больше где-то меньше -------------------- Скажи миру - НЯ! |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Это ненужно Вы можете использовать javascript напрямую в php http://php.net/manual/en/book.v8js.php -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Fortop, Стоп, но ведь если в яваскриптах есть само запускающиеся переменные-функции, и есть такая библиотека, то можно теоретический всё-таки впихнуть невпихуемое или?
-------------------- Скажи миру - НЯ! |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Я же не знаю какое извращение ты хочешь сделать. В любом случае вызов js будет выглядеть сложнее чем пример от baldina. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
animegirl, в яваскрипте нет самозапускающихся переменных. Возможность хранить в переменной функцию есть в обоих языках, и в обоих ее придется вызвать явно (php в этом смысле может оказаться интереснее за счет магических функций)
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |