PHP6. Вести с фронта.

camka

не самка
tony2001

Из всех ваших высказываний могу сделать только один вывод: реализация такой фичи - дело не двух минут, и корпеть над ней никто не будет, так как "и без вас тошно".

Да, и, зачем же, все-таки, такой синтаксис с объектами внедрили, всё никак не пойму. Понимаю, было всё понятно - это объект полученный из функции, а это свойство или метод объекта, а тут поналепили - func()->method()->property; черт ногу сломит, перл прям какой-то, я не знаю.

-~{}~ 28.09.06 15:21:

да и конструкцию list() удалить бы тогда
 

whirlwind

TDD infected, paranoid
camka

> зачем же, все-таки, такой синтаксис с объектами внедрили

Ну разные это вещи. Объект один, а элементов массива много.

Насчет list согласен. Пользы от нее столько же, сколько от возможности указывать один элемент массива при получении оного из функции.
 

tony2001

TeaM PHPClub
>Из всех ваших высказываний могу сделать только один вывод: реализация такой
> фичи - дело не двух минут, и корпеть над ней никто не будет, так как "и без вас
> тошно".
дело не в реализации, а в принципе.
такие конструкции только добавляют сложности языку.

>да и конструкцию list() удалить бы тогда
двумя руками "за".
 

camka

не самка
whirlwind
ээээ... про list() - это был сарказм.

-~{}~ 28.09.06 15:34:

tony2001
Сложности, в смысле читабельности кода, или внутренней реализации языка?
 

whirlwind

TDD infected, paranoid
> ээээ... про list() - это был сарказм.

а я нифига не шутил :)

list() и scalar() в перл - это форсирование контекста спискового и скалярного соответственно. нафига она в php, если

0. в php отсутствует понятие контекста
1. list может быть только приемником
2. все равно нотайс, на несуществующие индексы

если порыццо можно еще ченить найти в плане ее бесполезности
 

camka

не самка
tony2001

Тогда я не пойму, зачем сделали такое для объектов.
 

Rammstein

PHPClub::News
Может оставим только сложение и вычитание, а остальное.... ну его нафик :)
 

diamond_krnl

pure-php
а нормальные lambda функции будут?
вроде:
array_filter($a, function($i) { return $i>0; });
чем, по старинке:
array_filter($a, create_function("\$i", "return \$i>0;"));
 

phprus

Moderator
Команда форума
diamond_krnl
Можно узнать чем, по вашему мнению, вызвана необходимость того, чтобы php поддерживал такой синтаксис?
 

Frol

Новичок
phprus
пример приведен.
или ты хочешь чтобы тебя убеждали?
 

diamond_krnl

pure-php
phprus, посматрите на JavaScript, такой стиль открывает новые возможности,
не говоря о том что create_function по сути eval заведо медленный,
плюс ко всему это просто красиво, хотя фишка и без которой жить можно. :)
 

tony2001

TeaM PHPClub
Frol
приведен очередной удивительно нечитабельный пример.
нет, нам не нужно чтоб нас убеждали, что это - чем-то лучше.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: tony2001
приведен очередной удивительно нечитабельный пример.
нет, нам не нужно чтоб нас убеждали, что это - чем-то лучше.
Перевожу: потрошки PHP слишком кривы, чтобы функции можно было сделать first-class objects. ;)
 

fisher

накатила суть
>>Перевожу: потрошки PHP слишком кривы, чтобы функции
>>можно было сделать first-class objects.
а че почитать-то чтоб понять о чем ты. сорцы не предлагать ;)
кстати, в данном конкретном случае ты имхо вообще не о том - для любого языка приведенный пример выглядит чудовищно.
ну впрочем, как и create_function :)

>>двумя руками "за"
не трожь! че за большевизм пошел? :)
 

tony2001

TeaM PHPClub
Sad Spirit
я написал на русском, переводить там нечего, не трудись.
 

whirlwind

TDD infected, paranoid
tony2001 странное у Вас отношение к читабельности.

fisher
> приведенный пример выглядит чудовищно
для любого языка, где нет анонимных функций.
 

Frol

Новичок
tony2001
я рад, что create_function является для разработчиков пхп более читабельным.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: fisher
>>Перевожу: потрошки PHP слишком кривы, чтобы функции
>>можно было сделать first-class objects.
а че почитать-то чтоб понять о чем ты. сорцы не предлагать ;)
Издеваешься? http://en.wikipedia.org/wiki/First-class_object :)

Я тонко намекаю, что в PHP нет такой вещи, как литерал функции. В большинстве скриптовых языков, начиная с любимого народом жаваскрипта, это есть:
Код:
var foo = function(bar) { alert(bar); }
рассказы о том, что ни на что не похожий create_function() удобнее такой (более-менее) стандартной записи можно оправдать только чрезмерным PHPатриотизмом. ;) Или доскональным знанием потрошков PHP, не позволяющих это реализовать.
 
Сверху