trieu.dev.da
Nguyễn Thanh Triều
Kế hoạch release của Laravel
Hiện nay, các phiên bản Laravel được dự kiến release vào Q1 hàng năm.
Đối với tất cả các phiên bản Laravel, các bản fix bug được cung cấp trong 18 tháng và các bản sửa lỗi bảo mật được cung cấp trong 2 năm.
Laravel 10 hỗ trợ PHP phiên bản 8.1-8.2 và không hỗ trợ 8.0.
Những cập nhật trong Laravel 10
1. Native Type Declarations
Trước version 10: sử dụng DocBlocks để làm rõ chức năng của một function và loại parameters hoặc response mong đợi.
Version 10:
Để đảm bảo được sự tương thích ngược của framework (breaking changes), các thuộc tính sẽ được áp dụng cho:
Trước version 10: Nếu bạn muốn tạo Rule Invokable trong Laravel 9 phải thêm cờ –-invokable khi khai báo.
Version 10: Khi tạo Rule sẽ mặc định là Invokable
3. Hỗ trợ sửa cột cho CSDL
Nhằm loại bỏ dần nhu cầu sử dụng package doctrine/dbal, một tính năng mới đã được giới thiệu trong Laravel 10 cho phép các nhà phát triển sử dụng phương thức change() để sửa đổi các cột mà không cần các gói bổ sung.
Sử dụng phương thức change() để chỉnh sửa cột.
Ví dụ: Để sửa kiểu dữ liệu từ integer -> bigInt ta làm như sau
Note:
4. Hỗ trợ lấy ra Column Type
Tương tự change(), laravel 10 hỗ trợ phương thức Schema::getColumnType mà không cần đến doctrine/dbal.
5. Hỗ trợ phương thức whereExists() cho Eloquent ORM
Ở những phiên bản trước, việc sử dụng whereExists() cần sử dụng query lồng nhau.
Ở phiên bản 10, ta chỉ cần làm như sau:
Hiện nay, các phiên bản Laravel được dự kiến release vào Q1 hàng năm.
Đối với tất cả các phiên bản Laravel, các bản fix bug được cung cấp trong 18 tháng và các bản sửa lỗi bảo mật được cung cấp trong 2 năm.
Laravel 10 hỗ trợ PHP phiên bản 8.1-8.2 và không hỗ trợ 8.0.
Những cập nhật trong Laravel 10
1. Native Type Declarations
Trước version 10: sử dụng DocBlocks để làm rõ chức năng của một function và loại parameters hoặc response mong đợi.
Version 10:
Để đảm bảo được sự tương thích ngược của framework (breaking changes), các thuộc tính sẽ được áp dụng cho:
- Dữ liệu trả về (return types)
- Tham số của phương thức (method arguments)
- Loại bỏ một số khai báo types không còn cần thiết ở docblock
- Cho phép có thể khai báo ngay trong các tham số của closure
Trước version 10: Nếu bạn muốn tạo Rule Invokable trong Laravel 9 phải thêm cờ –-invokable khi khai báo.
Version 10: Khi tạo Rule sẽ mặc định là Invokable
3. Hỗ trợ sửa cột cho CSDL
Nhằm loại bỏ dần nhu cầu sử dụng package doctrine/dbal, một tính năng mới đã được giới thiệu trong Laravel 10 cho phép các nhà phát triển sử dụng phương thức change() để sửa đổi các cột mà không cần các gói bổ sung.
Sử dụng phương thức change() để chỉnh sửa cột.
Ví dụ: Để sửa kiểu dữ liệu từ integer -> bigInt ta làm như sau
Note:
- Cần thêm tất cả thuộc tính của cột khi thay đổi nếu không chúng sẽ bị loại bỏ.
- Nếu đã cài đặt doctrine/dbal, nên khai báo phương thức Schema::useNativeSchemaOperationsIfPossible() trong App/Providers/AppServiceProvider để sử dụng tính năng này. Laravel sẽ ưu tiên nó trước khi sử dụng đến package và không hỗ trợ cho SQLite.
4. Hỗ trợ lấy ra Column Type
Tương tự change(), laravel 10 hỗ trợ phương thức Schema::getColumnType mà không cần đến doctrine/dbal.
5. Hỗ trợ phương thức whereExists() cho Eloquent ORM
Ở những phiên bản trước, việc sử dụng whereExists() cần sử dụng query lồng nhau.
Ở phiên bản 10, ta chỉ cần làm như sau: