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

Laravel php 8

Truyền tham số theo tên liên hệ – function PHP 8

Việc một function sở hữu rộng rãi tham số (với mình là từ 3 tham số trở nên), có thể khiến developer lúng túng khi tiêu dùng vì không nhớ rõ cảm tưởng của bao giờ tham số, như trang bị tự truyền của chúng.

Ví dụ, function mkdir() (function giúp cho 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à tiềm 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 đưa 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 ý nghĩa 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 có thể gặp phải khi tiêu dùng Laravel php 8 mkdir() đó là:

  • Thỉnh thoảng không nhớ rõ thiết bị 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 thay thế bởi giá trị của tham số $recursive từ false biến 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 phiền toái khi tiêu dùng, để khắc phục nó, thì PHP hỗ trợ cú pháp mới 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 hỗ trợ để tiện tiêu dùng hơn khi cần, còn bạn vẫn thường tiêu dùng cú pháp cũ bình thường 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ư 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 votes)

Laravel PHP 8 tác dụng ? Chỉ dẫn nâng WordPress lên php 8.0

Lê Trương Tấn Lộc (sieutocviet.page)

Với 6 năm thực chiến Python, PHP 7 năm kinh nghiệm trong quản trị web site tư vấn giải pháp đẩy top, Marketing tối ưu nhất cho tập đoàn quốc tế.
Hiện đang là leader kinh doanh tại Siêu Tốc Việt.