Php drupal以编程方式创建实体

Php drupal以编程方式创建实体,php,drupal,Php,Drupal,我使用一个无头drupal为我的前端应用程序公开一个api,我有一个关于drupal中实体的创建和更新过程的问题。 如果我可以像编写php脚本那样以编程方式创建实体和包并运行它,那么它将非常有用。也许还有其他方法可以改变我的sql方案和实体字段 事实上,我对drupal很在行(我已经习惯了django和迁移文件,它们的工作方式和drupal一模一样)。我想知道drupal中有一个等价物(7或8^^)。在drupal中使用实体API绝对可以做到这一点。我只在D7中涉猎过这个,但它确实是你想要的。当

我使用一个无头drupal为我的前端应用程序公开一个api,我有一个关于drupal中实体的创建和更新过程的问题。 如果我可以像编写php脚本那样以编程方式创建实体和包并运行它,那么它将非常有用。也许还有其他方法可以改变我的sql方案和实体字段


事实上,我对drupal很在行(我已经习惯了django和迁移文件,它们的工作方式和drupal一模一样)。我想知道drupal中有一个等价物(7或8^^)。

在drupal中使用实体API绝对可以做到这一点。我只在D7中涉猎过这个,但它确实是你想要的。当然,这一切都是使用挂钩中的Drupal模块完成的,而不仅仅是一个独立的PHP脚本

您可以使用hook\u模式创建表,然后使用hook\u update\u N(其中N是您选择的任意数字)处理模式迁移。实体是使用hook_entity_info定义的,然后您需要控制器来管理您的实体、字段和字段实例,这些字段和字段实例告诉Drupal您的实体是如何关联的,以及有关显示的一些信息

这是一个相当复杂的过程,你第一次运行它。我知道在这里链接到外部资源是不好的,但这个主题相当密集。当我在工作中为一个项目创建概念验证时,我发现这是一个非常宝贵的资源


祝你好运,让我知道进展如何。

如果你正在使用Drupal 8,将对你有很大帮助。有一个用于、控制器、窗体和许多其他内容的命令

对于Drupal7来说,这是一条路要走

我在生产中成功地使用了这两种工具


正如您可能从Quint的建议中注意到的那样,有很多样板代码需要编写。

谢谢您,我会查看一下,然后回来告诉您它是如何工作的(嗯,我工作中有很多事情要做,所以在我开始工作之前需要一些时间,但是谢谢你^^。现在我们仍然在使用D7,但是有一个关于迁移到D8的强烈讨论,所以它可能是一个很好的id来查看它。我会在我有时间做这件事的时候(截止日期和一切…)进行调查。谢谢你^^