Symfony2 - Как удалить / переместить объект? - PullRequest
3 голосов
/ 16 августа 2011

Я изучаю symfony2 и собираюсь создать несколько сущностей Doctrine в связке, я хотел их переместить.

Однако после перемещения и изменения любых экземпляров их ссылок я получал ошибки при попытке запустить мое приложение.

Я вернул их назад, и все было хорошо.

Теперь я просто пытаюсь удалить их полностью, но, опять же, я получаю ошибки при этом.

Любая помощь по удалению сущностей полностью?

Ответы [ 4 ]

3 голосов
/ 02 сентября 2011

Я сделал то же самое, что и мистер Пабло, но для пакета: я переместил пакет (переименовал) и изменил все вызовы к нему.

У меня та же ошибка:

ErrorException: Catchable Fatal Error: Object of class __PHP_Incomplete_Class could not be converted to string in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php line 70
in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php line 65
at ErrorHandler->handle() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php line 70
at AbstractToken->getUsername() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Bundle/SecurityBundle/DataCollector/SecurityDataCollector.php line 56
at SecurityDataCollector->collect() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/HttpKernel/Profiler/Profiler.php line 174
at Profiler->collect() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php line 90
at ProfilerListener->onKernelResponse()
at call_user_func() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Debug/TraceableEventDispatcher.php line 82
at TraceableEventDispatcher->doDispatch() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 3678
at EventDispatcher->dispatch() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 4754
at ContainerAwareEventDispatcher->dispatch() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 3904
at HttpKernel->filterResponse() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 3896
at HttpKernel->handleRaw() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 3846
at HttpKernel->handle() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 4791
at HttpKernel->handle() in /Volumes/Data/home/timi/Sites/symfony2/app/bootstrap.php.cache line 547
at Kernel->handle() in /Volumes/Data/home/timi/Sites/symfony2/web/app_dev.php line 20

Некоторая помощь будет приветствоваться:)

РЕДАКТИРОВАТЬ:

Ну, я решил проблему, Адам Стейси хорошо это слышал :)

Прежде чем что-либо менять, я вошел на веб-сайт с помощью брандмауэра FOSUserBundle.Изменив имя пакета, он обманул брандмауэр и застрял в строке 70 ./vendor/symfony/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php Вот функция:

public function getUsername()
{
    if ($this->user instanceof UserInterface) {
        return $this->user->getUsername();
    }

    return (string) $this->user;
}

Поэтому я закомментировал строку return (string) $this->user;, перезагрузил веб-страницу, вышел из системы, а затем отменил комментарий.И вуаля!

0 голосов
/ 16 августа 2011

Как упоминал Инори, вы пытались восстановить свои существа?

Если не попробовать это из CLI:

php app/console doctrine:generate:entities Acme
php app/console doctrine:schema:update --force

Замените "Acme" на свое имя, название компании или что-то, что вы использовали в ваших связках.

Другая вещь, которую вам, возможно, придется сделать, - это удалить все случаи, когда вы использовали сущности.

Например, у вас могут быть некоторые сущности в контроллерах, которые выглядят так:

use Acme\BundleName\Entity\SomeEntity;
use Acme\BundleName\Entity\AnotherEntity;

Их нужно будет удалить.

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

0 голосов
/ 16 августа 2011

Я слышал, что это иногда может быть связано с сессиями. Используете ли вы какие-либо пакеты для аутентификации или что-то подобное?

В вашем файле php.ini вы установили:

session.auto_start = Off

Это может быть далеко, но стоит попробовать. Дайте мне знать.

На отдельной заметке. Проходила ли настройка вашего сервера проверки в файле app / check.php, который вы можете запустить через CLI?

0 голосов
/ 16 августа 2011

Какие ошибки вы получили?

Убедитесь, что вы:

  1. Очистить кеш
  2. Перестроить базу данных
  3. Не иметь никаких отношений с ним
  4. У меня нет кода на основе сущностей
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...