Intereting Posts
API Карт Google v3: как установить уровень масштабирования и центр карты в отправленное пользователем местоположение? вставить значение формы html в базу данных mysql создание всей комбинации в PHP Как добавить страницу PHP в WordPress? PHP и MySQL: преобразование сохраненного TIMESTAMP в локальный часовой пояс пользователя Передача значений на другую php-страницу с использованием тега привязки Как вставить несколько значений флажка в таблицу? Как добавить новый метод к объекту php на лету? Список каталогов на PHP, где имя начинается с цифры Как использовать MySQL Found_Rows () в PHP? Важно ли проверять, является ли загруженный файл фактическим файлом изображения? PHP: конструктор SoapClient работает очень медленно (занимает 3 минуты) Есть функция для возврата определенных ключей массива? Используйте дефис (-) вместо косой черты (/) или подчеркивания (_) в маршрутах Как я могу использовать WebEx URL / XML API для регистрации пользователя для события?

Zend 1.11 и Doctrine 2 Auto генерируют все необходимое из уже существующей базы данных

Я новичок в ORM, и я очень хочу его изучить. Мне удалось установить все классы и конфигурации для Doctrine 2.1 с Zend 1.11.x, следуя этому руководству.

http://www.zendcasts.com/unit-testing-doctrine-2-entities/2011/02/ Использует сценарии плагинов и доктрин Bisna.

Теперь моя проблема заключается в том, что он ясно объясняет, как создавать сущности и таблицы через классы доктрины, но не объяснять, как автоматически генерировать прокси-серверы и классы репо из уже существующей базы данных, что помогает мне выбирать, вставлять и обновлять. Я всегда создаю свои базы данных с помощью MySQL Workbench.

Я также следил за приведенным ниже учебным пособием

Моя база данных настолько сложна, что отношения текут всеми возможными способами. Если я следую шагам, которые объясняются в этих учебниках, я никогда не завершу свой проект. Может кто-нибудь объяснить, как начать использовать Doctrine после настройки. Учитывая, что у меня уже есть база данных, и мои папки моделей пустые. У меня есть структура моей папки, как показано ниже.

C:/zf/library/Doctrine C:/zf/library/Symfony C:/zf/library/ZC -- (my model which should contain the proxies and repo of Doctrine. At the moment it contains nothing.) C:/zf/library/Zend C:/zf/scripts/doctrine.php 

Пожалуйста, помогите мне!

Я опубликовал этот же пост вчера, и никто не ответил на мой пост. Пожалуйста, дайте мне знать, если вам понадобится больше информации от меня.

Спасибо,

Картик

Согласно Doctrine, вы должны сначала создать свои сущности, а затем создать свою схему базы данных из этих объектов.

Но поскольку у вас уже есть база данных, вы, вероятно, этого не хотите. Можно преобразовать вашу базу данных в объекты Doctrine2 в PHP, XML или Yaml.

Вы должны поближе познакомиться с инструментами командной строки, предлагаемыми Doctrine, с клеем Bisna, потому что там вы можете создать много материала.

Чтобы сгенерировать сущности из вашей базы данных, рассмотрите следующую команду:

 php doctrine.php orm:convert-mapping --from-database php ../library/Application/Entity 

Вы также можете определить пространство имен и базовый класс, которые ваши сущности должны расширять с помощью: –namespace = namespace и –extends = class.

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

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

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

Оба могут быть созданы с использованием следующих команд командной строки Doctrine из корневого каталога вашего приложения:

 php scripts/doctrine.php orm:generate-proxies php scripts/doctrine.php orm:generate-repositories library/ 

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

Представитель службы поддержки ORM Designer сказал, что они «работают над» этой функцией и что она «очень востребована». Здесь мы надеемся, что он будет включен в ORM Designer 2.0, так как обычно существует много повторяющихся действий в классах кодирования / сопоставления объектов, которые, вероятно, могут быть автоматизированы.

Вы можете использовать команду orm:generate-entities если вы предоставляете информацию о сопоставлении в формате XML или YAML.

См. http://www.doctrine-project.org/docs/orm/2.1/en/reference/tools.html#entity-generation

Для разработки настройте генерацию прокси-сервера в своей конфигурации, иначе используйте команду orm:generate-proxies .

Если вам не нужно настраивать свои репозитории, общие роды создаются в диспетчере сущностей по запросу. Чтобы указать пользовательские репозитории, просто используйте атрибут сопоставления сущности repository-class .

См. http://www.doctrine-project.org/docs/orm/2.1/en/reference/xml-mapping.html#defining-anentity для примера.