PHP中的代码优先实体框架模型

Posted

技术标签:

【中文标题】PHP中的代码优先实体框架模型【英文标题】:Code first Entity Framework model in PHP 【发布时间】:2016-06-03 12:08:50 【问题描述】:

我最近在一个 ASP.Net MVC 项目中工作,我们使用代码优先技术来创建所有数据库表。我真的很喜欢这个想法,您无需接触数据库并创建由 EF 层自动映射到数据库的模型类。

我打算用 php 开始一个爱好项目,并且正在玩 Laravel(我是 PHP 的新手)。我想知道 PHP 中是否有任何等效的框架支持代码优先模式作为 EF 4.1?

我正在研究一些 Laravel 教程,看起来 ORM(雄辩)的工作方式与 .net 中的 EF 4.1 的工作方式不同。在我看来,您仍然需要在数据库中创建表,然后创建一个模型来映射数据库。我错过了什么吗?

谢谢。

【问题讨论】:

【参考方案1】:

对于 PHP,我建议将 Doctrine 2 视为 ORM。您定义您的实体和原则将为您生成类和数据库结构。

【讨论】:

我可以轻松地将 laravel 中的 eloquent 替换为学说 2 吗?或者这将是一个巨大的痛苦? :-) 据我了解,laravel 可以使用 Doctrine 2,所以它似乎不是替代品,laraveldoctrine.org 是它的一个实现。 太棒了!这是个好消息!【参考方案2】:

如果您打算从头开始编写 PHP,您也可以查看 ReadBeanPHP。不是很丰富或很漂亮,但它很有效:)

【讨论】:

【参考方案3】:

我不熟悉 EF,但我认为您指的是 Doctrine entity mapping 的工作方式。 Doctrine 是一个独立的 ORM 和 DBAL,但是推荐用于 Symfony 的 ORM。 Laravel 使用了一些 Symfony 组件。 然后您可以在 Laravel you write migrations 中运行以设置您的数据库。

【讨论】:

以上是关于PHP中的代码优先实体框架模型的主要内容,如果未能解决你的问题,请参考以下文章

刷新在实体框架中使用数据库优先方法模型创建的实体中的数据

无法在 .NET 中的实体框架代码优先方法中迁移 AspNetUser 实体

实体框架中的日期时间文化问题

实体框架4.1代码优先中的一对多关系

EF 6.X 中的实体框架代码优先 Fluent API 默认值

将实体框架从数据库优先转换为代码优先