Приветствую,
Хочу поделиться с сообществом некоторыми мыслями в плане развития языка PHP в целом. В дальнейшем подобные обсуждения, возможно, я буду поднимать снова, если данное покажет состоятельность и смысл их проведения.
Так случилось, что некоторое время я общаюсь с разработчиками PHP напрямую, что даёт мне возможность узнать некоторые новые вещи - и возможность их обсудить. Иногда мы делимся мнениями о том, какой вектор развития следует придать языку - какие новые возможности стоит вводить и т.п.
В настоящий момент замечательный разработчик Joe Watkins (автор небезызвестного APC для PHP) предложил ввести анонимные классы. Они подобны существующим анонимным функциям, но более функциональны и гибки. Детали можно посмотреть здесь.
Собственно, я хочу услышать мнения - стоит ли это разработки? Нужна ли такая функциональность? Если да, то, возможно, несколько в другом виде? Буду благодарен за конструктивные мнения и советы, обещаю наиболее интересные из них донести до разработчиков.
Просьба заранее - не писать только "Да/Нет/Всё равно" - так как такие ответы могли бы быть получены и без специального обсуждения, это - не "сбор подписей", но получение идей для развития, и, значит, предполагается конструктивизм. Надеюсь на понимание.
1. EuGen - 23 Сентября, 2013 - 13:18:39 - перейти к сообщению
2. esterio - 23 Сентября, 2013 - 13:24:48 - перейти к сообщению
синтаксис похож на JS, тоесть обьявления класса и вызов конструктора с параметром $controller. Меня больше волнует то, что будет еще более магии в коде и поиск связей будет еще менее прозрачним нежели сейчас. Ну и конешно PHPDoc не будет видавать подсказок сначала. Ну и описание целого анонимного класса не будет отличаться от описания обычного. Я думаю оно хорошо как новая возможность и фича, но не более. Будет что-то вроде трейтов - как бы существует, но не особо нужна ИМХО
3. EuGen - 23 Сентября, 2013 - 13:48:09 - перейти к сообщению
Ещё более хотелось бы услышать - почему стоит/не стоит их делать? То есть причина "почему бы и нет, такое в Java есть уже давно" или "не очень понятно в javascript, не стоит и здесь" - не совсем то, что хотелось бы видеть. Каковы плюсы/минусы использования? Какие возможности можно было бы охватить этим функционалом? и т.п.
4. esterio - 23 Сентября, 2013 - 14:18:59 - перейти к сообщению
Можно описать так
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $app->get('/hello/awesome/pink', new class extends BaseController {
- public function actionIndex() { /*...*/ }
- public function actionCreate() { /*...*/ }
- public function actionUpdate() { /*...*/ }
- public function actionDelete() { /*...*/ }
- });
Пока что придумал только такой функционал.