>  기사  >  백엔드 개발  >  PHP 언어로 작성된 Laravel 프레임워크에 대한 자세한 설명

PHP 언어로 작성된 Laravel 프레임워크에 대한 자세한 설명

墨辰丷
墨辰丷원래의
2018-05-17 10:42:201807검색

Laravel은 단순함과 우아함으로 널리 주목을 받았습니다. 전문가든 초보자든 PHP 프로젝트를 개발할 때 즉시 Laravel을 떠올릴 것입니다. 이 기사에서는 Laravel이 가장 성공적인 PHP 프레임워크가 된 이유에 대해 설명합니다

2011년 Taylor Otwell은 새롭고 현대적인 접근 방식을 포함하는 프레임워크로서 Laravel을 모든 사람에게 소개했습니다. Laravel은 원래 이벤트 처리, 사용자 인증 등 다양한 요구 사항을 충족할 수 있는 MVC 아키텍처용으로 설계되었습니다. 또한 모듈식 및 확장 가능한 코드를 관리하기 위해 관리 데이터베이스로 구동되는 패키지 관리자가 있습니다.

Laravel은 단순함과 우아함으로 널리 주목을 받았습니다. 전문가든 초보자든 PHP 프로젝트를 개발할 때 즉시 Laravel을 떠올릴 것입니다. 이 글에서는 Laravel이 왜 가장 성공적인 PHP 프레임워크가 되었는지 논의할 것입니다.

모듈화 및 확장성

Laravel은 코드의 모듈화 및 확장성에 중점을 둡니다. 5500개 이상의 패키지가 포함된 Packalyst 디렉터리에서 추가하려는 파일을 찾을 수 있습니다. Laravel의 목표는 원하는 파일을 찾을 수 있도록 하는 것입니다.

마이크로서비스 및 프로그램 인터페이스

Lumen은 합리화에 중점을 둔 laravel에서 파생된 마이크로 프레임워크입니다. 고성능 프로그래밍 인터페이스를 통해 마이크로 프로젝트를 보다 쉽고 빠르게 개발할 수 있습니다. Lumen은 최소한의 구성으로 laravel의 모든 중요한 기능을 통합합니다. 코드를 laravel 프로젝트에 복사하여 전체 프레임워크를 마이그레이션할 수 있습니다.

get('/', function() {return view('lumen');});$app->post('framework/{id}', function($framework) {$this->dispatch(new Energy($framework));});

HTTP path

Laravel은 Ruby on Rails와 유사한 빠르고 효율적인 라우팅 시스템을 갖추고 있습니다. 이를 통해 사용자는 브라우저에 경로를 입력하여 애플리케이션의 일부를 연결할 수 있습니다.

Route::get('/', function () {return 'Hello World';});

HTTP 미들웨어

애플리케이션은 미들웨어로 보호될 수 있습니다. 미들웨어는 서버에서 HTTP 요청 분석 및 필터링을 처리합니다. 등록된 사용자를 인증하고 XSS(교차 사이트 스크립팅) 또는 기타 보안 조건과 같은 문제를 방지하기 위해 미들웨어를 설치할 수 있습니다.

input(&#39;age&#39;) <= 200) {return redirect(&#39;home&#39;);}return $next($request);}

Caching

앱에는 앱 로드 속도를 높이고 사용자에게 최고의 사용 경험을 제공하도록 조정할 수 있는 강력한 캐싱 시스템이 있습니다.

Cache::extend(&#39;mongo&#39;, function($app) {return Cache::repository(new MongoStore);});

인증

보안이 중요합니다. Laravel에는 로컬 사용자 인증이 제공되며 "remember" 옵션을 사용하여 사용자를 기억할 수 있습니다. 또한 사용자의 활성 여부 표시와 같은 몇 가지 추가 매개변수를 설정할 수도 있습니다.

if (Auth::attempt([&#39;email&#39; => $email, &#39;password&#39; => $password, &#39;active&#39; => 1 ], $remember)) {// The user is being remembered...}

유형 통합

Laravel Cashier는 결제 시스템을 개발하는 데 필요한 모든 요구 사항을 충족할 수 있습니다. 이 외에도 사용자 인증 시스템을 동기화하고 통합합니다. 따라서 더 이상 청구 시스템을 개발에 통합하는 것에 대해 걱정할 필요가 없습니다.

$user = User::find(1);$user->subscription(&#39;monthly&#39;)->create($creditCardToken);

작업 자동화

Elixir는 Gulp를 사용하여 작업을 정의할 수 있는 Laravel 프로그램 인터페이스입니다. Elixir를 사용하여 CSS와 JavaScript를 간소화할 수 있는 전처리기를 정의할 수 있습니다.

elixir(function(mix) {mix.browserify(&#39;main.js&#39;);});

Encryption

보안 애플리케이션은 데이터를 암호화할 수 있어야 합니다. Laravel을 사용하면 OpenSSL 보안 암호화 알고리즘 AES-256-CBC를 활성화하여 모든 요구 사항을 충족할 수 있습니다. 또한, 모든 암호화된 값은 암호화된 정보의 변경 여부를 감지하는 인증코드로 서명됩니다.

use Illuminate\Contracts\Encryption\DecryptException;try {$decrypted = Crypt::decrypt($encryptedValue);} catch (DecryptException $e) {//}

이벤트 처리

이벤트는 애플리케이션에서 매우 빠르게 정의, 녹음 및 청취됩니다. EventServiceProvider 이벤트의 수신 대기에는 애플리케이션에 기록된 모든 이벤트 목록이 포함되어 있습니다.

protected $listen = [&#39;App\Events\PodcastWasPurchased&#39; => [&#39;App\Listeners\EmailPurchaseConfirmation&#39;,],];

Pagination

Laravel의 페이지 매김은 사용자 브라우저의 현재 페이지를 기반으로 일련의 링크를 생성할 수 있기 때문에 매우 쉽습니다.

paginate(15);return view(&#39;user.index&#39;, [&#39;users&#39; => $users]);}}

객체 관계 그래프(ORM)

Laravel에는 데이터베이스를 처리하는 레이어가 포함되어 있으며 해당 레이어의 객체 관계 그래프를 Eloquent라고 합니다. 또한 이 객체 관계 다이어그램은 PostgreSQL에도 적용됩니다.

$users = User::where(&#39;votes&#39;, &#39;>&#39;, 100)->take(10)->get();foreach ($users as $user) {var_dump($user->name);}

단위 테스트

단위 테스트 개발은 시간이 많이 걸리는 작업이지만 애플리케이션이 계속 제대로 작동하도록 보장하는 열쇠입니다. PHPUnit은 Laravel에서 단위 테스트를 수행하는 데 사용할 수 있습니다.

$users = User::where(&#39;votes&#39;, &#39;>&#39;, 100)->take(10)->get();foreach ($users as $user) {var_dump($user->name);}

해야 할 일 목록

Laravel提供在后台使用待办事项清单(to do list)处理复杂、漫长流程的选择。它可以让我们异步处理某些流程而不需要用户的持续导航。

Queue :: push ( new SendEmail ( $ message ));

为什么使用laravel。

PHP框架有许多,也有不同的优势。其实为“U图床”这个简单到不能再简单的app搭一个后台,更本就没有用框架的需求,纯粹是为了学习学习。公司项目有用laravel,有现成的使用代码在那里,我决定看代码+看文档+实践的学习速度比看一些视频教程来的快,而且我觉得看懂laravel,再回过头来学习TP,可能很快就能掌握了。

相关推荐:

ThinkPHP框架让页面重定向方法总结

ThinkPHP框架中使用Memcached缓存数据的方法

ThinkPHP框架基于PDO方式连接数据库操作示例

위 내용은 PHP 언어로 작성된 Laravel 프레임워크에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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