Прямо сейчас у меня есть следующий код:
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");
}