سلام در پروژه لاراول قسمتی که میخوام مقاله رو ارسال کنم در دیتابیس ذخیره شود این ارور رو میده
منظورش چیه ؟ چه پارامترایی اشکال دارن؟
implode(): Passing glue string after array is deprecated. Swap the parameters
نسخه PHP شما احتمالا ۷.۴.۰ یا جدیدتر هست
و تابع implode جز توابعی هست که سبک استفاده ازش در این نسخه تغییر کرده.
این ارور هم داره به همین موضوع اشاره میکنه
در ضمن قراره از نسخه ۸ این سبک استفاده قدیمی حذف بشه
توضیحات کامل در مقاله زیر:
عملکردهای منسوخ شده در نسخه ۷.۴ زبان PHP
همون طوری که علی آقای بیات اشاره کردند، علتش اینه که در قسمتی از عملیات ذخیره سازی مقاله تون از دستور implode() استفاده شده و سینتکسش مربوط به قدیم هست و این سینتکس منسوخ شده.
به عبارت دقیق تر:
implode($glue, $array);
دستور بالا دستور صحیح و مطابق نسخه PHP 7.4 هست. ولی قبلا میشد علاوه بر شکل بالا به شکل زیر هم نوشت:
implode($array, $glue);
حالا اگر خودتون بصورت مستقیم از این دستور استفاده کردید که کافیه برید اصلاحش کنید و جای پارامترهاش رو عوض کنید. یک احتمال هم میدم دارید از یک پکیج ثالث استفاده می کنید (مثلا برای تولید slug یا ....) و این دستور در اون پکیج مورد استفاده قرار گرفته. به همین خاطر نیاز هست که بروزرسانی بشه. در صفحه ارور اگر دقت کنید احتمالا بتونید رفرنسی به فایل و پکیج مورد نظر پیدا کنید.
دستور composer update
رو اجرا کنید اگر نسخه جدیدی منتاسب با نسخه پروژتون وجود داشته باشه مشکل اتومات حل میشه. و الا یا نسخه لاراولتون خیلی قدیمی هست و با نسخه های جدید پکیج همخونی نداره و یا از پکیج نامناسبی دارید استفاده می کنید که بروزرسانی براش منتشر نشده و رها شده.
موفق و پیروز باشید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟