Я создаю некоторые функции управления проектами.Laravel App :: make вызывает бесконечный цикл
Я использую модельные наблюдатели в Laravel для создания контрольного журнала всякий раз, когда модели создаются/обновляются/удаляются. Так, например, когда проект создается, наблюдатель автоматически создаст новый экземпляр модели аудита проекта, создав новую запись базы данных, в которой хранятся измененные поля. Этот наблюдатель также очищает соответствующие тайники, обеспечивая пользователю доступ к самой последней информации.
Проблема вызова хранилища кэша вызывает это сообщение об ошибке (без трассировки стека):
Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_ERROR)
Maximum function nesting level of '100' reached, aborting!
Я использую App :: сделать для вызова хранилища кэша:
$this->projectAuditCache = App::make('cache\ProjectManagement\Interfaces\ProjectAuditCacheInterface');
Затем хранилище репозитория аудита создает только один другой репозиторий, который не зависит от чего-либо еще.
Единственный возможный ключ на трассировки стека заключается в следующем:
Open: /home/vagrant/Sites/fixing/new_fixing/vendor/laravel/framework/src/Illuminate/Container/Container.php
* Determine if the given abstract has a leading slash.
*
* @param string $abstract
* @return bool
*/
protected function missingLeadingSlash($abstract)
{
return is_string($abstract) && strpos($abstract, '\\') !== 0;
}
Есть ли способ, чтобы получить эту работу? Является ли использование App :: неправильным способом?
Спасибо, Ed