شنبه یه خبراییه 🔥 منتظر شنبه باش 😉🥳
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ محمدجوکار
خروجی void یعنی چی؟
جامعه پی اچ پی ایجاد شده در ۱۵ دی ۱۴۰۱

سلام و احترام

راجب به خروجی void چندتا سرچ کردم و نهایت چیزی که تونستم متوجه بشم، اینه که به معنای اینه که قرار نیست کاری انجام بده و به همین خاطر هم دیگه توی فانکشنمون نمیتونم از ریترن استفاده کنیم.

این جمله‌ی (کاری انجام نمیده) یعنی چی دقیقا؟؟؟؟

و نکته بعد اینکه اگ ریترن نمیکنه و کاری انجام نمیده، چطور پیام سشن‌ که بهش پاس میدیم برمیگرده؟؟؟ برای سشن استثناست؟؟؟

سلام دوست عزیز

این مورد در کل مشخص کردن نوع خروجی توابع یا متدها هست که از php 7 به بعد تا ورژن فعلی 8 به مرور موادر مختلف اضافه شدن برای افزایش سرعت مفسر کدها در زبان php هست وقتی شما نوع خروجی تابع رو void مشخص می‌کنید که تابع شما هیچ خروجی اعم از return یا echo نداشته باشه یا اگر string مشخص کنیم منظورمون اینه نوع مقدار خروجی یا برگشتی حتما باید string باشه وگرنه ارور یا exeption می‌گیریم.

بطور کلی مشخص کردن نوع خروجی توابع یا متدها با توجه به ماهیت اون متد به عهده برنامه نویس هست وقتی void در نظر می‌گیرید ینی به مفسر می‌گید تابع شما خروجی نداره و فقط یه عملی رو انجام میده مثلا یک سشن فقط set بشه همین اما اگر بخواید مقدار سشن ست شده برگرده نمی‌تونید نوع خروجی تایع رو void بزارید و بنا به جنس مقدار برگشتی تابع مثلا string باید بزارید.

وحید صالحی ۱۵ دی ۱۴۰۱، ۰۸:۵۳

ممنونم جناب صالحی عزیز

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

و حتی با وجود اینکه مقدار بهش پاس داده شده، چون خروجی void بوده تا اکو نشه، چیزی بر نمیگردونه؟؟

محمدجوکار ۱۵ دی ۱۴۰۱، ۰۹:۰۰

خواهش می‌کنم قرار نیست session رو بر گردونه ستش می‌کنه ینی مقدار دهی می‌کنه و سشن توی حافظه می‌مونه و چون سشن یه نوع آرایه سوپر گلوبال هست هرجایی صدا زده بشه میشه چاپش کرد و نیازی نیست حتما مقدارش توسط تابع برگرده بخاطر همین نوع تابع می‌تونه void باشه اما اگر مثلا دو عدد رو با هم جمع کنید مثلا 2+2 و توی session نریزید حاصلش باید توسط تابع برگرده تا با صدا زدن تابع در جای دیگه ای از پروژه بشه از حاصلش استفاده کرد.

بهترین پاسخ
وحید صالحی ۱۵ دی ۱۴۰۱، ۱۷:۳۴

یکدنیا تشکر، حالا جا افتاد

محمدجوکار ۱۵ دی ۱۴۰۱، ۱۸:۲۵