سلام استاد من پروژه رو قدم به قدم با خودتون جلو اومدم اما یه مشکلی توش دیدم میخواستم بدونم برای شما هم همین مشکل وجود داره
من وقتی دستور php artisan optimize رو اجرا می کنم با این خطا مواجه میشم
PS C:\xampp\htdocs\project> php artisan optimize
PHP Fatal error: During inheritance of ArrayAccess: Uncaught ErrorException: Return type of Illuminate\Support\Collection::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Collections\Collection.php:1443
Stack trace:
#0 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Collections\Collection.php(13): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8192, 'Return type of ...', 'C:\\xampp\\htdocs...', 1443)
#1 C:\xampp\htdocs\project\vendor\composer\ClassLoader.php(478): include('C:\\xampp\\htdocs...')
#2 C:\xampp\htdocs\project\vendor\composer\ClassLoader.php(346): Composer\Autoload\includeFile('C:\\xampp\\htdocs...')
#3 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Collections\helpers.php(15): Composer\Autoload\ClassLoader->loadClass('Illuminate\\Supp...')
#4 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\PackageManifest.php(89): collect(Array)
#5 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\PackageManifest.php(78): Illuminate\Foundation\PackageManifest->config('aliases')
#6 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\Bootstrap\RegisterFacades.php(26): Illuminate\Foundation\PackageManifest->aliases()
#7 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(237): Illuminate\Foundation\Bootstrap\RegisterFacades->bootstrap(Object(Illuminate\Foundation\Application))
#8 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(310): Illuminate\Foundation\Application->bootstrapWith(Array)
#9 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(127): Illuminate\Foundation\Console\Kernel->bootstrap()
#10 C:\xampp\htdocs\project\artisan(37): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 {main} in C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Collections\Collection.php on line 13
PHP Fatal error: Uncaught Error: Class "Illuminate\Support\Collection" not found in C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Collections\helpers.php:15
Stack trace:
#0 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Support\Traits\ReflectsClosures.php(24): collect(Array)
#1 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Support\Traits\ReflectsClosures.php(43): Illuminate\Foundation\Exceptions\ReportableHandler->closureParameterTypes(Object(Closure))
#2 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\Exceptions\ReportableHandler.php(62): Illuminate\Foundation\Exceptions\ReportableHandler->firstClosureParameterType(Object(Closure))
#3 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\Exceptions\Handler.php(232): Illuminate\Foundation\Exceptions\ReportableHandler->handles(Object(Symfony\Component\ErrorHandler\Error\FatalError))
#4 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\Bootstrap\HandleExceptions.php(88): Illuminate\Foundation\Exceptions\Handler->report(Object(Symfony\Component\ErrorHandler\Error\FatalError))
#5 C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\Bootstrap\HandleExceptions.php(130): Illuminate\Foundation\Bootstrap\HandleExceptions->handleException(Object(Symfony\Component\ErrorHandler\Error\FatalError))
#6 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleShutdown()
#7 {main}
thrown in C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Collections\helpers.php on line 15
با سلام خدمت شما. همراه عزیز
یکی از دوستان همین مشکل رو داشتن
در بخش سوال های دوره بگردید
راه حلشونو دنبال کنید
مشکل از پکیچ slugable بود
اما راه حل درست کردنش یه جاهایی می گن اون متد رو null کن توی config که منم کردم درست شد.
اما استاد یه جایی میگن از کلوژر استفاده نکن و تابع رو سنتی استفاده کن
اما این یه مورد رو هرکار کردن نتونستم درست کنم
مثلا من اومدم اون تابع رو بالای return تعریف کردم و توی method فراخونی کردم اما ارور میده میگه varible string not found
یعنی میشه راهنمایی کنید?
مشکل از اونجاس که نمیتونی توی فایل config متد تعریف کنی
واسه حل این خطا باید یه کلاس helper بسازی و متد رو داخل اون قرار بدی و در قسمت config ادرس رو بهش بدی
به روشی ساده تر هرچی تو متد هست رو کپی کن و تو یه فایل به نام MyHelperClass بریز
و در اخر هم ادرس رو به اون قسمت متد بده
class MyHelperClass{
public static function mySlugMethod(string $string, string $separator = '-'): string { $_transliteration = [
'/ä|æ|ǽ/' => 'ae',
'/ö|œ/' => 'oe',
.....
و در قسمت config هم اینو بزار
'method' => [MyHelperClass::class, 'mySlugMethod'],
این لینک هم شاید کمکت کرد
https://stackoverflow.com/questions/65651278/use-persian-characters-as-slug-in-laravel