برنامه نویسی

نوع تعریف نشده “Spatie\Permission\Models\”. “اجازه” | “نقش” | “HasRoles”

VSCode با intelephense هنگام استفاده از بسته مجوزهای spatie/laravel حتی زمانی که اسناد را به طور کامل دنبال می‌کنید، یک خطای عجیب و سخت برای اشکال زدایی ایجاد می‌کند. در اینجا نحوه رفع آن آمده است.

پس از نصب بسته عالی Spatie برای مجوزها در پروژه‌ای که روی آن کار می‌کنم و به تیم‌ها، نقش‌ها و مجوزها نیاز دارد، بیش از چند دقیقه از این موضوع بسیار ناامید بودم. برای بررسی مستندات، روی پیوند بالا کلیک کنید و فوراً جذابیت آن را برای هر توسعه دهنده لاراول مشاهده خواهید کرد.

Sidenote: این افراد واقعاً مجموعه‌ای رو به رشد از مفیدترین بسته‌ها را تولید می‌کنند که ساعت‌ها فکر و پیشرفت در شما صرفه‌جویی می‌کند، بنابراین اگر در مورد آنها نمی‌دانید… شناختن!

فهرست مطالب

خطا

خود خطا پسوند VSCode Intelephense است که معمولاً هنگام نوشتن PHP در VSCode بسیار مفید است و به شما می گوید که یک خطا در یک Undefined type ... پس از اینکه مراحل ذکر شده در اینجا را با جزئیات دنبال کردید تا بسته مجوزها را در برنامه لاراول خود نصب کنید.

ما داریم:

  • از آهنگساز برای کشیدن بسته استفاده شده است
  • ارائه دهنده خدمات را به صورت دستی ثبت کرد
  • فایل های مهاجرت و پیکربندی منتشر شده است
  • برای اجازه دادن به تیم ها تنظیم شده است
  • کش پیکربندی پاک شد
  • مهاجرت ها را اجرا کنید
  • صفت را به خارج اضافه کرد User مدل

و بوم!… خطا.

رفتار

من سعی کردم composer dump-autoload، ./artisan config:clear (از نو)، ./artisan config:optimize، همه بی فایده است. دوبار چک کردم همه مراحل رو انجام داده بودم… داشتم. بنابراین؟؟

راه حل

پاسخ کوتاه این است که هیچ دلیلی وجود ندارد. اما راه حل اینجاست. فقط پنجره را دوباره بارگذاری کنید.

Ctrl + Shift + P // To open the editor commands

// then type in or scroll down and select...
>Developer:Reload Window
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

به همین سادگی است. چقدر آزاردهنده

اعتبار

من باید از Akshay K Nair فریاد بزنم که در جایی عمیق در یک مشکل github پاسخ داد و به من اشاره کرد. فقط امیدوارم که شخص دیگری این موضوع را خیلی راحت تر از من پیدا کند!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا