Все может быть) Закрадываются сомнения, что в данном контексте, имееться в-виду что-то другое
Конечно, лучше каждый раз писать if ($this->logger), мы не ищем легких путей. https://github.com/php-fig/log/blob/master/Psr/Log/NullLogger.phpНуль-объекты - это какой-то абсурд.
Какую смысловую нагрузку ты вкладываешь во фразу «объект заменяющий NULL, как SplBool заменяет значения true/false»?Нуль-объект, т.е. объект заменяющий NULL, как SplBool заменяет значения true/false и твой NullLogger, который является объектом логера - это вообще песни из разных опер.
Ты знаешь несколько определений Null Object'а? Поделись со мной, я знаю только http://en.wikipedia.org/wiki/Null_Object_pattern. NullLogger как раз является частным случаем.это вообще песни из разных опер.
имееться в-виду
Ту, которая выходит из контекста сообщений в этой теме. Не return null, а return SplNull.Какую смысловую нагрузку ты вкладываешь во фразу «объект заменяющий NULL, как SplBool заменяет значения true/false»?
Патерн Null Object по сути своей имеет отношение к null лишь словом в названии. По крайней мере я говорил не о нем.Ты знаешь несколько определений Null Object'а?
Какую смысловую нагрузку ты вкладываешь во фразу «объект заменяющий NULL, как SplBool заменяет значения true/false»?
Я лично в этой теме слышу какой-то бред про SplBool, а в бреде смысла нет. Если ты видишь в бреде смысл, то у меня для тебя плохие новости.Ту, которая выходит из контекста сообщений в этой теме. Не return null, а return SplNull.
Имеет прямое отношение. Иди Википедию ещё раз почитай что ли. Или просто поубавь гордости и научись признавать ошибки.Патерн Null Object по сути своей имеет отношение к null лишь словом в названии. По крайней мере я говорил не о нем.
// куда всунуть SplNull?
/**
*@return IAnimal
*/
public function factory($animalType){
switch($animalType) {
// ...
default: return new NullAnimal();
}
}
public function makeSound(IAnimal $animal){
$animal->makeSound();
}
$y->makeSound($x->factory('barbos'));
То есть ты считаешь, что @Redjik хотел SplNull? И при этом утверждаешь, что в этом нет смысла? Если в этом нет смысла, то почему ты считаешь, что @Redjik этого хотел? Ты считаешь его тупым? Ты считаешь себя самым умным?В PHP есть такая херня, как SplType. Там есть SplBool, что бы было не true/false, а этот объект. Что бы работал тайпхинтинг и прочее.
Далее, 33 и 34 и 38 сообщение этой темы. Я его понял так - что мешает сделать SplNull аналогично SplBool и возвращать его вместо null.
На что и ответил, что это абсурд.
array()? или Array<Object>нуль обьектов хочется на самом деле