logo

Đang load dữ liệu

logo devmaster

VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER

Đào tạo - Phần mềm - Cho thuê nhân sự

  • 0969.609.003
  • 0978.611.889
  • Trang chủ
  • Các khoá đào tạo
    • Chuyên đề WEB - PHP

      • Lập trình web với HTML5 - CSS3- JQuery - Bootstrap - Ajax - [36 giờ]
      • Lập trình web frontend - reactjs - [75 giờ]
      • Lập trình web với mã nguồn mở PHP&MYSQL - PHP FRAMEWORK [126 giờ]

      Chuyên đề Mobile

      • Lập trình Games/Apps trên nền tảng Android - [120 giờ]
      • Lập trình Games/Apps trên nền tảng IOS - [120 giờ]

      Chuyên đề JAVA

      • Ngôn ngữ lập trình hướng đối tượng với java - [40 giờ]
      • Lập trình ứng dụng với java - [100 giờ]
      • Lập trình web site với java framework (JPA, HIBERNATE, SPRING MVC, SPRINGBOOT) - [276 giờ]

      Chuyên đề NETWORK/SECURITY

      • Khoá học Quản trị hạ tầng mạng CCNA v6 - [72 giờ]
      • Khoá học quản trị hệ thống với Windows SERVER 2012- [72 giờ]
      • Chuyên gia bảo mật hệ thống CompTIA + - [110 giờ]

      Chuyên đề .NET

      • Nền tảng lập trình hướng đối tượng với C# - [40 giờ]
      • Lập trình ứng dụng WINDOWS FORM - [100 giờ]
      • Lập trình Web với ASP.NET MVC 5, WebAPI - [145 giờ]

      Chuyên đề khác

      • Ngôn ngũ lập trình C/C++ - [80 giờ]
  • Lập trình cho trẻ em
  • Dịch vụ
    • Đào tạo theo như cầu
    • Cung cấp thiết bị - Phần mềm
    • Tư vấn - Thiết kế mạng hạ tầng
    • Tư vấn - Triển khai dịch vụ mạng
    • Tư vấn - Tư vấn, triển khai giám sát hệ thống
    • Thực tập dự án
  • Lịch khai giảng
  • Tin tức
    • Tin tức và sự kiện
    • Tin hoạt động
    • Tin công nghệ
    • Hội thảo, workshop, Codecam
    • Thông tin việc làm
    • Cẩm nang chia sẻ kiến thức
  • Tiện ích
  • Liên hệ

Tin công nghệ

Sep - 2018

21

Laravel 5.7 có gì mới?

Tin công nghệ

  • Ở bải viết này ta sẽ cùng nhau tìm hiểu một số tính năng và cập nhật mới được bổ xung trong phiên bản Laravel 5.7
  • Trong phiên bản mới này, Taylor Otwell đã công bố một số thay đổi như sau:
    • Resources Directory Changes.
    • Callable Action URLs.
    • Laravel Dump Server.
    • Improved Error Messages For Dynamic Calls.
    • Email Verification
    • Guest User Gates / Policies
    • Paginator Links
    • Filesystem Read / Write Streams
    • Laravel Nova
  • Cài đặt Laravel 5.7 từ nhánh Develop với tên project là test:
    composer create-project laravel/laravel test dev-develop
    

I. Resources Directory Changes

  • Nếu bạn mở project test vừa tạo bên trên bằng sublime, bạn có thể thấy các thay đổi cấu trúc thư mục so với phiên bản 5.6. Cụ thể thư mục assets bên trong thư mục Resources sẽ không còn nữa, các thư mục con bên trong sẽ được move ra ngoài thư mục Resources 
  • Để upgrade dự án cũ bằng tay lên phiên bản Laravel 5.7 bạn có thể thực hiện như sau:
    mv resources/assets/* resources
    rm -Rf resources/assets/
    
  • Việc thay đổi này dẫn đến việc cấu hình Laravel Mix thay đổi theo:
    let mix = require('laravel-mix');
    
    mix.js('resources/js/app.js', 'public/js')
       .sass('resources/sass/app.scss', 'public/css');
    

II. Callable Action URLs

  • Hàm action để tạo URL trong helper đã được cải tiến cho phép gọi như sau trong phiên bản 5.7
    $url = action([UserController::class, 'index']);
    
  • Bạn cũng có thể nghe được đâu đó tính năng mới này với tên tuple hoặc callable array syntax.
  • So với phiên bản 5.6 cũ thì cú pháp sẽ như sau:
    $url = action('UserController@index');
    
  • Lợi ích của cải tiến này là khi bạn dùng text editor, chẳng hạn ở đây mình dùng Sublime Text thì ta có thể đi thẳng đến UserController bằng cách rê chuột vào UserController::class các suggesstion sẽ hiển thị ra.

III. Laravel Dump Server

  • Package Laravel Dump Server sẽ được tích hợp sẵn trong phiên bản 5.7, cụ thể trong file composer.json sẽ như thế này:
    "require-dev": {
        "beyondcode/laravel-dump-server": "~1.0",
        "filp/whoops": "^2.0",
        "fzaninotto/faker": "^1.4",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^2.0",
        "phpunit/phpunit": "^7.0"
    },
    
  • Để sử dụng package này ta chạy câu lệnh:
    php artisan dump-server
    
  • Hoặc đặt định dạng đầu ra với option --format:
    php artisan dump-server --format=html > dump.html
    

III. Improved Error Messages for Dynamic Calls

  • Laravel 5.7 giúp ta dễ dàng theo dõi các thông báo lỗi gây ra khi ta gọi tới các model Eloquent.
  • Chẳng hạn lỗi như hình ảnh dưới đây: 
  • Như vậy lỗi chưa định nghĩa method forst() sẽ được chỉ ra rõ ràng trong class App/Userthay vì class Builder như trước.

IV. Email Verification

  • Đây là tính năng xác mình email cho người dùng khi sử dụng authentication mặc định của laravel.
  • Cột mới email_verified_at đã được thêm vào bảng users để phục vụ chức năng này. Bạn thậm chí không phải update lại file migration vì file này đã được cập nhật thêm cột email_verified_at rồi. Việc của bạn là chạy php artisan migrate để tạo bảng users.
  • Đồng thời bạn cần implement MustVerifyEmail interface vào model User:
    <?php 
    // App/User.php namespace App; 
    use Illuminate\Notifications\Notifiable; 
    use Illuminate\Contracts\Auth\MustVerifyEmail; 
    use Illuminate\Foundation\Auth\User as Authenticatable; 
    
    class User extends Authenticatable implements MustVerifyEmail 
    { 
        // ... 
    }
    

V. Guest User Gates / Policies

  • Trong các phiên bản trước, các gates và policies sẽ tự động trả về false cho các khách chưa được xác thực vào ứng dụng của bạn. Tuy nhiên giờ đây, bạn có thể vượt qua bước kiểm tra này bằng khai báo "optional" hoặc định nghĩa giá trị mặc định bằng null cho đối số.
    Gate::define('update-post', function (?User $user, Post $post) {
        // ...
    });
    

VI. Paginator Links

  • Cập nhật ở phiên bản này cho phép bạn hiển thị số lượng link tùy ý ở phần phân trang với method onEachSide
    {{ $paginator->onEachSide(5)->links() }}
    
  • Với config này phần phân trang sẽ hiển thị tối đa 5 link đến các trang khác.

VII. Filesystem Read / Write Streams

  • Flysystem của Laravel sẽ cung cấp các phương thức readStream và writeStream:
    Storage::disk('s3')->writeStream(
        'remote-file.zip',
        Storage::disk('local')->readStream('local-file.zip')
    );
    

VIII. Laravel Nova

  • Đây không phải là một tính năng mới của Laravel 5.7. Nó là 1 package khác được tạo ra bởi Taylor Otwell.

  • Nó được mô tả là một dashboard adminstration tốt nhất cho các ứng dụng laravel. Tất nhiên, tính năng chính của Nova là khả năng quản lý các bản ghi cơ sở dữ liệu bằng cách sử dụng Eloquent. Ngoài ra Nova còn hỗ trợ filters, lenses, actions, queued action, metrics, authorization, tùy chỉnh tools, tùy chỉnh cards, tùy chỉnh fields, và nhiều thứ khác nữa.

  • Để trải nhiệm Nova, bạn có thể tham khảo từ đây https://nova.laravel.com/

Các bài viết cùng chủ đề

Việt Nam khả năng thiếu 150.000 đến 200.000 nhân sự IT mỗi năm
Việt Nam khả năng thiếu 150.000 đến 200.000 nhân s...
Tổng quan ngành khoa học máy tính
Tổng quan ngành khoa học máy tính
8 xu thế công nghệ đáng chú ý nhất trong năm 2021
8 xu thế công nghệ đáng chú ý nhất trong năm 2021...
Tìm hiểu về API? Tại sao API lại được trọng dụng!
Tìm hiểu về API? Tại sao API lại được trọng dụng!...
Học ngôn ngữ lập trình nào để bắt kịp xu thế công nghệ năm 2021
Học ngôn ngữ lập trình nào để bắt kịp xu thế công ...
Nên làm việc ở công ty Product hay công ty Outsourcing?
Nên làm việc ở công ty Product hay công ty Outsour...

Các khóa đào tạo chuyên đề

Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
Lập trình ứng dụng trên nền tảng android Lập trình ứng dụng trên nền tảng android
Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack

Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack
Lập trình ứng dụng với WINDOWS FORM Lập trình ứng dụng với WINDOWS FORM
Lập trình ứng dụng với JAVA (FORM) Lập trình ứng dụng với JAVA (FORM)
Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery
Lập trình frontend với reacjs (Full) Lập trình frontend với reacjs (Full)
Viện Công Nghệ Và Đào Tạo Devmaster

DEVMASTER ACADEMY

Địa chỉ: Tầng 6 - Tòa nhà VIỆN CÔNG NGHỆ
Số 25, Vũ Ngọc Phan - Láng Hạ - Đống Đa - Hà Nội

Hotline: 0969 609 003 | 0978 611 889

devmaster.contact@gmail.com

hna.tvchung@gmail.com

CÁC KHÓA HỌC CHUYÊN ĐỀ

  • Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
  • Lập trình ứng dụng trên nền tảng android
  • Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack
  • Lập trình ứng dụng với WINDOWS FORM
  • Lập trình ứng dụng với JAVA (FORM)
  • Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
  • Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery
  • Lập trình frontend với reacjs (Full)
Viện Công Nghệ Và Đào Tạo Devmaster

VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER - Học thực tế * Làm thực tế * Cam kết việc làm
Copyright by Ⓒ DEVMASTER 2015