Альтернатива ключевому слову 'or' в PHP

Прямо сейчас у меня есть следующий код:

stream_wrapper_register("var", "VariableStream")
    or die("Failed to register protocol");

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

Как именно работает ключевое слово 'или'?

Во многих вопросах или ответах SO я видел людей, создающих функцию, например:

function doStuff() {
    header('HTTP/1.1 500 Internal Server Error');
    die("Failed to register protocol");
}

stream_wrapper_register("var", "VariableStream")
    or doStuff();

... но это своего рода непрактичный в объектно-ориентированном контексте, поскольку я действительно не хочу создавать метод для этого в моем объекте, и я пока не могу использовать закрытие.

На данный момент я использовал этот код, но не уверен, что он будет иметь точно такое же поведение :

if (!stream_wrapper_register("var", "VariableStream") {
    header('HTTP/1.1 500 Internal Server Error');
    die("Failed to register protocol");
}
5
задан FMaz008 2 February 2012 в 14:41
поделиться