2009-07-02 4 views

답변

-1

DataMapper에 대해 본 적이 없지만 Cakephp 프레임 워크에서 ROR과 매우 유사한 ORM을 사용하고 있는지 확인할 수 있습니다.

2

나는 Doctrine이 비슷한 방식으로 구현되었다고 생각합니다.

+0

동의할만한 Doctrine은 PHP를위한 가장 정교한 ORM 도구입니다. – Daff

0

추진는 PHP5에 대한 ORM, 당신은 또한 phpDataMapper 프로젝트가 루비의 DataMapper처럼하기 위해 특별히 만들어진 XPDO

1

볼 수 있습니다. 프로젝트에 관심이 있으시면 저를 도와주세요! 루비 데이터 마퍼 (Ruby DataMapper)를 아는 사람들이 프로젝트를 더 빨리 확장 할 수있는 사람들을 찾고 있습니다.

GitHub의 프로젝트 페이지 : https://github.com/vlucas/phpDataMapper/tree

0

난 당신이 제안 this question를 살펴 제안했다.

액티브 레코드가 아닌 데이터 매퍼 패러다임을 구현하는 ORM을 찾으려면 GacelaPHP을 살펴 보시기 바랍니다.

Gacela 특징 :

  • 데이터 매퍼
  • 외래 키 매핑
  • 협회 매핑
  • 종속 매핑
  • 콘크리트 테이블 상속
  • 쿼리 개체
  • 메타 데이터 매핑
  • 게으른 & 열망로드는
  • 전체 Memcache를 지원

다른 ORM 솔루션은 너무 부풀어 또는 원격으로 복잡 무엇을 개발할 때 부담 한계가있다. Kacela는 DB 및 memcache와의 모든 상호 작용에 대해 PDO를 사용하여 부풀림을 최소화하면서 데이터 매퍼 패턴을 구현함으로써 활성 레코드 접근 방식의 한계를 해결합니다.

0

db.php orm (http://dbphp.net) 목록에있는 모든 작업을 수행하지만 대신 memcache를 지원하지는 않지만 apc 사용자 캐시 기능을 사용하고 \ db \ cache 기본 클래스를 확장하여 캐시 엔진 클래스를 재정의하는 기능을 제공합니다. (원래이 apcu를 사용 db.php를의 긴 캐시 클래스) : 그래서

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'); 
     } 
    } 

당신은 mymemcache extends \db\cache 같은 클래스를 구현하고 당신이 그런 식으로 당신의 ORM에 캐시 엔진을 첨부 할 수 있습니다 이후이 세 가지 방법을 무시하는 경우 :

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

그리고 일이 순조롭게 진행됩니다.

\ db \ cache를 확장하여 특정 환경에 맞게 사용자 정의 캐시 엔진을 개발했습니다.

관련 문제