>백엔드 개발 >PHP 튜토리얼 >PHP 개발 프레임워크: Laravel

PHP 개발 프레임워크: Laravel

WBOY
WBOY원래의
2016-07-25 09:12:30958검색

Laravel은 간단하고 우아한 PHP 웹 개발 프레임워크(PHP Web Framework)입니다. 누들과 같은 지저분한 코드에서 벗어날 수 있으며 완벽한 네트워크 앱을 구축하는 데 도움이 될 수 있으며 모든 코드 줄은 간결하고 표현력이 뛰어납니다.

특징

1. 문법이 더 표현력이 좋아졌습니다

다음 코드 줄에서 "true"가 무엇을 의미하는지 아시나요?

$uri = Uri::create('some/uri', array(), array(), true)

그리고 여기에 있는 다른 매개변수(첫 번째 매개변수 제외)가 무엇을 의미하는지 아시나요? 물론 당신은 모릅니다. 이 코드 줄은 표현력이 부족하기 때문입니다.

이 코드를 다시 살펴보세요.

$url = URL::to_secure('some/uri')

이 표현은 HTTPS 프로토콜을 사용하여 URL 링크를 생성합니다. 사실 위의 두 가지 작성 방법은 동일한 작업을 수행하지만 어느 것이 더 명확하고 표현력이 풍부합니까?

2. 고품질 문서

CodeIgniter가 인기를 끄는 이유 중 하나는 좋은 문서가 있다는 것입니다. 이는 프로그래머에게 매우 편리합니다. 이에 비해 Kohana는 CI보다 기술적으로 우수한 프레임워크입니다. 하지만 어떨까요? Kohana의 문서가 정말 형편없기 때문에 아무도 Kohana의 기술이 얼마나 강력한지에 관심을 두지 않습니다. 그리고 Laravel은 훌륭한 커뮤니티 지원을 제공합니다. Laravel 코드 자체의 표현력과 훌륭한 문서화는 PHP 프로그래밍을 즐겁게 만듭니다.

3. 풍부한 확장팩

Bundle은 Laravel의 확장 패키지 이름입니다. 완전한 ORM만큼 크거나, 디버그 도구만큼 작거나, 복사하여 붙여넣기만 하면 확장 기능을 설치할 수 있습니다. Laravel의 확장팩은 전 세계의 개발자들이 기여하고 있으며 지속적으로 추가되고 있습니다.

4. 오픈 소스 및 GITHUB에서 호스팅

Laravel은 완전한 오픈 소스입니다. 모든 코드는 Github에서 사용할 수 있으며, 언제든지 기여하실 수 있습니다.

기술적 특징

1. Bundle은 Laravel의 확장 패키지의 조직 형태 또는 이름입니다. Laravel의 확장 패키지 저장소는 매우 성숙하여 애플리케이션에 확장 패키지(번들)를 쉽게 설치할 수 있도록 도와줍니다. 확장 패키지(번들)를 다운로드하여 번들 디렉터리에 복사하거나 명령줄 도구 "Artisan"을 통해 자동으로 설치할 수 있습니다.

2. Laravel에는 이미 고급 PHP ActiveRecord 구현인 Eloquent ORM이 있습니다. 관계의 양쪽에 "제약"을 쉽게 적용할 수 있으므로 데이터를 완벽하게 제어하고 ActiveRecord의 모든 편리함을 누릴 수 있습니다. Eloquent는 Fluent의 쿼리 빌더(query-builder)의 모든 메소드를 기본적으로 지원합니다.

3. 애플리케이션 로직은 컨트롤러에서 구현되거나 경로 선언에 직접 통합될 수 있으며 구문은 Sinatra 프레임워크와 유사합니다. Laravel의 디자인 철학은 개발자에게 최대의 유연성을 제공하여 매우 작은 웹사이트를 만들고 대규모 엔터프라이즈 애플리케이션을 구축할 수 있도록 하는 것입니다.

4. 역방향 라우팅을 사용하면 경로 이름을 통해 링크(URI)를 생성할 수 있습니다. 경로 이름을 사용하면 Laravel이 자동으로 올바른 URI를 생성합니다. 이렇게 하면 언제든지 경로를 변경할 수 있으며 Laravel은 모든 관련 링크를 자동으로 업데이트합니다.

5. Restful 컨트롤러는 GET 요청 로직과 POST 요청 로직을 구별하는 선택적 방법입니다. 예를 들어, 사용자 로그인 로직에서 로그인 페이지를 얻는 서비스를 처리하기 위해 get_login() 액션을 선언하고, 양식에서 게시된 데이터를 확인하기 위해 post_login() 액션도 선언합니다. 검증 후 결정은 다음과 같습니다. 로그인 페이지나 콘솔로 리디렉션되도록 만들어졌습니다.

6. 클래스 자동 로딩은 클래스 로딩을 단순화합니다. 앞으로는 자동 로딩 구성 테이블과 불필요한 컴포넌트 로딩을 유지할 필요가 없습니다. 라이브러리나 모델을 로드하고 싶을 때 즉시 사용하면 Laravel이 자동으로 필요한 파일을 로드합니다.

7. 뷰 컴포저(View Composer)는 기본적으로 뷰가 로드될 때 자동으로 실행되는 코드입니다. 가장 좋은 예는 블로그 측면에 있는 임의 기사 추천입니다. "뷰 어셈블러"에는 임의 기사 추천을 로드하는 논리가 포함되어 있습니다. 이러한 방식으로 콘텐츠 영역의 보기만 로드하면 Laravel이 수행합니다. 다른 것들은 자동으로 완료됩니다.

8. 역방향 제어 컨테이너(IoC 컨테이너)는 새로운 객체를 생성하고 언제든지 객체를 인스턴스화하며 싱글톤 객체에 액세스할 수 있는 편리한 방법을 제공합니다. 역제어(IoC)는 외부 라이브러리(라이브러리)를 로드할 필요가 거의 없고, 코드 내 어디에서나 이러한 객체에 액세스할 수 있으며, 복잡하고 중복되는 코드 구조를 견딜 필요가 없음을 의미합니다.

9. 마이그레이션은 버전 관리 도구와 비슷하지만 데이터베이스 패러다임을 관리하고 Laravel에 직접 통합됩니다. "Artisan" 명령줄 도구를 사용하여 "마이그레이션" 지침을 생성하고 실행할 수 있습니다. 팀 구성원이 데이터베이스 패러다임을 변경하면 버전 제어 도구를 통해 현재 프로젝트를 쉽게 업데이트한 다음 "마이그레이션" 명령을 실행할 수 있습니다. 데이터베이스는 이미 최신 상태입니다.

10. 단위 테스트는 Laravel에서 매우 중요한 부분입니다. Laravel 자체에는 수정 사항이 다른 부분의 기능에 영향을 미치지 않도록 보장하는 수백 개의 테스트 사례가 포함되어 있습니다. 이것이 Laravel이 업계에서 가장 안정적인 버전으로 간주되는 이유 중 하나입니다. Laravel은 또한 자신의 코드를 쉽게 단위 테스트할 수 있는 편리한 기능을 제공합니다. 모든 테스트 케이스는 Artisan 명령줄 도구를 통해 실행할 수 있습니다.

11. 자동 페이지 매김 기능은 관련 없는 페이징 구성 코드가 비즈니스 로직에 혼합되는 것을 방지합니다. 편리함은 현재 페이지를 기억할 필요가 없고 데이터베이스에서 항목의 총 개수를 가져온 다음 제한/오프셋을 사용하여 선택한 데이터를 가져온 다음 마지막으로 'paginate' 메서드를 호출하여 Laravel이 출력할 수 있도록 한다는 것입니다. 각 페이지를 지정된 보기( 보기)에 연결하면 Laravel이 자동으로 모든 작업을 완료합니다. Laravel의 자동 페이징 시스템은 구현 및 수정이 용이하도록 설계되었습니다. Laravel은 이러한 작업을 자동으로 처리할 수 있지만 해당 메서드를 호출하고 페이징 시스템을 수동으로 구성하는 것을 잊지 마십시오!

프로젝트 홈페이지: http://www.open-open.com/lib/view/home/1393898144240



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