powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Насколько ли оправдан знак доллара в начале всех переменных?
24 сообщений из 74, страница 3 из 3
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309243
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHookа так можно в пыхе?
да, начиная с 5.3 версии
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309327
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uFishHookа так можно в пыхе?
да, начиная с 5.3 версии
всю жизнь можно было. хотя документация говорит PHP 4 >= 4.0.1,

Код: php
1.
2.
3.
$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
echo "Новая анонимная функция: $newfunc\n";
echo $newfunc(2, M_E) . "\n";
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309350
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>>$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
это еще хуже, чем $$name
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309373
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторэто еще хуже, чем $$name
вы просто не умеете их готовить(С).
очень интересно чем вы замените
Код: php
1.
2.
3.
foreach $array as $key =>$value{
   $this->$$key = $value
}
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309382
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowвсю жизнь можно было. хотя документация говорит PHP 4 >= 4.0.1,
ну это не совсем то. это "финт ушами" а не анонимные функции))
create_function создает обычную функцию с УНИКАЛЬНЫМ именем в глобальной области видимости, и возвращает не указатель на эту функцию, а просто СТРОКУ с именем этой функции.
а далее, используется описанный выше механизм, с вызовом функции по динамическому имени $funcName();
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309386
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если оно выглядит как анонимные функции, работает как анонимные функции и вызывается как анонимные функции - может это и есть анонимные функции?

а то что ВЫ называете анонимными функциями php называет Closure и это класс. внезапно.
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309427
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHook>>>$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
это еще хуже, чем $$name

А так:
Код: php
1.
2.
3.
4.
5.
$newfunc = function ($a, $b) {
  return "ln($a) + ln($b) = " . log($a * $b);
}

$ret_value = $newfunc(2, 4);


или
Код: php
1.
2.
3.
4.
5.
6.
7.
function my_cool_function ($a, $b) {
  return "ln($a) + ln($b) = " . log($a * $b);
}

$newfunc = function ($a, $b) { return my_cool_function($a, $b); }

$ret_value = $newfunc(2, 4);



На самом деле вопрос скорее не удобства написания таких конструкций, а того где и как мы собираемся это использовать. А то сдуру можно...
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309428
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowавторэто еще хуже, чем $$name
вы просто не умеете их готовить(С).
очень интересно чем вы замените
Код: php
1.
2.
3.
foreach $array as $key =>$value{
   $this->$$key = $value
}


а что делает этот код?
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309441
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowесли оно выглядит как анонимные функции, работает как анонимные функции и вызывается как анонимные функции - может это и есть анонимные функции?
несовсем. настоящие анонимные функции не гадят в global scope и доступны только там где объявлены
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309471
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHookScareCrowпропущено...

вы просто не умеете их готовить(С).
очень интересно чем вы замените
Код: php
1.
2.
3.
foreach $array as $key =>$value{
   $this->$$key = $value
}


а что делает этот код?
а вы наверное русский!
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309481
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowFishHookпропущено...

а что делает этот код?
а вы наверное русский!
А как Вы догадались?
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309485
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrow,
вы опишите задачу и я Вам покажу, чем я заменю неочевидный и понятный код.
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309514
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHookScareCrowпропущено...

а вы наверное русский!
А как Вы догадались?
вы обосрали то в чем не разбираетесь.

Модератор: Заканчиваем флудить!
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309614
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r u,

в безклассовом ПХП - всё в глобальной области, насколько понимаю другой там не было... так что это тоже анонимы по сути.
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309629
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHookScareCrowпропущено...

вы просто не умеете их готовить(С).
очень интересно чем вы замените
Код: php
1.
2.
3.
foreach $array as $key =>$value{
   $this->$$key = $value
}


а что делает этот код?

Присваивает свойству объекта, имя которого содержится в переменной, имя которой определяется ключом элемента массива - значение этого ключа массива. Типа так:

$name = 'to';
$word = 'what';
$array = array( 'name'=>'Вася', 'to'=>'привет');
...
получим объект $this, с дополнительными свойствами в json нотации: {"to":"Вася", "what":"привет"}

, кстати в различных интеллектуальных системах производства выводов (ИИ) не такая уж и редкая конструкция это самое "двойное разыменование" $$ .
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309635
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arhat109,

... потому что вполне возможно и такое:

$array = array("getMyFeature({$forMyBrainCrush})"=>'Вася');

:)
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309644
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно, я предпочитаю, когда подобные вещи делаются явно, посредством специального метода или функции.
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309650
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHook,

это не всегда возможно к сожалению. Я тоже предпочитаю, чтобы компилятор "готовил" рабочий код ещё ДО стадии линковки... но это тоже не всегда возможно (поэтому существуют интерпретаторы)... :)
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309662
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arhat109,

и, в данном контексте, знак доллара как явное разыменование переменной - есть большая польза.

Во-первых, существенно упрощается сам интерпретатор... даже до однопроходного.
Во-вторых, позволяет явно использовать оператор там, где он действительно нужен. Что существенно упрощает процесс писания реально сложных вещей.

Просто не надо пользовать то, что не требуется по контектсту... иначе (как часто и правильно замсечают) можно и "прибор" сломать.

:)
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309664
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arhat109FishHook,

это не всегда возможно к сожалению. Я тоже предпочитаю, чтобы компилятор "готовил" рабочий код ещё ДО стадии линковки... но это тоже не всегда возможно (поэтому существуют интерпретаторы)... :)
например питон?
getattr, setattr - всё понятно и логично
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309667
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arhat109,

ну и "другой вопрос": насколько реально оправдано применение ПХП (мощный и крайне интересный язык) в приложении к Г-сайтописательству... (стоит ли им забивать гвозди?!?) :)
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309670
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHook,

там выше был вариант, когда в ключе подставляется метод с параметром ... сделает также одинаково через setattr() ? :)
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38309734
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arhat109FishHook,

там выше был вариант, когда в ключе подставляется метод с параметром ... сделает также одинаково через setattr() ? :)
разумеется
...
Рейтинг: 0 / 0
Насколько ли оправдан знак доллара в начале всех переменных?
    #38310152
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arhat109в безклассовом ПХП - всё в глобальной области, насколько понимаю другой там не было... так что это тоже анонимы по сути.
я вообщето об этом и говорю. что все в глобале. а в случае настоящих анонимных функций (которые есть в 5.3 и выше) видимость будет только там где используется эта ссылка на функцию. иначе к ней просто не обратиться из другого места.
...
Рейтинг: 0 / 0
24 сообщений из 74, страница 3 из 3
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Насколько ли оправдан знак доллара в начале всех переменных?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]