null $foo): void;
public function bar(?Bar $bar): void;

Laravel php 8

Truyền tham số theo tên tìm đến – function PHP 8

Việc một function sở hữu nhiều tham số (với mình là từ 3 tham số trở nên), khả năng cao khiến developer lúng túng khi tiêu dùng vì không nhớ rõ ý nghĩa của từng tham số, như thứ tự truyền của chúng.

Ví dụ, function mkdir() (function hỗ trợ tạo thư mục) trong Laravel php 8 có 4 tham số lần lượt là:

  • $directory: Bắt buộc, là đường dẫn để tạo thư mục
  • $permissions: Không bắt buộc, là khả năng truy cập vào thư mục (kiểu 0777, hay 0655), mặc định là 0777.
  • $recursive: Không bắt buộc, sở hữu cho phép tạo thư mục con ngay cả khi thư mục cha không tồn tại (cho phép tạo kiểu đệ quy), mặc định là false.
  • $context: Không bắt buộc, còn ý tưởng là gì thì mình cũng chẳng hiểu lắm, chưa bao giờ dùng đến tham số này.

Các vấn đề mà một developer khả năng cao gặp phải khi tiêu dùng Laravel php 8 mkdir() đó là:

  • Đôi khi không nhớ rõ đồ vật tự của 2 tham số $permissions$recursive, không biết tham số nào được viết trước.
  • Nếu muốn chuyển hướng giá trị của tham số $recursive từ false thành true, developer buộc phải truyền cả tham số $permissions (vì $permissions đứng trước $recursive).

Cả hai vấn đề trên đều gây bất tiện khi tiêu dùng, để khắc phục nó, thì PHP hỗ trợ cú pháp mới đưa cho phép truyền tham số theo tên gọi:

1
2
3
4
5
6
7
8
9
<?php
// PHP 7.x
mkdir('./hello/world', 0777, true);
// PHP 8
mkdir(recursive: true, directory: './hello/world');
// Hoặc
mkdir('./hello/world', recursive: true);
Lưu ý: – Đây chỉ là cú pháp mới mà PHP 8 cung cấp để tiện tiêu dùng hơn khi nên, còn bạn vẫn thường xuyên tiêu dùng cú pháp cũ bình khả năng cao trên phiên bản PHP 8 này. – Tên tham số bạn không được phép “tự nghĩ ra” mà phải tuân theo tài liệu của PHP. Như là trong ví dụ trên, recursivedirectory là 2 tham số mà mình buộc phải tuân theo tài liệu mà PHP hỗ trợ.

4.8/5 - (25 bình chọn)

Laravel PHP 8 là gì ? Cách nâng Word press lên php 8.0

Nguyễn Thanh Tuấn (sieutocviet.com)

Với 5 năm thực chiến Drupal 5 năm kinh nghiệm trong quản lý web site tư vấn giải pháp Seo top, Kinh doanh online tối ưu nhất cho công ty.
Hiện đang là quản lý kinh doanh tại Siêu Tốc Việt.