مصطفی
4 سال پیش توسط مصطفی مطرح شد
6 پاسخ

ipmort کردن یک فایل کلاس سفارشی

سلام
من می خوام یک کلاس سفارشی ایجاد کنم و تو کنترلر استفاده کنم تو پوشه app یک پوشه به نام Classes ایجاد کردم و یک فایل php به نام Mellat.php :

<php  

namespace App\Classes;

class Mellat {

    public function payment(){
        $test = "test ok";
        return $test;
    }

}

?>

namespace تعریف کردم و تو کنترلر به این صورت use کردم :

use App\\Classes\\Mellat;

که خطا می ده

Class 'App\\Classes\\Mellat' not found

این دستوراتم زدم اما نشد :

composer update  
composer dump-autoload  
php artisan clear-compiled

ورژن لاراول 5.8 هست


ثبت پرسش جدید
مصطفی
@m.fartaj 4 سال پیش مطرح شد
0

@hesammousavi
مشکل اصلی یه سوتی بود که تو کد من کسی ندید 😁 استفاده از files کار جالبی نبود
تگ php رو اشتباه زده بودم علامت سوالش افتاده بود :

<?php 

اگه پاسخ این لینک و نمی دیدم اصلا دقت نمی کردم
https://stackoverflow.com/questions/56879870/laravel-reflectionexception-service-class-does-not-exist


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
0

درود بر شما رویه رویه درستی هست
ام مطمئنید اسم‌ها رو درست نوشتید از اسم فولدر گرفته تا اسم کلاس
حروف بزرگ و کوچیک رو دقت کردید بهش؟


مصطفی
@m.fartaj 4 سال پیش مطرح شد
0

@hesammousavi
مشکل همینجاست که هر منبعی رو چک کردم همین راه و گفتن ولی هر چی حروف و اسم فولدر و چک می کنم ایرادی ندیدم
طبق منابع گفته بودن پوشه اگه تو پوشه app ساخته بشه به صورت auto load لود می شه فقط باید یه بار dump-autoload بزنیم و کدی که گذاشتم از کد اصلی کپی کردم که الان تو همین من اشتباه تایپی نمیبینم


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
0

پروژه‌اتون رو باید دید تا بشه debug کرد و دید مشکل از کجاست اینطوری نمیشه تشخیص داد


مصطفی
@m.fartaj 4 سال پیش مطرح شد
0

@hesammousavi
میتونید روشای دیباگ و بگید چک کنم ؟


مصطفی
@m.fartaj 4 سال پیش مطرح شد
0

تو فایل composer.json فایل کلاس رو به autoload اضافه کردم درست شد :

    "autoload": {      
        "psr-4": {
            "App\\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "files": [
            "app/Classes/MellatPayment.php"
        ]        
    },

و بعد دستور

composer dump-autoload 

مصطفی
@m.fartaj 4 سال پیش مطرح شد
0

@hesammousavi
مشکل اصلی یه سوتی بود که تو کد من کسی ندید 😁 استفاده از files کار جالبی نبود
تگ php رو اشتباه زده بودم علامت سوالش افتاده بود :

<?php 

اگه پاسخ این لینک و نمی دیدم اصلا دقت نمی کردم
https://stackoverflow.com/questions/56879870/laravel-reflectionexception-service-class-does-not-exist


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

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