Это нормально / можно инициализировать массив с новыми объектами в php - PullRequest
0 голосов
/ 12 сентября 2018

То, что я хочу попробовать:

class thing{
  public $name = "default";
  public $stats = [1,2];
}

$myArray = (object)array(new thing,'internalArray'=>[(object)[],new thing]) //un-named objects in a complex array/object

Существует множество способов «поместить» объекты в массивы.Вопрос, который я задаю, заключается в том, где находятся границы и ограничения при помещении объектов в новые массивы.Этот конкретный вопрос может не привести к наиболее эффективному ответу для многих читателей, но он, по крайней мере, прояснит, почему (для меня) новый объект является / не является хорошей практикой в ​​инициализированном массиве.

При поиске черезРуководство по PHP, переполнение стека и ... W3Schools - я обнаружил, что практически ничего не помогает в этом конкретном случае, в зависимости от того, как вы воспринимаете отсутствие примеров.Никакая информация не может просто означать, что это «глупая идея», и никогда не стоит возражать против этого.

1 Ответ

0 голосов
/ 12 сентября 2018

Конечно, можно инициализировать массив с объектами в нем.

То, что это "хорошо", вероятно, зависит от того, чье мнение вы предпочитаете и / или какую цель вы пытаетесь достичь. Я бы лично оптимизировал для удобочитаемости в первую очередь; с этой точки зрения «инициализация массива с объектами в нем», безусловно, может быть правильным выбором.

Однако, с точки зрения читабельности, я должен сказать, что нахожу пример довольно запутанным. Я вижу массив, который имеет сочетание числовых и некоторых ассоциативных индексов, которые преобразуются в стандартный объект. Если целью является читабельность, возможно, есть лучшие способы выразить намерение кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...