💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ MohammadMoghadasi
سوال راجب input و only و protected
جامعه لاراول ایجاد شده در ۱۹ تیر ۱۳۹۸

سلام

زمانی که از request مقداری رو دریافت میکنیم از only استفاده میکنیم همچنین میشه از input هم استفاده کرد . تفاوت این دوتا تو چیه؟

بعضی از توابع ای که می‌سازید از محدوده protected استفاده میکنید . می‌دونم کار بردش چیه اما علت استفاده از این توی این مکان‌ها دقیقا چیه چرا از private استفاده نمی‌کنیم؟

تشکر

سلام ... 

داخل input شما میتونید فقط یک فیلد رو درخواست کنید ... یعنی نمیتونید بهش یک آرایه پاس بدید که بگید من این ۲ تا پارامتر میخوام ... ولی داخل only میتونید این کار رو انجام بدید.

در مورد دلیل ساخت به صورت protected، کلا این یک مبحث جالب هست در PHP و بحث‌های زیادی راجع بهش میشه که آیا باید private استفاده کنیم یا protected ... اکثر برنامه نویس‌های PHP هم از protected بیشتر استفاده میکنن .. حتی فریمورک symfony کلا از protected استفاده میکنه و این جزو یکی از استانداردهاش هست ... که دلیل اصلی هم این هستش که کلاستون همیشه آماده باشه برای ارث بری ... که البته این مواردی که گفتم دلیل بر این نیست که protected بهتره ... هر کدوم یکسری خوبی داره و یکسری بدی ...به عنوان مثال protected خوبیش اینه که همیشه کلاستون آماده ارث بری هست و private هم باعث میشه که برنامه هایی با قوانین سفت و سخت‌تری بنویسید که به راحتی نشه یکسری قوانینش رو عوض کرد ... من خودم به شخصه بیشتر طبق عادت هستش که از protected استفاده میکنم و اگه جایی واقعا نخوام که ارث بری اتفاق بیفته حتما از private استفاده میکنم ... به عنوان مثال داخل کلاس‌های mailable من اکثر متغیر‌ها رو private تعریف میکنم چون نمیخوام که دسترسی بهش داشته باشم ...  در مجموع این مورد رو نسبت به برنامه تون تصمیم گیری کنید ولی اگه واقعا جایی مطمئن هستید که نمیخواید این متد یا متغیر دستکاری بشه از private استفاده کنید.

مهرداد سامی ۱۹ تیر ۱۳۹۸، ۲۲:۳۰