#php #fixtures
#php #приспособления
Вопрос:
Мне просто интересно, знает ли кто-нибудь, как передать пустой массив методу, использующему Alice fixture generator
Итак, если у меня есть класс, подобный
class User
{
private function __construct($name, array $images)
{
$this->name = $name;
$this->images = $images
}
public static function create($name, array $images)
{
return self::create($name, $images);
}
}
Как я могу вызвать это в Alice? Я пробовал использовать пустые скобки массива, но он распознает это только как строку
NamespaceModelUser:
user{1..10}:
__construct: { create: [ @identity<current()>, [] ] }
Комментарии:
1. Как вы думаете, почему вы вообще можете использовать массив как часть данных прибора? Пожалуйста, предоставьте ссылку, на которой вы основываете свое предположение, иначе люди просто ни с того ни с сего задали бы здесь кучу вопросов по SO. Вам нужно сделать это гораздо более конкретным, иначе это не вопрос программирования. Поэтому, пожалуйста, поделитесь, почему это вообще должно работать?
2. Почему вы думаете, что не можете? Это не очень полезный комментарий, не так ли. И я не думаю, что этот вопрос заслуживает того, чтобы быть отмеченным tbh. В документации упоминается передача массива в других обстоятельствах
https://github.com/nelmio/alice/blob/master/README.md#multiple-references
, поэтому я думаю, что здесь уместно задать разумный вопрос. Не каждая функция инструментов всегда документирована, иногда это подразумевается, и поэтому это именно то место, где можно спросить людей, которые могут обладать подробными знаниями3. И вы уже связались с поставщиком для получения разъяснений или просто вы не проводили никаких исследований, прежде чем спрашивать? И не мне нужно указывать, что массивы невозможны. Это относится к области человека, который задает вопрос. Предоставьте как можно больше информации по конкретному вопросу. Не моя вина, если это не задокументировано (я не знаю, но из вашего вопроса прозвучало, что вы не ссылались ни на какие спецификации, что чаще всего неконструктивно, не моя вина, если у вас нет документов под рукой, вы, вероятно, хотите спонсировать проект, чтобы изменить это).
4. Это звучит как законный вопрос для меня, не уверен, почему он получен таким образом… Я конкретно не понимаю, почему за закрытие проголосовали 3 раза, поскольку вопросы с просьбой порекомендовать или найти инструмент, библиотеку или любимый сторонний ресурс не по теме : OP не запрашивал никаких рекомендаций, а просто о том, как выполнить данную задачу с использованием данной библиотеки.
5. Не знаю, связано ли это с новой версией Alice, но приведенный выше код fixtures работает для меня, используя пустые квадратные скобки для пустого массива. Но в вашем приведенном выше коде есть проблема с рекурсией, я думаю, что код метода create должен скорее читаться как
return new self($name, $images);
.