Size: a a a

2020 July 03

S

Shurick in PHP
Kirill Nesmeyanov
например, private array $some = [] в трейтах вызывает ошибку (не инициализируется пустым массивом)
private $some = [];
источник

KN

Kirill Nesmeyanov in PHP
Shurick
private $some = [];
?
источник

S

Shurick in PHP
смысл задавать тип свойству у которого уже есть значение, был бы куда интереснее код private ?array $some;
источник

KN

Kirill Nesmeyanov in PHP
Shurick
смысл задавать тип свойству у которого уже есть значение, был бы куда интереснее код private ?array $some;
потому что можно (с)
источник

AM

Artem Molotov in PHP
Shurick
смысл задавать тип свойству у которого уже есть значение, был бы куда интереснее код private ?array $some;
а значение не может измениться?)
источник

KN

Kirill Nesmeyanov in PHP
ну он имел ввиду, что типы нужны в местах раскрытия
источник

KN

Kirill Nesmeyanov in PHP
ну типа в protected и public
источник

KN

Kirill Nesmeyanov in PHP
а private и так контролируется самим кодом, так что и тайпхинт не нужен
источник

KN

Kirill Nesmeyanov in PHP
но у меня есть подозрения, что protected array $some = [] тоже будет ломаться
источник

KN

Kirill Nesmeyanov in PHP
отличия private от protected лишь в том какое имя у поля внутри хешмапы
источник

DD

Darkwing Duck in PHP
когда я вижу человека знающее внутреннее устройство пыхи - спрашиваю себя "а надо ли мне до такой степени это изучить или и так сойдёт?"
источник

ES

Eugene She in PHP
“Кто эти люди» 😆
источник

KN

Kirill Nesmeyanov in PHP
Darkwing Duck
когда я вижу человека знающее внутреннее устройство пыхи - спрашиваю себя "а надо ли мне до такой степени это изучить или и так сойдёт?"
Ну иногда полезно:
class Test
{
   private $private = 23;
   protected $protected = 23;
   public $public = 23;
}

var_dump((array)new Test);
источник

KN

Kirill Nesmeyanov in PHP
array(3) {
 ["\0Test\0private"]=>
 int(23)
 ["\0*\0protected"]=>
 int(23)
 ["public"]=>
 int(23)
}
источник

KN

Kirill Nesmeyanov in PHP
Т.е. при попытке преобразовать подобный объект в массив  можно огрести проблем, т.к. имена содержат \0
источник

KN

Kirill Nesmeyanov in PHP
что в свою очередь, зачастую, означает "конец потока"
источник

KN

Kirill Nesmeyanov in PHP
т.е. при выводе в консоль может обрезаться дальнейшее, так же как и при записи в файл
источник

DT

Dmitriy Tkachenko in PHP
Darkwing Duck
когда я вижу человека знающее внутреннее устройство пыхи - спрашиваю себя "а надо ли мне до такой степени это изучить или и так сойдёт?"
если писать на пхп - итак сойдет. Если хочется контрибьютить, или хакнуть чего-нибудь, или просто интересно как то или иное в действительности работает - ну ты понял
источник

DD

Darkwing Duck in PHP
Kirill Nesmeyanov
Т.е. при попытке преобразовать подобный объект в массив  можно огрести проблем, т.к. имена содержат \0
когда я преобразовываю объекты я пишу тесты или свой _toArray()
источник

DD

Darkwing Duck in PHP
этож страшное дело полагаться что всё пойдет по плану)
источник