有没有类似于Ruby的PHP ORM';谁是数据映射器?

有没有类似于Ruby的PHP ORM';谁是数据映射器?,php,orm,datamapper,Php,Orm,Datamapper,我主要使用Ruby和Merb中的DataMapper,所以我在寻找类似DataMapper的PHP ORM。有什么好的吗?我以前从未使用过DataMapper,但你可以查看Cakephp框架,它的ORM与ROR非常相似。我相信它是以类似的方式实现的。Prope是php5的ORM,你也可以看看该项目是专门为Ruby的DataMapper创建的。如果你对这个项目感兴趣,请帮助我!我正在寻找更多了解Ruby DataMapper的人来帮助更快地扩展项目 GitHub项目页面: 我建议您查看一下,以获得

我主要使用Ruby和Merb中的DataMapper,所以我在寻找类似DataMapper的PHP ORM。有什么好的吗?

我以前从未使用过DataMapper,但你可以查看Cakephp框架,它的ORM与ROR非常相似。

我相信它是以类似的方式实现的。

Prope是php5的ORM,你也可以看看该项目是专门为Ruby的DataMapper创建的。如果你对这个项目感兴趣,请帮助我!我正在寻找更多了解Ruby DataMapper的人来帮助更快地扩展项目

GitHub项目页面:

我建议您查看一下,以获得建议

如果您正在寻找一个实现数据映射器范式而不是活动记录的ORM,那么我强烈建议您考虑一下

Gacela功能:

  • 数据映射器
  • 外键映射
  • 关联映射
  • 相依映射
  • 具体表继承
  • 查询对象
  • 元数据映射
  • 懒惰和渴望加载
  • 完全Memcache支持
当开发任何远程复杂的东西时,其他ORM解决方案过于臃肿或有着繁重的限制。Kacela通过在与DB和memcache的所有交互中使用PDO来实现数据映射器模式,同时将膨胀降至最低,从而解决了活动记录方法的局限性。

有DB.php orm()它可以完成您列出的所有操作,但不支持memcache,而是使用apc用户缓存函数,还可以通过扩展\db\cache基本类来覆盖缓存引擎类(最初这是使用apcu的db.php长缓存类):

因此,如果您实现类,如
mymemcache extends\db\cache
,然后覆盖这三种方法,您可以像这样将缓存引擎连接到orm:

$database->context->caches[\db\cache::long]=new mymemcache()

事情会进展顺利的


我只是通过像那样扩展\db\cache来为特定环境开发自定义缓存引擎。

同意,Doctrine是最复杂的PHP ORM工具。可能的重复
    class long extends cache
    {
        function store ($name, $value)
        {
            if (is_bool($value))
            {
                \apc_delete ($name);
            }
            else
            {
                \apc_store ($name, $value);
            }
        }
        function fetch ($name)
        {
            return \apc_fetch ($name);
        }
        function clear ()
        {
            \apc_clear_cache ('user');
        }
    }