Size: a a a

2020 November 03

AN

Alexander Nazarov in PHP
Dmitriy Tkachenko
не понимаю зачем оно нужно, что решит?)
Ну вот в клиентском коде, someFunction( array $argument1). Я работаю с объектами, и надо постоянно передавать объекты как массив.
источник

АС

Альберт Степанцев... in PHP
Alexander Nazarov
Ну вот в клиентском коде, someFunction( array $argument1). Я работаю с объектами, и надо постоянно передавать объекты как массив.
а зачем там array?
может быть там нужен iterable?
источник

AN

Alexander Nazarov in PHP
Может быть и нужен, но клиентский код я не в силах править
источник

АС

Альберт Степанцев... in PHP
а прокси-объект написать тоже не в силах?
источник

АС

Альберт Степанцев... in PHP
в котором всё так, как вам надо, а все "грязные" вызовы скрыты?
источник

АС

Альберт Степанцев... in PHP
в вашем коде будет нормальный тайп-чек
источник

AN

Alexander Nazarov in PHP
А чем это поможет? Не легче ли уже сделать интерфейс на toArray() и передавать все как someFunction($myObject->toArray())
источник

VS

Vlad Sobenko in PHP
Alexander Nazarov
А чем это поможет? Не легче ли уже сделать интерфейс на toArray() и передавать все как someFunction($myObject->toArray())
Ну так и делай. Ничем не хуже приведения типа
источник

АС

Альберт Степанцев... in PHP
Альберт Степанцев
в вашем коде будет нормальный тайп-чек
вот этим поможет
источник

AN

Alexander Nazarov in PHP
Там есть проблема, что клиентский код проверяет в массиве ключи, которые могут быть в моем обьекте. То есть я хочу в toArray не все property обьекта.
источник

АС

Альберт Степанцев... in PHP
типы лучше, чем array
источник

AN

Alexander Nazarov in PHP
Альберт Степанцев
типы лучше, чем array
я не понял, покажите пример? someFunction(array $argument)
Что толку если у меня будет прокси объект? new ProxyObject($MyObject)->toArray() - вот так?
источник

АС

Альберт Степанцев... in PHP
Alexander Nazarov
я не понял, покажите пример? someFunction(array $argument)
Что толку если у меня будет прокси объект? new ProxyObject($MyObject)->toArray() - вот так?
вместо $x->doSome(array $obj->toArray())
будет $x1->doSome(Class $obj)
источник

AN

Alexander Nazarov in PHP
ну да, красивенько
источник

АС

Альберт Степанцев... in PHP
а внутри $x1->doSome() уже будет вызывать $x->doSome(), делая нужный вам кастинг
источник

AN

Alexander Nazarov in PHP
ага, понял
источник

DT

Dmitriy Tkachenko in PHP
И там сделать toarray
источник

DT

Dmitriy Tkachenko in PHP
И сделать интерфейс хз, Arrayable
источник

DT

Dmitriy Tkachenko in PHP
Альберт Степанцев
нет ничего плохого в том, чтобы дать писать свою логику кастинга к любому типу
Такого типа кастинг не выглядит однозначно, не понятно зачем он вообще нужен кроме каких то корнеркейсов. Для дто ту аррэй есть get object vars
источник

VS

Vlad Sobenko in PHP
Дорогая ли транзакция, если никаких запросов в базе делаться по ней не будет? Просто откроем 3сек и закоммитим.
Пс. в  проекте можем одновременно работать с 2мя базами, но обычно только с 1й из них. И чтобы не париться - раздумываем всегда оборачивать код в транзакции с двух баз(если не дорого такое) MYSQL InnoDB
источник