控制台/命令行命令
SonataAdminBundle 提供了以下控制台命令
cache:create-cache-class
make:sonata:admin
sonata:admin:list
sonata:admin:explain
sonata:admin:setup-acl
sonata:admin:generate-object-acl
cache:create-cache-class
cache:create-cache-class
命令从 classes.map 文件生成缓存类 (var/cache/...env.../classes.php
)。
1
bin/console cache:create-cache-class
make:sonata:admin
make:sonata:admin
命令基于给定的模型类生成一个新的 Admin 类,将其注册为服务,并可能创建一个新的控制器。作为参数,您需要指定完全限定的模型类。所有传递的参数和选项都用作交互模式下的默认值。您可以使用 --no-interaction
选项禁用交互模式。
该命令需要 Symfony Maker Bundle 才能工作。如果您还没有安装它,可以使用以下命令安装:
1
composer require symfony/maker-bundle --dev
选项 | 描述 |
---|---|
model | 完全限定的模型类,例如 "AppEntityFoo" |
admin | admin 类基本名称(默认情况下,这会将 "Admin" 添加到模型类名称,例如 "FooAdmin") |
controller | 控制器类基本名称(默认情况下,这会将 "AdminController" 添加到模型类名称,例如 "FooAdminController") |
manager | 模型管理器类型(默认情况下,这是第一个注册的模型管理器类型,例如 "orm") |
services | services YAML 文件(默认值为 "services.yaml") |
id | admin 服务 ID(默认值是 "admin" 和 admin 类基本名称的组合,如 "admin.foo_bar") |
1
bin/console make:sonata:admin App/Entity/Foo
sonata:admin:list
要查看哪些 admin 服务可用,请使用 sonata:admin:list
命令。它会打印您的应用程序中所有可用的 admin 服务 ID。此命令从 sonata.admin.pool
服务中获取 ID,其中注册了所有可用的 admin 服务。
1
bin/console sonata:admin:list

sonata:admin:explain
sonata:admin:explain
命令打印有关模型 admin 的详细信息。作为参数,您需要指定要解释的 Admin 的 admin 服务 ID。
1
bin/console sonata:admin:explain sonata.news.admin.post

sonata:admin:setup-acl
sonata:admin:setup-acl
命令更新 sonata.admin.pool
中所有可用 Admin 类的 ACL 定义。例如,每次您创建一个新的 Admin
类时,您都可以使用 sonata:admin:setup-acl
命令创建其 ACL。ACL 数据库将自动使用最新的掩码和角色进行更新。
1
bin/console sonata:admin:setup-acl
sonata:admin:generate-object-acl
sonata:admin:generate-object-acl
是一个交互式命令,可帮助您为您的 Admin 处理的对象生成 ACL 实体。有关更多信息,请参阅命令的帮助。
1
bin/console sonata:admin:generate-object-acl
本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可协议获得许可。