dakataa/crud

v1.0.0 2024-09-26 13:51 UTC

This package is auto-updated.

Last update: 2024-10-03 07:16:53 UTC


README

创建快速且简单的 CRUD Dashboard。本包本身作为 REST API 运行,可以与 ReactJS 包 dakataa/crud-react 一起使用,或者你可以通过添加额外的包 dakataa/crud-twig 来启用 Twig 版本。

如何安装

  1. 设置 Symfony 项目。

    symfony new --webapp crud
  2. 创建实体和表单类型

    php bin/console make:entity Product
    php bin/console make:form ProductType Product
    ...
    php bin/console make:migration
    php bin/console doctrine:migrations:migrate
  3. 将包添加到 composer

    composer require dakataa/crud

    在 config/routes/annotation.yaml 中添加无路由的路径

    dakataa_crud:
    	resource: '@DakataaCrudBundle/src/Controller'
    	type: attribute
    	prefix: /_crud
  4. 创建第一个控制器。标准方式

    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

如何扩展模板

如何...