maaximelh/easy-mvc

一个易于使用的MVC框架,实现了Doctrine ORM

dev-master 2020-07-13 15:13 UTC

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