Документация, это не определение функции. Void может указывать на то, что функция не возвращает ничего значимого. Так же можно в phpdoc указывать псевдотипы mixin, callback и другие для улучшения понимания, хотя таких типов в языке нет. :)
Вся эта «эмуляция свойств материального мира», доведённая до крайности — чушь.
Все эти книжки, в которых авторы наследуют студентов от людей — бред, после которого начинающие читатели вообще не понимают, как использовать ООП в реальных условиях.
Как вам сделать наследование в программе, можно ответить только после того, как вы расскажете, что за программа и как вы эти объекты собираетесь использовать.
allow_call_time_pass_reference печально, что убрали.
Мне самому это не нужно, но иногда приходится что-то исправить в старье каком-то, а том передача с "&" зачастую бывает используется.
Тоже поначалу нервировало, а потом привык и не замечаю.
Гораздо сильнее нервирует то, что для namespace нет автолоада, как для классов, так что простые наборы функций приходится по прежнему оборачивать в классы.
Можно много спорить о терминах, как лучше что назвать.
Но называть передачу объекта и передачу переменной с "&" одним и тем же термином — «передача по ссылки» неверно. Так как это совершенно разные «по ссылки».
Из-за подобных путаниц в терминах и возникают подобные бессмысленные многабукфы и новички усваивают неверные понятия.
Избавьтесь, пожалуйста, от оборотов «вы хотя бы понимаете».
В питоне класс — такой же объект, который можно использовать, как объект и динамически менять, как объект, с внесением изменений во все порождённые объекты (как с прототипами в JS).
Круто, можно транзакции для key-value делать в отличии от мемкэша
Только программирование к «эмуляции материального мира» имеет отношение только в подобных книженциях.
Все эти книжки, в которых авторы наследуют студентов от людей — бред, после которого начинающие читатели вообще не понимают, как использовать ООП в реальных условиях.
Как вам сделать наследование в программе, можно ответить только после того, как вы расскажете, что за программа и как вы эти объекты собираетесь использовать.
Мне самому это не нужно, но иногда приходится что-то исправить в старье каком-то, а том передача с "&" зачастую бывает используется.
Гораздо сильнее нервирует то, что для namespace нет автолоада, как для классов, так что простые наборы функций приходится по прежнему оборачивать в классы.
Люди, верните справедливость! А меня можете заминусовать.
Но называть передачу объекта и передачу переменной с "&" одним и тем же термином — «передача по ссылки» неверно. Так как это совершенно разные «по ссылки».
Из-за подобных путаниц в терминах и возникают подобные бессмысленные многабукфы и новички усваивают неверные понятия.
Я просто хотел сказать, что на мой взгляд каких-то фундаментальных различий тут нет.
Давайте оставим это :)
Это работает только в JS-версии, но не в «обобщённой».
Ну и тоже самое на питоне:
class One: X = 1; class Two (One): pass obj = Two() print(obj.X); // 1 One.X = 2; print(obj.X); // 2В питоне класс — такой же объект, который можно использовать, как объект и динамически менять, как объект, с внесением изменений во все порождённые объекты (как с прототипами в JS).
И чем подобный прототип принципиально отличается от классов в питоне?