|
|
1
11
我非常喜欢 Doctrine 这是一个功能齐全的ORM,将取代Propel成为Symfony的默认ORM。 它有你所期望的基本ORM内容,还有一个功能齐全的查询构建器,我发现它很棒。
它附带了一整套命令行工具来管理您的数据库。例如,你可以在YAML中创建你的模式和夹具,让Doctrine根据你的模式生成类,创建数据库,根据模型创建模式,然后用你的夹具填充数据库——所有这些都是用一个单一的
它还包括对数据库迁移和 recently updated 迁移以自动区分和生成迁移模型。
根据您的教义投诉,您可以运行命令
其他细节包括“
Behaviors
“这使得在模式中实现某些行为时变得更加容易。例如,您可以将“可时间戳”行为添加到类文件中。Doctine会自动添加一个'created_at'和'updated_at'列,填充它们,并且每个
就我个人而言,我非常喜欢教义,每次有机会都会对它赞不绝口。 |
|
|
2
9
我使用了一个鲜为人知的orm层,叫做redbean。 你可以在这里找到它: http://www.redbeanphp.com . 它绝对是独一无二的,因为它只会自己创建表、列和索引,而根本不需要任何配置文件。我发现这大大节省了时间! |
|
|
3
6
两个代码点火器( http://codeigniter.com/user_guide/database/active_record.html )其仅支持PHP5的分支Kohana( http://docs.kohanaphp.com/libraries/orm )包含ActiveRecord模式的实现。 |
|
4
5
我创造了自己的,没有臃肿。(虽然我需要更新我的现场消息来源) 我创建它时完全考虑到了你提到的几点:没有几十个xml文件,没有庞大的框架,只有简单的构造函数和数据库到属性的映射,它可以完成你的基本CRUD/查找/连接操作。对于我做的大部分事情,我甚至不需要编写自定义查询。 这一切我以前都写过 my site 此外,请务必查看 basic examples 为了理解它。 我将发布的下一个版本包含一行join-on-choin(在数据库中走一条“路径”)、基于ini的数据库设置、跨数据库支持、超简单的数据库抽象和一个标准记录器,如果数据库宕机,该记录器将回退到SQLite。 如果你对更新感兴趣,尽管喊一声,我会尽快处理的。
哦,是的,别忘了,还有一个很好的视觉脚手架生成器,叫做
Pork.Generator
。它试图分析您的数据库结构,并找到1:1 1:many and many:many关系,并可以自动为您生成类:-)
|
|
5
4
Zend_Db_Table 和 Zend_Db_Table_Row 您不需要任何配置文件,大多数元数据都是从数据库本身“发现”的。 从技术上讲,这些类不实现ActiveRecord模式。相反,他们实施 Table Data Gateway 和 Row Data Gateway 模式。总之,这些提供了与ActiveRecord类似的价值,并且在某些方面比ActiveRecord更灵活。 但是,与任何ORM一样,不可避免地会有一些SQL查询和操作无法通过OO接口完成。没有ORM可以作为一站式购物。 脚注:我在Zend Framework项目上工作了一年多,特别是在Zend_Db组件上。但我不再为他们工作了。 |
|
|
6
1
检查可维护框架。虽然我更喜欢代码生成而不是ActiveRecord(运行时反射),但我发现可维护框架易于使用,特别是在ORM功能方面。 http://framework.maintainable.com/mvc/3_model.php#c3.7 如果你想要一个基于代码生成的框架,试试QCodo。无论dcousinau对Doctrine说了什么,我都可以对Qcodo说。这是一个模仿事件驱动的成熟框架。NET/Delphi。但是,您可以编写生成功能,并找到将生成的类与框架的其他部分分离的方法。因此,您可以将生成的分类嵌入到其他框架中。 |
|
|
7
1
Ruby DataMapper实现后的另一个选项是 phpDataMapper 。这显然是一个数据映射器,而不是ActiveRecord:)。 |
|
|
8
1
我推荐Symfony的教义。尽管还有更多东西需要学习,但你会发现它具有项目发展后所需的功能(CRUD、表单框架、记录模板、DQL、插件支持、行为)。这两个项目都有非常活跃的社区,你不应该发现自己陷入了死胡同,因为你的大多数问题已经在官方教程或论坛上得到了回答。 如果你不喜欢YAML中的数据库定义,你可以随时使用 ORM Designer 或MySQL工作台。 |
|
|
9
0
我建议 QCubed 这是一个非常强大的仅支持PHP5的ORM框架,专注于代码生成、UI脚手架和快速应用程序开发。请观看培训视频: http://qcu.be/content/video-screencasts |
|
|
10
0
普罗斯
欺骗
|
|
|
11
0
我喜欢 Idiorm and Paris 并在小型项目中使用它们。Idiorm是实际的ORM,而Paris是积极的记录实施。你可以用你喜欢的任何一个。 还有一种叉子叫做 Granada ,它建立在Idiorm和Paris之上,并增加了诸如渴望加载等支持。 |
|
|
12
0
PHP的对象关系映射器(ORM)位于强大的数据库抽象层(DBAL)之上。它的一个关键特性是可以选择用一种名为Doctrine Query Language(DQL)的专有面向对象SQL方言编写数据库查询,该方言的灵感来自Hibernates HQL。这为开发人员提供了一种强大的SQL替代方案,可以保持灵活性,而不需要不必要的代码重复。 |
|
|
user384884 · Dapper返回零guid 1 年前 |
|
|
qanqanqan · 如何在Django ORM中通过最大值获取对象 2 年前 |
|
|
Kirill · Django RawSQL注释字段 2 年前 |
|
|
nepko · Django将字符串过滤为整数? 2 年前 |
|
|
Emirhan Ay · 用实体框架建立两个实体之间的关系 2 年前 |