نوع تعریف نشده “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 پاسخ داد و به من اشاره کرد. فقط امیدوارم که شخص دیگری این موضوع را خیلی راحت تر از من پیدا کند!