2008-08-11 2 views
10

나는 오래된 피 각질의 PHP application을 물려 받았고, 나는 그것을 다루기에 조금 더 좋았지 만 점진적인 방식으로 리펙토링하고 싶습니다. perl의 CPAN에는 Class :: DBI를 둘러싼 일련의 클래스가 있습니다.이 클래스를 사용하면 코드에서 객체의 기초로 데이터베이스 행을 사용할 수 있으며 라이브러리는 accessor methods 등을 적절하게 생성하지만 추가 메소드를 추가 할 수 있습니다.PHP를위한 Class :: DBI와 같은 라이브러리?

누구든지 PHP 같은 것을 알고 있습니까? 특히 "프레임 워크"의 도매 채택을 요구하지 않는 무언가가 ... 보너스 포인트는 PHP4에서도 작동하지만, 솔직히 말해서, 나는 그것을 버리는 다른 이유가 있기를 바랍니다. :-)

답변

3

이제는 작동하지 않지만 phpdbi은 아마도 가치가 있습니다. 몇 가지주의 사항 (프레임 워크 1)을 기꺼이 놓아두기를 원한다면, Doctrine은 PHP에서 DB에 액세스하는 꽤 깔끔한 방법이라는 것을 알았습니다. 어쨌든 조사할만한 가치가 있습니다.

0

RDBMS를 변경하거나 해당 액세스를 구현 한 것과 같은 방식으로 추상화 레이어를 통해 데이터베이스에 액세스하는 것이 옳은 점은 나머지 모든 애플리케이션이 변경되지 않은 상태에서이 레이어를 수정하기 만하면된다는 것입니다.

이렇게하려면 응용 프로그램에서 데이터베이스 처리 방법을 알 수 없도록하려면 ADODB과 같은 프레임 워크에서 DB 액세스 용 추상화 계층을 구현해야합니다. 이 계층에 관련된

모든 파일은 서브 디렉토리에 있어야합니다 : 당신이 들어있는 귀하의 .php.inc 모든 파일을 넣을 수 있습니다

  • 가 /이 디렉토리에서

을 고뇌 데이터베이스에 액세스하기위한 일반적인 방법.

0

배는 어때요 MDB2?

지원되는 모든 에 대해 일반적인 API를 제공합니다. 주요 차이점은 다른 대부분의 DB 추상화 패키지 에 MDB2가 훨씬 더 이동하여 이식성을 보장한다는 것입니다.

Btw : @GaryF 링크에 이상한 제목 속성이 있습니까? 추가 했습니까, 아니면 SO가 추가 했습니까?

1

클래스 :: DBI는 perl의 경우 ORM (Object Relational Mapper)입니다. google에서 "PHP ORM"을 검색하면 Doctrin을 포함한 좋은 결과를 얻을 수 있습니다. 행운을 빌어 요. 나는 거기서 시작해서 당신의 방식대로 일할 것입니다.

1

내 자신의 프로젝트에 더 많은 피드백을 얻으려고, 그래서 ORM에 대한 필자의 의견을 제안 할 수 있습니다 : ORMer

사용 예는 here

당신이 그것을 위상 수, 그렇지 않은 있습니다 MVC를 채택해야하며 설치가 거의 필요하지 않습니다.

관련 문제