전체 프레임 워크를 사용하지 않고 PHP에 ORM 용 Kohana 라이브러리를 설치할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/223788

  •  03-07-2019
  •  | 
  •  

문제

이전 질문에서 나는 다양한 ORM 라이브러리에 대해 물었습니다. Kohana는 매우 깨끗하지만 ORM의 목적으로 기능적으로 보입니다. 나는 이미 내가 일하고있는 MVC 프레임 워크를 가지고 있습니다. 프레임 워크로 실행하고 싶지 않다면 DB 및 ORM 기본 클래스 파일을 제공하기 위해 포함해야 할 올바른 파일 세트는 무엇입니까?

업데이트:

나는 ORM 소스 코드를보고 시작했다. 한 가지는 즉시 혼란 스러웠다. 문제는 전체 코드 기반 6 가지 방법을 검색했는데, 평범한 ORM 클래스 데프 나 ORM 인터페이스 데프 등을 본 적이 없다는 것입니다.

도움이 되었습니까?

해결책

왜 그냥 가지고 있지 않습니까?

class ORM extends ORM_Core {} 

코드 어딘가에? 이렇게하면 로더 코드를 사용할 필요가 없습니다.

또한 kohana_exception, 데이터베이스 라이브러리 (및 Appropraite 드라이버), kohana :: config (), kohana :: auto_load (), kohana :: log () 메소드 (검색 데이터베이스 .php)가 필요합니다.

Kohana는 훌륭한 MVC 프레임 워크이지만 실제로 그런 덩어리에서 분리되도록 설계되지 않았습니다. 당신은 또한 조사하고 싶을 수도 있습니다 교의, PHP의 또 다른 ORM (독립형으로 설계)

다른 팁

kohana가 마법의 클래스 로딩을 사용하여 _core extention을 가진 정의 된 클래스가 클래스로 존재하지 않도록하는 것으로 나타났습니다.

IE ORM_CORE는 존재하지만 ORM은 그렇지 않으므로 Kohana는 패키지가 100% Magic 클래스 로딩을 사용하기 때문에 ORM 클래스를 마술처럼 정의합니다.

누구나 관심이있는 경우 여기에 내 발견을 문서화하고 있으므로 모두가 나중에 찾을 수 있습니다.

From Kohana.php in the system directory:

<-- snip if ($extension = self::find_file($type, self::$configuration['core']['extension_prefix'].$class))
{
// Load the extension
require $extension;
}
elseif ($suffix !== 'Core' AND class_exists($class.'_Core', FALSE))
{
// Class extension to be evaluated
$extension = 'class '.$class.' extends '.$class.'_Core { }';
-->

<-- snip

// Transparent class extensions are handled using eval. This is
// a disgusting hack, but it gets the job done.
eval($extension);

-->

그래서 그것은 평가를합니다 ..

Zak, 관리 가능한 프레임 워크의 ORM을 점검하십시오. http://framework.maintainable.com/mvc/3_model.php#c3.7철저히 읽으십시오. 나는 당신이 그것을 좋아할 것이라고 확신합니다. 나는 이것을 다음에 더 자세히 게시합니다.PHP에 ORM 프레임 워크를 사용하는 것이 가장 쉬운 것은 무엇입니까?

http://obando.com.ve/2009/04/29/modelado-ormor-rapido-facil/

그것이 당신의 모든 필요입니다 !!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top