Laravel ra mắt phiên bản 5.2

Theo như thông báo chính thức trên blog thì Laravel 5.2 đã chính thức ra mắt ngày 21/12/2015

Phiên bản 5.2 lần này bao gồm 1 số tính năng mới sau:

Hỗ trợ multiple authentication

Ở các phiên bản trước của Laravel, chỉ hỗ trợ duy nhất việc authenticate dựa trên session và bạn chỉ có thể có 1 mô hình xác thực với mỗi application.

Tuy nhiên, trong phiên bản 5.2 này, bạn có thể định nghĩa thêm các drivers xác thực cũng như các mô hình xác thực hoặc các bảng người dùng & điều khiển các tiến trình xác thực đó một cách tách biệt. Ví dụ, nếu ứng dụng của bạn có 1 bảng dành cho các người dùng “admin” và 1 bảng cho các người dùng “student”, bạn hoàn toàn có thể sử dụng phương thức Auth để xác thực dựa trên các bảng tương ứng đó thay vì chỉ 1 bảng như trước kia

Authentication scaffolding

Laravel đã hỗ trợ việc xử lý chứng thực 1 cách dễ dàng cho phía back-end; tuy nhiên, Laravel 5.2 còn cung cấp một cách nhanh chóng & thuận tiện hơn để triển khai phần xác thực cho phía front-end bằng cách chạy 1 câu lệnh đơn giản sau:

php artisan make:auth

Câu lệnh này sẽ tạo ra các file views (tương thích Bootstrap) cho các tác vụ: đăng nhập, đăng ký người dùng,  khôi phục mật khẩu. Lệnh này cũng cập nhật lại file routes của bạn với các action tương ứng.

Lưu ý: tính năng này chỉ nên dùng khi phát triển mới (từ đầu) các ứng dụng chứ không phải trong quá trình nâng cấp ứng dụng

Implicit model binding

Tính năng mới này giúp cho việc sử dụng model trong Route/Controller thuận tiện hơn rất nhiều. Hãy cùng xem ví dụ dưới đây:

Laravel 5.2 sẽ tự động thực hiện các tác vụ sau:

  • Call User::findOrFail($userId), với $userId là tham số lấy từ segment({user}). Ví dụ, /user/1 thì $userId sẽ là 1 và Laravel sẽ gọi User::findOrFail(1)
  • Inject kết quả vào biến $user

Middleware groups

Middleware groups cho phép nhóm nhiều middleware của route dưới 1 key name thuận tiện, cho phép bạn gán đồng thời nhiều middleware vào 1 route. Ví dụ hữu ích khi xây dựng 1 web UI và một API trong cùng một ứng dụng. Bạn có thể nhóm các route về session & CSRF vào nhóm có tên là web và giới hạn truy xuất vào nhóm api

Trong thực tế, cấu trúc của ứng dụng mặc định trong Laravel 5.2 cũng tiếp cận theo cách này. Ví dụ, trong file mặc định AppHttpKernel.php bạn sẽ tìm thấy đoạn sau:

Sau đó, nhóm web có thể sẽ được gán cho các route tương tự như sau:

Rate limit

Tính năng này cho phép bạn dễ dàng giới hạn số lần request từ 1 IP đến 1 route trong một khoảng thời gian cụ thể. Ví dụ, để giới hạn 1 IP chỉ có thể gửi tối đa 60 requests đến 1 route trong 1 phút bạn có thể làm như sau:

Array validation

Từ phiên bản Laravel 5.2, bạn có thể kiểm tra điều kiện cho các trường dữ liệu dạng mảng trong form 1 cách dễ dàng hơn rất nhiều. Ví dụ, để kiểm tra mỗi e-mail trong 1 mảng người dùng là duy nhất, bạn có thể làm như sau:

với input form ở file views có dạng như sau:
<input name="person[]['email']" type="text" value="">
hoặc
<input name="person[xxx]['email']" type="text" value="">

Tương tự, bạn có thể sử dụng ký tự * khi thiết lập thông điệp hiển thị cho validation tương ứng trong các file ngôn ngữ:

Cải tiến Eloquent Global Scope

Trong các phiên bản trước của Laravel, global Eloquent scope rất phức tạp và hay phát sinh lỗi khi implement. Tuy nhiên, trong phiên bản 5.2 này, global query scopes chỉ yêu cầu bạn implement duy nhất 1 phương thức đơn giản đó là apply()

Để biết thêm thông tin về việc viết các global scope, bạn có thể xem bản đầy đủ tại đây

 

78 thoughts on “Laravel ra mắt phiên bản 5.2

  1. Pingback: Viagra 5mg
  2. Pingback: Cialis for sale
  3. Pingback: Buy viagra
  4. Pingback: Buy cialis
  5. Pingback: Cialis 5mg prix
  6. Pingback: Online cialis
  7. Pingback: Cialis 20mg
  8. Pingback: Buy cialis
  9. Pingback: writeaessay
  10. Pingback: Cialis coupon
  11. Pingback: Cialis 20mg
  12. Pingback: Buy cialis online
  13. Pingback: buy cialis
  14. Pingback: tadalafil generic
  15. Pingback: sildenafil citrate
  16. Pingback: cialis
  17. Pingback: sildenafil 100mg
  18. Pingback: cialis generic
  19. Pingback: cialis coupon
  20. Pingback: cialis 20mg
  21. Pingback: levitra
  22. Pingback: generic cialis
  23. Pingback: cialis online
  24. Pingback: tadalafil 5mg
  25. Pingback: tadalafil 20mg
  26. Pingback: viagra tablets
  27. Pingback: sildenafil
  28. Pingback: tadalafil
  29. Pingback: cialis dosage
  30. Pingback: cialis prices
  31. Pingback: cialis tablets
  32. Pingback: viagra vs cialis
  33. Pingback: generic viagra
  34. Pingback: viagra connect
  35. Pingback: cialis vs viagra
  36. Pingback: tadalafil 20 mg
  37. Pingback: cialis 20 mg
  38. Pingback: cialis 5 mg
  39. Pingback: cialis pills
  40. Pingback: cheap cialis
  41. Pingback: cialis coupons
  42. Pingback: cialis canada

Leave a Reply

Your email address will not be published. Required fields are marked *