maaximelh / easy-mvc
一个易于使用的MVC框架,实现了Doctrine ORM
dev-master
2020-07-13 15:13 UTC
Requires
- doctrine/orm: ^2.7
This package is auto-updated.
Last update: 2024-09-14 00:32:14 UTC
README
composer require maaximelh/easy-mvc
如果Easy MVC框架不在服务器根目录,请在public/.htaccess中取消以下行的注释
# RewriteBase /
然后,在App\Config.php中配置您的框架。
此MVC框架默认集成了Doctrine ORM
Doctrine ORM的工作原理
已创建一个用户实体,您需要使用CLI导入它。
vendor/bin/doctrine orm:schema-tool:update --dump-sql --force
根据Entity\User.php文件中的注释,在您的数据库中已创建一个新的users表。
它是如何工作的?
首先,您需要从实体管理器获取存储库。
$em = Entity::getEntityManager(); // Get Entity Manager $repository = $em->getRepository(User::class); // Get User repository
然后您可以进行所有想要的处理,如上面的示例。
使用存储库的查找器示例。
$user = $repository->findBy(['email' => 'maxime@lehenaff.pro']); // Find all users where email = maxime@lehenaff.pro $user = $repository->findOneByEmail('maxime@lehenaff.pro'); // Find one user where email = maxime@lehenaff.pro $user = $repository->findAll(); // Find all users
创建用户的用法示例。
$user = new User(); $user->setFirstname("Maxime"); $user->setLastname("LE HENAFF"); $user->setEmail("maxime@lehenaff.pro"); $entityManager->persist($user); // Persist user into Doctrine System $entityManager->flush(); // Flush all persistent data (save / update) echo 'User : ' . $user->getId(); // Will output new User ID
根据id删除用户的用法示例。
$user = $repository->find(1); // Get user instance $entityManager->remove($user); // Remove user into doctrine system $entityManager->flush(); // Flush all persistent data (save / update)
更新用户的用法示例。
$user = $repository->find(1); $user->setFirstname("MaaximeLH"); $entityManager->flush();
更多信息,请参阅Doctrine ORM文档。
从数据库生成实体
如果您的数据库中已经有表,您可以使用以下命令自动生成实体。
php generator.php
# OR
vendor/bin/doctrine orm:convert-mapping --from-database annotation App/Entity