۱ پویا پارسایی
خطای Cannot declare class App\Models\BaseModel, because the name is already in use in
امیر صالحی حل شده توسط امیر صالحی

سلام

وقتی تو فایل main.php کدم رو اجرا میکنم با این خطا مواجه میشم.

فایل‌ها رو پیوست کردم.

 

درود

شما داخل همه مدل هاتون BaseModel رو include کردید و لازم نیست این کارو کنید، عوض بیایید داخل فایل main یک بار بالاتر از همه کدهاتون basemodel رو include کنید

 

comment

<?php
namespace App\Models;
class Comment  extends BaseModel {
    public function __construct(){
        echo "New" .__NAMESPACE__ ."\Comment Object Created!\n";
    }
}

user

 

<?php
namespace App\Models;
class User extends BaseModel{
    public function __construct(){
        echo "New" .__NAMESPACE__ ."\User Object Created!\n";
    }
}

 

main

 

<?php
include 'Models/BaseModel.php';
# App\Utilities\User;
include 'Utilities/User.php';
# App\Models\User; 
include 'Models/User.php';
include 'Models/Comment.php'; 
# Direct Use Of namespaces in object creation
// $model = new App\Models\User();
// $util = new App\Utilities\User();
use App\Utilities\User as UserUtil;
use App\Models\User as UserModel;
use App\Models\Comment as CommentModel;
$util = new UserUtil();
$model = new UserModel();
$comment = new CommentModel();
UserUtil::test();

خروجی

 

NewApp\Utilities\User Object Created!
NewApp\Models\User Object Created!
NewApp\Models\Comment Object Created!
UserUtil: test()
بهترین پاسخ
امیر صالحی ۱۷ شهریور ۱۴۰۰، ۱۷:۵۴