>백엔드 개발 >PHP 튜토리얼 >ORM_php 인스턴스를 사용하여 Composer로 자체 PHP 프레임워크 구축

ORM_php 인스턴스를 사용하여 Composer로 자체 PHP 프레임워크 구축

WBOY
WBOY원래의
2016-05-16 20:33:431452검색

리뷰

처음 세 기사에서 기본 준비, 라우팅 구성 및 MVC 설계를 마친 후 비교적 완전한 MVC 아키텍처를 갖춘 PHP 마이크로 프레임워크를 얻었지만 실제로 사용할 수 있는 프레임워크에는 아직 한 가지가 빠져 있습니다. 데이터베이스 캡슐화 이 문서에서는 ORM Composer 패키지를 통합하는 방법을 설명합니다.

이 글은 이 시리즈의 마지막 글입니다. 다음으로 이 사이트에 주로 게재될 시리즈 제목인 Let's Open and Open the Composer Package를 통해 몇 가지 경험과 통찰력을 공유하겠습니다.

텍스트

우리는 ORM 패키지로 Laravel의 조명/데이터베이스를 선택합니다. 여러 유명한 ORM을 시도해 보았는데 Laravel의 Eloquent가 최고라는 것을 알았습니다! 우리를 행복하게 해주는 ORM이 또 오픈됩니다! :-디

이 튜토리얼 시리즈에서 각 Composer 패키지는 다음 기본 요구 사항을 충족해야 합니다.

기본적으로 Composer를 사용하여 관리
사용 편의성을 바탕으로 최대한 단순하게 만드세요(예: 매우 간단한 라우팅 패키지)
가능한 한 최신 상태를 유지하고 PHP의 새로운 기능을 사용해 보세요


PHP의 새로운 기능에 대해 말하면 여담이 있습니다. PHP5.3은 PHP6에서 계획된 기능인 네임스페이스를 도입하므로 PHP5.3은 실제로 어느 정도 PHP6입니다. PHP의 다음 버전은 곧 출시될 PHP7입니다. 주요 기여자는 유명한 Bird Brother @Laruence입니다. . 게다가, 우리 일선 기자(저)가 방금 Weibo에서 Niao 형제가 JIT에서 전설적인 PHP7을 만들기 위해 자신의 게임을 강화하고 있다고 보도했습니다. 내 큰 PHP의 역사적인 바퀴는 막을 수 없습니다. 하하하! :-피

Illuminate/데이터베이스 설치

composer.json에 필수 항목 추가:

"조명/데이터베이스": "*"
작곡가 업데이트를 실행하고 설치가 완료될 때까지 기다립니다.

Eloquent 사용

public/index.php를 다음과 같이 수정하세요.

코드 복사 코드는 다음과 같습니다.

IlluminateDatabaseCapsuleManager를 캡슐로 사용하세요.

// 자동 로드가 자동으로 로드됩니다

'../vendor/autoload.php' 필요;

// Eloquent ORM

$capsule = 새로운 캡슐;

$capsule->addConnection('../config/database.php' 필요);

$capsule->bootEloquent();

// 라우팅 구성

'../config/routes.php' 필요;

config/database.php 추가(데이터베이스 비밀번호 교체 참고):

코드 복사 코드는 다음과 같습니다.

반품 [

'드라이버' => 'mysql',

'호스트' => '로컬호스트',

'데이터베이스' => 'mffc',

'사용자 이름' => '루트',

'비밀번호' => '비밀번호',

'문자 집합' => 'utf8',

'collation' => 'utf8_general_ci',

'접두사' => ''

];

모델/Article.php 수정:

코드 복사 코드는 다음과 같습니다.

/**

* 기사 모델

*/

클래스 기사는 IlluminateDatabaseEloquentModel을 확장합니다

{

공개 $timestamps = false;

}

controllers/HomeController.php에는 변경이 필요하지 않습니다.

새로고침해도 페이지는 그대로 유지됩니다.

축하합니다! Eloquent의 성공적인 사용!

Eloquent를 사용하는 다양한 방법

Eloquent는 매우 강력하며 Laravel의 가장 특별하고 가치 있는 부분이라고 할 수 있습니다.
HomeController에서 호출된 Article::first()와 마찬가지로 이전에는 12줄 이상의 코드를 사용했지만 이제는 아무것도 할 필요가 없으며 클래스만 상속하면 됩니다.

Eloquent의 자세한 사용법은 Eloquent ORM 중국어 문서를 참조하세요

다른 유명한 ORM

또한 유명한 ORM 및 데이터 매핑(데이터베이스 마이그레이션 등) 패키지가 많이 있습니다. ORM 및 데이터 매핑을 참조하세요

ORM은 개발 효율성을 크게 향상시킬 수 있으며 Eloquent는 진정한 마법의 도구입니다!
웹 세계의 다양한 언어 캠프에서는 소위 빠른 개발 프레임워크라고 불리는 새로운 새로운 프레임워크를 지속적으로 출시하고 있지만 여전히 점점 더 Rails와 비슷해지고 있습니다. 표면적으로 Eloquent는 거의 Rails와 가장 유사한 ORM이지만 Ruby의 뛰어난 객체지향 기능은 무시할 수 없습니다. Laravel의 저자 Taylor Otwell은 인터뷰에서 Eloquent가 Laravel에서 구현하기 가장 어려운 부분이라고 말했습니다. 디버깅을 하다가 MFFC/vendor/illuminate/database/Illuminate/Database/Eloquent/Model.php 파일에 3,000줄이 넘는 줄도 발견했습니다...

완전하고 사용 가능한 PHP 프레임워크를 구축하는 현재 작업은 기본적으로 완료되었습니다. 다음으로 MFFC 프레임워크를 더욱 풍부하고 사용하기 쉽게 개선하겠습니다!

향후에는 템플릿 엔진, 양식 유효성 검사, 이메일 보내기, 권한 시스템 관리, 비동기 대기열, 비디오 및 오디오 처리(인스턴트:-D) 등의 콘텐츠가 있을 수 있습니다. - 출시 예정인 Composer의 패키지 시리즈입니다.

저를 읽어주시고 함께 해주신 모든 분들께 감사드립니다! 안녕히 가세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.