آموزش Type Hinting در php

Image تحقیقات

آموزش Type Hinting در php

سلام و درود

موضوع امروز ما درباره Type Hinting  است.

از زمانی که php5 اومد ما میتونیم موقع تعریف یک function مشخص کنید پارامترهامون از چه نوعی باشن.یعنی به فرض میتونیم بگیم فلان function باید یک پارامتر از نوع آرایه داشته باشد.

مثال :

<?php
function enroll(Student $student, School $school) {
echo "Enrolling " . $student->name . " in " . $school->name;
}

به عنوان مثال ما تابع  enroll را تعریف کردیم.این تابع دو پارامتر می پزیرد یکی از نوع  کلاسی به نام Student و دیگری از نوع کلاسی به نام School .

حالا اگر به صورت زیر تابع enroll را صدا بزنیم به ما خطا میدهد زیرا آرگمان اول را درست پاس دادیم ولی آرگان دوم که باید از نوع کلاس Schooll باشد درست پاس داده نشده است.

<?php
$me = new Student("Amanda");
$medicare = new Program("Medicare");
$enroll = enroll($me, $medicare);

خروجی :

Catchable fatal error: Argument 2 passed to enroll() must be an instance of School, instance of Program given, called in typehint.php on line 32 and defined in typehint.php on line 6

 

حتی می توانیم آرگمان ورودیمون رو مقدار پیشفرض null بدیم.

خب دوستان اینم از مفهوم Type Hinting در زبان php

امیدوارم موفق باشید.