farshadms
3 سال پیش توسط farshadms مطرح شد
2 پاسخ

ارور implode

سلام در پروژه لاراول قسمتی که میخوام مقاله رو ارسال کنم در دیتابیس ذخیره شود این ارور رو میده
منظورش چیه ؟ چه پارامترایی اشکال دارن؟

implode(): Passing glue string after array is deprecated. Swap the parameters

@hesammousavi
@hossein.r.1442
@golshahimohammadreza


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 3 سال پیش مطرح شد
1

نسخه PHP شما احتمالا ۷.۴.۰ یا جدیدتر هست
و تابع implode جز توابعی هست که سبک استفاده ازش در این نسخه تغییر کرده.
این ارور هم داره به همین موضوع اشاره می‌کنه
در ضمن قراره از نسخه ۸ این سبک استفاده قدیمی حذف بشه

توضیحات کامل در مقاله زیر:
عملکردهای منسوخ شده در نسخه ۷.۴ زبان PHP


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
0

همون طوری که علی آقای بیات اشاره کردند، علتش اینه که در قسمتی از عملیات ذخیره سازی مقاله تون از دستور implode() استفاده شده و سینتکسش مربوط به قدیم هست و این سینتکس منسوخ شده.
به عبارت دقیق تر:

implode($glue, $array);

دستور بالا دستور صحیح و مطابق نسخه PHP 7.4 هست. ولی قبلا می‌شد علاوه بر شکل بالا به شکل زیر هم نوشت:

implode($array, $glue);

حالا اگر خودتون بصورت مستقیم از این دستور استفاده کردید که کافیه برید اصلاحش کنید و جای پارامترهاش رو عوض کنید. یک احتمال هم میدم دارید از یک پکیج ثالث استفاده می کنید (مثلا برای تولید slug یا ....) و این دستور در اون پکیج مورد استفاده قرار گرفته. به همین خاطر نیاز هست که بروزرسانی بشه. در صفحه ارور اگر دقت کنید احتمالا بتونید رفرنسی به فایل و پکیج مورد نظر پیدا کنید.

دستور composer update رو اجرا کنید اگر نسخه جدیدی منتاسب با نسخه پروژتون وجود داشته باشه مشکل اتومات حل میشه. و الا یا نسخه لاراولتون خیلی قدیمی هست و با نسخه های جدید پکیج همخونی نداره و یا از پکیج نامناسبی دارید استفاده می کنید که بروزرسانی براش منتشر نشده و رها شده.

موفق و پیروز باشید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام