没有实体的Symfony Sonata管理员捆绑包

fal*_*sky 5 php symfony sonata-admin

有没有实体就可以使用Sonata Admin Bundle的方法-因此没有学说吗?

我需要在某个目录中列出文件,此列表未存储在数据库中。

我尝试的第一种方法是声明自己的模型管理器,但是有些地方需要进行学说查询等。

我知道,有mongosonata mongo admin的文档管理器,但是对我而言,它并不是那么有用。

有任何想法吗?

Sha*_*awn 3

在此处找到的文档中:http://sonata-project.org/bundles/admin/master/doc/reference/getting_started.html

\n\n

看起来在创建管理部分中,#2 需要一个模型:

\n\n
\n
    \n
  1. 管理服务\xe2\x80\x99s 代码(默认为服务\xe2\x80\x99s 名称)
  2. \n
  3. 该Admin类映射的模型(必填)
  4. \n
  5. 将处理管理操作的控制器(默认为 SonataAdminBundle:CRUDController)
  6. \n
\n
\n\n

该示例显示了使用 manager_type 作为 ORM 的服务设置:

\n\n
# Acme/DemoBundle/Resources/config/admin.yml\nservices:\n    sonata.admin.post:\n        class: Acme\\DemoBundle\\Admin\\PostAdmin\n        tags:\n            - { name: sonata.admin, manager_type: orm, group: "Content", label: "Post" }\n        arguments:\n            - ~\n            - Acme\\DemoBundle\\Entity\\Post\n            - ~\n        calls:\n            - [ setTranslationDomain, [AcmeDemoBundle]]\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在一般来说 symfony 不会对模型的内容设定硬性要求。它可以是教义,也可以是你定制的东西。对于服务来说,它只是一个对象。我在文档中没有看到任何地方说您需要数据库。

\n

  • @falinsky Symfony 不是传统意义上的 MVC 模型。只要你有一个类对象,你就可以用它做任何事情。这篇 symfony 文章解释了如何将类设置为服务。这可能会让您朝着正确的方向前进,因为它解释了我所说的内容。http://symfony.com/doc/current/book/service_container.html (2认同)
  • 你只是解释了基本的事情......它们对我的情况没有帮助。你会明白我们谈论的是奏鸣曲管理包,而不仅仅是一般的 symfony (2认同)
  • 好吧,我无法在这里为您编写代码,因为您的情况非常具体,需要大量的开发,我已经为您提供了完成您需要的信息和工具。基本上,如果您有一个具有功能的代码类,则可以将其注册为服务。因此,注册该课程,在您的情况下,该服务将是您的“模型”。我给您的链接解释了用作服务的邮件程序类。这与该捆绑包的工作方式非常相似,因为它向您展示了控制器和服务以及如何在示例中使用它们。 (2认同)