2 min read

Работа с Doctrine ORM и Entity Framework

Понеже не съм от най-креативния тип хора, и не можах да измисля по-забавна идея, ще си направим обикновенно блогче.
За целта, трябва да си създадем ново Entity. Entity-то може да се разглежда като една таблица, т.е. то отговаря на таблица от базата данни.
То съдържа променливи, които отговарят на колони от таблицата, и при зареждане Ви се създава обект, който съдържа данните на даден ред.

Може и да звучи объркано, а и аз може би не успявам да го обясня достатъчно ясно, така че се надявам в процеса на създаването и работа с тях, да разберете за какво иде реч. Ново Entity се създава със следната команда

php app/console doctrine:generate:entity

Ще бъдете попитани за Shortcut name, където трябва да зададете namespace, и име за ентити класа, в нашия случай ще е ApplicationMainBundle:Article. След това, отново културно ще бъдете попитани за пропертита (или иначе казано колони за въпросната таблица), отново (ако ми имате достатъчно вяра :)), изберете веднъж title, тип string, length 255 и още веднъж content от тип **text **, за да се получи нещо от сорта на

Generate Entity

Готови сме с entity-то, сега трябва да ъпдейтнем базата данни, това може да извършим със следната команда

php app/console doctrine:schema:update --force

Сега, ако погледнете базата си данни ще видите новосъздадената си таблица, и какви колони сме създали.

Като за начало, понеже още не сме почнали със самия фронт-енд, ще го добавим в админа за администрация. Това може да направим със следната команда

php app/console sonata:admin:create

в следващият скрийншот са настройките, от които се нуждаем

generate admin class

Когато Ви пита за

**The services YAML configuration file [services.yml]:**admin.yml

аз съм избрал admin.yml, за да е по-четливо, Вие може да си изберете какъвто искате файл, или да използвате стандартният **services.yml **.Ако изберете друг, добавете тези редове в app/config/config.yml

imports: - { resource: parameters.yml } - { resource: security.yml } ....... # admin - { resource: "@ApplicationMainBundle/Resources/config/admin.yml" }

и вече може да влезнете в администраторският панел, и да си добавите първата статийка, която ще използваме в идните статии :)