>PHP 프레임워크 >Laravel >Laravel 프레임워크가 왜 인기가 있나요?

Laravel 프레임워크가 왜 인기가 있나요?

青灯夜游
青灯夜游원래의
2019-06-14 15:59:303344검색

Laravel은 밝은 미래를 지닌 젊은 프레임워크입니다. 커뮤니티는 활력이 넘치고, 관련 문서와 튜토리얼은 완전하고 명확하며, 최신 애플리케이션을 빠르고 안전하게 개발하는 데 필요한 기능을 제공합니다. 최근 몇 년 동안 PHP 프레임워크의 인기에 대한 통계에서 Laravel은 항상 훨씬 앞서 있었습니다. 그렇다면 Laravel 프레임워크가 인기 있는 이유는 무엇일까요?

Laravel 프레임워크가 왜 인기가 있나요?

Laravel의 기능:

모듈화 및 확장성

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

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

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

<?php
$app->get(&#39;/&#39;, function() {
   return view(&#39;lumen&#39;);
});
$app->post(&#39;framework/{id}&#39;, function($framework) {
   $this->dispatch(new Energy($framework));
});

HTTP path

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

HTTP 미들웨어

Route::get(&#39;/&#39;, function () { 
   return &#39;Hello World&#39;; 
});

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

<?php 
namespace App/Http/Middleware; 
use Closure; 
class OldMiddleware { 
  public function handle($request, Closure $next) { 
    if ($request->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);

Task Automation

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

<?php 
namespace App/Http/Controllers; 
use DB; 
use App/Http/Controllers/Controller; 
class UserController extends Controller { 
  public function index() { 
    $users = DB::table(&#39;users&#39;)->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에서 단위 테스트를 수행하는 데 사용할 수 있습니다.

아아아아

위 내용은 Laravel 프레임워크가 왜 인기가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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