Pengesahan jenis parameter fungsi tersuai dalam PHP boleh menguatkuasakan jenis parameter untuk memastikan ia adalah seperti yang diharapkan, sekali gus meningkatkan keteguhan kod. Ini boleh dicapai dengan: Petua jenis: Isytiharkan jenis parameter fungsi yang dijangkakan, jenis yang tidak sepadan akan membuang pengecualian. Penukaran jenis: Gunakan fungsi settype atau operator untuk menukar pembolehubah kepada jenis yang ditentukan. Jenis inferens: PHP secara automatik membuat kesimpulan jenis pembolehubah, seperti semasa memberikan nilai. Pengesahan tersuai: Buat fungsi pengesahan tersuai untuk mengesahkan jenis tertentu (seperti tarikh). Kes praktikal: Tunjukkan penggunaan pengesahan tersuai melalui fungsi pengesahan nama untuk memastikan panjang dan format nama memenuhi keperluan.
Dalam PHP, pengesahan jenis parameter fungsi membolehkan anda memaksa jenis parameter yang dihantar untuk memastikan ia sepadan dengan jangkaan. Ini membantu meningkatkan keteguhan dan kebolehpercayaan kod anda.
Petua jenis PHP 7.0 yang diperkenalkan, membolehkan anda mengisytiharkan jenis parameter fungsi yang dijangkakan. Anda boleh menggunakan jenis terbina dalam atau membuat kelas anda sendiri.
function sum(int $num1, int $num2) { return $num1 + $num2; }
Jika parameter yang dihantar tidak sepadan dengan jenis yang diisytiharkan, PHP akan membuang pengecualian TypeError
. TypeError
异常。
PHP 支持类型转换和类型推断:
settype
settype
atau operator cast untuk menukar pembolehubah kepada jenis yang ditentukan. // 类型转换 $int = (int) '10'; // 类型推断 $array = [1, 2, 3];
Pengesahan jenis tersuai
function validateDate(string $date): bool { if (preg_match('/^[0-9]{4}-[0-1][0-9]-[0-3][0-9]$/', $date)) { return true; } return false; } function formatDate(string $date) { if (!validateDate($date)) { throw new InvalidArgumentException('Invalid date format.'); } //... }
Kes praktikal
function validateName(string $name): void { if (strlen($name) < 3 || strlen($name) > 25) { throw new InvalidArgumentException('Name must be between 3 and 25 characters long.'); } if (!preg_match('/^[a-zA-Z ]+$/', $name)) { throw new InvalidArgumentException('Name must contain only letters and spaces.'); } }
Atas ialah kandungan terperinci Bagaimana untuk menyesuaikan pengesahan jenis untuk parameter fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!