پیدا نکردن کلاس‌ها با متد class_exists

پرسیده شده
فعالیت 1373 روز پیش
دیده شده 611 بار
0

سلام و احترام

 من با یه مشکل درگیرم، مشکل اینکه من به تمامی کلاس هام namespace دادم ولی وقتی میخوام بررسی کنم که این کلاس وجود داره یا ن با تابع class_exists کار نمیکنه و میگه وجود نداره!

قبل از اینکه namespace رو قرار بدم کار میکرد ولی الان کار نمیکنه، انواع مختلفش رو هم تست کردم مثل:

class_exists('App\\Controllers\\Home')
class_exists('App\Controllers\Home')
class_exists('App/Controllers/Home')
class_exists('Home')
class_exists('home')

البته اینم بگم متد class_exists تو بلاک if بوده

فایل پیوست

امیر صالحی
امیر صالحی

1 مرداد 99

0
حذف شده

سلام و درود

کلاسی که میخوایی چک کنی اول باید اینکلود کنی، قبل namespace هم یدونه بک اسلش بزار داخل تابع 

به این شکل:

<?php

include "Home.php";

if (class_exists('\App\Controllers\Home')) {
    echo "Found";
}else{
    echo "Not Found";
}

 

فایل پیوست

امین رحیم زاده

توسط

امین رحیم زاده

2 مرداد 99

حذف شده
سلام، آره انقدر دست کاریش کردم که فهمیدم باید اول include بشه، بازم ممنون ازتون
امیر صالحی

3 مرداد 99

0
حذف شده

سلام 

به این شکل ورودی رو بهش بده 

if (class_exists("\App\Database\DB")){
    echo "class exists";
}else{
    echo "not exists";
}

 

فایل پیوست

میثم نصرتی

توسط

میثم نصرتی

1 مرداد 99

حذف شده
اینطوری هم کار نمیکنه
امیر صالحی

1 مرداد 99