ip / meat-up
Symfony2 代码生成器
Requires
- doctrine/annotations: ^1.0
- doctrine/orm: ^2.0
- symfony/filesystem: ^2.8|^3.0
- symfony/framework-bundle: ^2.8|^3.0
- twig/twig: ^1.0|^2.0
Requires (Dev)
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^5.7|^6.0
README
MeatUp Bundle 是一个 Symfony 扩展包,提供根据 Doctrine 实体生成 CRUD 控制器的命令。它以 inter-Punkt 的 Symfony 骨架应用程序为基础。此扩展包将为您生成以下文件
- 基于 Doctrine 实体的表单类型和一些 MeatUp 注释
- 用于 CRUD 操作的控制器
- 用于展示所有记录的表格视图文件
- 创建和更新记录的视图文件
基本用法
本指南将向您展示如何从简单的 Doctrine 实体生成 CRUD 控制器。
以下是您需要执行的操作概述
第 1 步:创建一个简单的 Doctrine 实体
<?php // File: src/DevPro/adminBundle/Entity/Meatup.php namespace DevPro\adminBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity */ class Meatup { /** * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @ORM\Column(type="string") */ private $title; /** * @ORM\Column(type="text") */ private $content; ... }
上面的示例是一个非常基础的 Doctrine 实体。如果您不理解其中所有内容,可以在 Doctrine 文档 中找到更多信息。
现在,您可以使用 Doctrine 命令为您创建 getter 和 setter 方法
$ php app/console doctrine:generate:entities DevProadminBundle:Meatup
现在实体类已经完整,您可以在数据库中创建表
$ php app/console doctrine:schema:update --force
第 2 步:执行 MeatUp 命令
现在一切准备就绪,可以执行 MeatUp 命令来生成 CRUD 控制器,其中完全限定的类名作为参数
$ php app/console ip:meat-up "DevPro\adminBundle\Entity\Meatup"
命令成功完成后,您可以启动 Web 服务器并检查控制器。如果您不知道如何启动内置 Web 服务器,请参阅 Symfony 文档。
如果您的 Web 服务器正在运行在 localhost:8000,只需在浏览器中输入以下 URL
https://:8000/admin/meatup
现在,您可以点击带有标签“Neuer Eintrag”(新条目)的按钮来创建新记录。创建新记录后,您将被重定向到概览页面。在那里,您将看到一条新记录,并且可以点击“Bearbeiten”(编辑)按钮进行编辑,但还没有列来指示它是哪个记录。
第 3 步:添加 OnIndex 注解
由于 MeatUp 命令无法猜测您的实体属性中哪些属性应该显示在概览页面上,您需要添加 OnIndex 注解来告诉扩展包这个属性应该显示在概览页面上。幸运的是,我们只需要在上面的实体中添加两行代码即可完成此操作。
首先,我们需要导入 MeatUp 命名空间并为其添加一个别名
... use Doctrine\ORM\Mapping as ORM; use Ip\MeatUp\Mapping as MU; ...
现在,我们将 OnIndex 注解添加到 title 属性
... /** * @ORM\Column(type="string") * @MU\OnIndexPage */ private $title; ...
就是这样!现在我们再次执行 MeatUp 命令,并在重新加载网站后,标题将显示在概览页面上,与之前创建的记录一起
$ php app/console ip:meat-up "DevPro\adminBundle\Entity\Meatup"
您现在已经知道如何使用 MeatUp 命令创建简单的 CRUD 控制器。有关更高级的使用方法,请参阅 文档。
用法
有关完整的使用文档,请参阅
要求
- Symfony 2.8.* 骨架应用程序
- Symfony 框架扩展包
- Twig
- Doctrine 注解
- Symfony 文件系统
- IvoryCKEditorBundle
- VueUploaderBundle
许可证
请参阅附带文件 LICENSE。