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 nắm tới 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õ ý nghĩa của lần nào tham số, như đồ vật 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à đủ tiềm năng đăng nhập vào thư mục (kiểu 0777, hay 0655), mặc định là 0777.$recursive
: Không bắt buộc, nắm tới 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 lần nào dùng đến tham số này.
Các vấn đề mà một developer thường xuyên gặp phải khi tiêu dùng Laravel php 8 mkdir()
đó là:
- Thỉnh thoảng không nhớ rõ đồ vật tự của 2 tham số
$permissions
và$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
trở thànhtrue
, 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); |
recursive
và directory
là 2 tham số mà mình buộc phải tuân theo tài liệu mà PHP hỗ trợ.
Lê Trương Tấn Lộc (sieutocviet.page)
Có hơn 6 năm kinh nghiệm Python, PHP 6 năm thực chiến trong quản trị web site tư vấn giải pháp đẩy top, Kinh doanh online tối ưu nhất cho doanh nghiệp.
Hiện là quản lý kinh doanh tại Siêu Tốc Việt.