11/08/2018, 20:54

Laravel 5.1 - bản nâng cấp ấn tượng

Laravel vừa thông báo nâng cấp bản v5.1, lần đầu tiên trong lịch sử cung cấp chính sách hỗ trợ dài hạn (long-time support) với người dùng. Chúng ta cũng cùng nhìn lại những tính năng mới nổi bật lần này Kể từ khi ra đời năm 2011, Laravel luôn luôn đi theo "chân ngôn" release early, ...

Laravel 5.1

Laravel vừa thông báo nâng cấp bản v5.1, lần đầu tiên trong lịch sử cung cấp chính sách hỗ trợ dài hạn (long-time support) với người dùng. Chúng ta cũng cùng nhìn lại những tính năng mới nổi bật lần này

Kể từ khi ra đời năm 2011, Laravel luôn luôn đi theo "chân ngôn" release early, release often, là xu hướng chung của giới phát triển mã nguồn mở. Tuy nhiên với sự phát triển và phổ biến nhanh chưa từng thấy của framework này, tác giả đã phải nghĩ đến việc cung cấp hỗ trợ cho các công ty, tổ chức lớn, nơi cần một framework ổn định và bảo mật tốt, đồng thời không thể bảo trì và nâng cấp một cách thường xuyên. Laravel 5.1 được release bao gồm cả một gói hỗ trợ với thời gian 3 năm về mọi vấn đề bảo mật.

Chính sách hỗ trợ dài hạn nói trên là điểm sáng lớn nhất của lần release này, tuy nhiên ngoài ra Taylor Otwell cũng giời thiệu thêm những tính năng mới dưới đây.

Hệ thống tài liệu (document) đã được làm lại một cách cẩn thận và rõ ràng hơn. Mỗi trang tài liệu đã được dành vô số thời gian tỉ mỉ để chăm chút cẩn thận.

Khi được hỏi tại sao lại dành nhiều thời gian để làm lại document như vậy, Taylor Otwell nói rằng ông sẽ lùi thời gian release của mỗi phiên bản mới, thay vì release sớm nhưng cùng với một bản tài liệu nghèo nàn.

Hệ thống tài liệu lần này đi kèm với khă năng tìm kiếm real-time và auto-complete
Laravel Document

Toàn bộ framework và bộ generator đã được convert về chuẩn PSR-2. Ngoài ra tất cả tab đều được chuyển thành space.

Từ bây giờ, tất cả service có thể được gọi trực tiếp từ template blade .

@extends('layouts.app')
@inject('stats', 'StatisticsService')
<div>{{ $stats->getCustomerCount() }}</div>

Hệ thống event (sự kiện) đã được giới thiệu từ lần release trước, tuy nhiên từ bây giờ thì event có thể được phát qua websocket đến client-side, điều này mở ra tiềm năng phát triển cho những ứng dụng trao đổi theo thời gian thực (Real-time application), dựa trên backend là Laravel và các front-end framework của JS.

Unittest trong Laravel đã trờ trên dễ dàng hơn nữa

public function testNewUserRegistration()
{
    $this->visit('/register')
         ->type('Taylor', 'name')
         ->check('terms')
         ->press('Register')
         ->seePageIs('/dashboard');
}

Commands trong các bản Laravel trước được đổi tên thành Jobs, với ý nghĩa để chuyên dùng cho xử lý các jobs theo hàng đợi. Thay đổi này hoàn toàn không làm mất tính tương thích với các phiên bản trước.

Từ Laravel 5.0 mọi request đến đều phải đi qua một CRSF middleware (bộ lọc phòng chống tấn công Cross-site request forgery hay one-click-attack), Tuy nhiên với các dịch vụ webhook thì việc tạo một CRSF token là không thể, vì vậy từ Laravel 5.1, chúng ta có thể "bỏ qua" bộ lọc trong những trường hợp cố định được chỉ định sẵn. Dưới đây là một property của class VerifyCsrfToken

protected $except = [
 'webhook/*'
];

Đã có một loạt video mới giới thiệu tính năng mới của Laravel 5.1:What's New in Laravel 5.1

Bài viết này được lược dịch lại từ bài viết trên Laravel News.

0