Разбор ООП с Delphinum

26.99K
.
(\/)____o_O____(\/)
ДоХтор, попробуй сделать без указания типа объекта для аргумента, а сделать проверку
instanceof
.
(\/)____o_O____(\/)
http://php.net/manual/ru/langu ... e.php
.
# Koenig (25.11.2016 / 17:47)
ДоХтор, попробуй сделать без указания типа объекта для аргумента, а сделать проверку
instanceof
instanceof же в операторе if () прописывается, верно? И дальше уже идёт ветвление, в зависимости от того, что будет скобках if-а, истина или фальш -- верно?

А меня интересует именно правильное выполнение программы, если был передан не верный тип данных.
.
(\/)____o_O____(\/)
ДоХтор, ну вот если условие не верно, вызывай аммонимку
.
# Koenig (25.11.2016 / 17:48)
http://php.net/manual/ru/langu ... e.php
Ну да, подтверждение к моему предыдущему посту
if ( $classname instanceof MyParentClass) echo 'Child of it';
А мне надо нечто другое.
.
# Koenig (25.11.2016 / 17:52)
ДоХтор, ну вот если условие не верно, вызывай аммонимку
Вопрос именно в том, что должна анонимка делать? , а не каким образом её вызвать?
.
(\/)____o_O____(\/)
ДоХтор, !$classname
.
(\/)____o_O____(\/)
ДоХтор, что то типо exception?
.
Есть несколько типов ошибок, которые нельзя перехватывать с помощью обработчика (как ты хочешь), к ним относятся в основном ошибки синтаксиса. Я точно не знаю, относятся ли к ним ошибки уровня типизации, но думаю что да. Другими словами такого рода ошибки нельзя обработать корректно завершив программу, можно разве что записать инфу о них в какой нить лог или что то вроде того с помощью функции register_shutdown_function, но скрипт все равно будет убит.
.
# Koenig (25.11.2016 / 17:58)
ДоХтор, !$classname
Я о другом ... Если не ошибаюсь, вызов этой анонимной функции должен способствовать корректному завершению работы скрипта, в случае ошибочно переданного аргумента другого типа.

Лично мне это представляется примерно так, что анонимка должна автодополнять (или исправлять) не корректные параметры на параметры по умолчанию. Так вот верно ли я думаю?
Всего: 713