dakataa / crud
Symfony CRUD
v1.0.0
2024-09-26 13:51 UTC
Requires
- php: >=8.1
- doctrine/orm: >=2.10.0
- phpoffice/phpspreadsheet: ^1.29
- symfony/expression-language: ^7.0
- symfony/form: ^7.0
- symfony/framework-bundle: ^7.0
- symfony/http-kernel: ^7.0
- symfony/security-bundle: ^7.0
- symfony/serializer: ^7.0
- symfony/validator: ^7.0
README
创建快速且简单的 CRUD Dashboard。本包本身作为 REST API 运行,可以与 ReactJS 包 dakataa/crud-react 一起使用,或者你可以通过添加额外的包 dakataa/crud-twig 来启用 Twig 版本。
如何安装
-
设置 Symfony 项目。
symfony new --webapp crud
-
创建实体和表单类型
php bin/console make:entity Product php bin/console make:form ProductType Product ... php bin/console make:migration php bin/console doctrine:migrations:migrate
-
将包添加到 composer
composer require dakataa/crud
在 config/routes/annotation.yaml 中添加无路由的路径
dakataa_crud: resource: '@DakataaCrudBundle/src/Controller' type: attribute prefix: /_crud
-
创建第一个控制器。标准方式
namespace App\Controller; use App\Entity\Product; use App\Form\ProductType; use Dakataa\Crud\Attribute\Entity; use Dakataa\Crud\Attribute\EntityType; use Dakataa\Crud\Controller\AbstractCrudController; use Doctrine\ORM\QueryBuilder; use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; #[Route('/product')] #[Entity(Product::class)] #[EntityType(ProductType::class)] class ProductController extends AbstractCrudController { }
如果你想要自定义初始查询。此方法在查询执行之前被调用。
public function buildCustomQuery(Request $request, QueryBuilder $query): AbstractCrudController { $query ->andWhere('a.enabled = true'); return $this; }
使用 Make 命令
php symfony crud:make:entity Product ProductType ProductController