обратите внимание на проверку существования пользователя. если её не сделать,...

обратите внимание на проверку существования пользователя. если её не сделать, то код упадёт с ошибкой, потому что вызывается метод hasarticles() у null. это в принципе не важно в контексте замены такой проверки на null object pattern, но все-таки: код упадет в любом случае или только если перед нами пользователь не прошедший аутентификацию? 

приветствую, станислав!
код упадет в любом случае или только если перед нами пользователь не прошедший аутентификацию?
в первом примере, о котором идёт речь, код упадёт в случае если пользователь не прошел аутентификацию, если убрать из условия $this->usersignedin(). так как $this->currentuser будет содержать null и соответственно вызов метода getarticles() на null приведёт к ошибке. использование null object pattern как раз решает эту задачу, так как $this->currentuser будет всегда содержать пользователя. если пользователь аутентифицирован, то пользователя, а если нет - то гостя, у которого также есть нужный метод getarticles(). соответственно можно будет избавиться от дополнительной проверки.