تبلیغات

آموزش تعریف نوع بازگشتی تابع در PHP

آموزش تعریف نوع بازگشتی تابع در PHP
نوشته شده توسط هادی اکبرزاده

آموزش تعریف نوع بازگشتی در PHP


اگر با زبان‌هایی همچون جاوا، سی، سی‌شارپ، وی‌بی و …کار کرده باشید، می‌دانید که برای تعریف یک متغیر بر فرض از نوع عددی، حتما باید نوع آن را مشخص کنیم و مثل PHP نمی‌توانیم به سادگی مثلا با نوشتن یک علامت $ در ابتدای نام متغیرها این‌کار را انجام دهیم! هم‌چنین باید نوع بازگشتی توابع (چیزی که return) می‌شود را هم مشخص کنیم؛ ولی در php اصلا نیازی نیست و می‌توان هزارنوع مختلف از یک تابع به بیرون return کرد!

در زبان‌های یاد برده شده، تابع نمی‌تواند هیچ مقداری به جز مقدار تعریف شده را برگرداند و محیط‌های توسعه و کامپایلرهایشان، خطای زمان اجرا می‌گیرند و سورس کامپایل نمی‌شود! حالا این ویژگی به PHP 7 اضافه شده و شما به صورت کاملا اختیاری می‌توانید چنین کاری را برای توابع خود انجام دهید که تنها موظف شوند تا دقیقا همان نوع تعریف شده را برگردانند.

سینتکس تعریف نوع بازگشتی تابع

بعد از علامت پارانتز ورودی‌های تابع، یک علامت دذو نقطه : گذاشته و سپس نوع را می‌نویسیم که می‌تواند int, float bool, string, interfaces, array, callable و … باشد.

تعریف strict_types

برای مقادیری بازگشتی string, int, float, bool ، اجراکننده‌ی کد PHP  تا جایی که بتواند از گزارش خطا جلوگیری کرده و عملیات type casting (یا تبدیل نوع) را انجام می‌دهد. برای مثال:

حالا همانطور که می‌بینید، با اینکه خروجی از نوع int می‌باشد، ولی مقدار cast شده و 3 به بیرون آمده است.

ولی برای جلوگیری از اینگونه رویدادها، همیشه باید مقدار strict_types را تنظیم کنیم؛ تا مقدار بازگشتی دقیقا هماهنگ و از یک نوع مشخص شده باشد. بدین منظور:

تنها مورد اول صحیح است و دو مورد بعدی خطا خواهند گرفت.

این خطاها از نوع E_RECOVERABLE_ERROR  هستند.

اینترفیس‌ها

می‌توانید برای توابع interface ها هم نوع بازگشتی تعریف کنید تا اگر کلاسی از آن‌ها استفاده کرد، حتما از همان نوع بازگشتی باشد.

حالا حتما باید درون کلاس، مقداری از نوع مشخص شده برای interface را برگرداند و اگر چنین جیزی نباشد، خطای E_COMPILE_ERROR رخ می‌دهد.

نکته

برای متدهای‌سازنده (constructors)، متدهای destructors و clone نمی‌توانید نوع بازشگتی تعریف کنید.

تبلیغات
0
کانال تلگرام فول کده

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

آن‌گاه که هرچیزی را به یک چشم دیدیم، حقیقت برایمان نابود می‌شود! باید توجه کنیم که خدا به ما دو چشم داده است!
Telegram

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه