2016-09-16 89 views
1

我在名称空间中出现以下错误。我搜索并试图实现所有我找到的解决方案,但我无法解决它。使用名称空间时出错

错误:

Fatal error: Uncaught Error: Class 'App\Models\Site\User' not found in /Applications/MAMP/htdocs/php-sem-medo/ORM/index.php on line 4

的index.php

<?php 
    require_once "config.php"; 
    use App\Models\Site\User as User; 
    $user = new User; 
    dump($user -> all()); 
?> 

Model.php

<?php 
    namespace App\Models{ 
     class Model extends \ActiveRecord\Model { }; 
    } 
?> 

user.php的

<?php 
    namespace App\Models\Site{ 
     use App\Models\Model; 
     class User extends Model { 
      static $table_name = 'users'; 
     } 
    } 
?> 

composer.json

{ 
    "require": { 
     "php-activerecord/php-activerecord": "^1.1" 
    }, 
    "autoload":{ 
     "psr-4":{ 
      "App\\":"App" 
     } 
    } 
} 

的config.php

<?php 
    require_once 'vendor/autoload.php'; 
    require_once 'connection.php'; 
?> 

目录结构

php-sem-medo -> ORM -> App -> Models-> Model.php 
       |-> APP -> Models -> Site -> User.php 
       |-> vendor -> composer 
       |-> vendor -> php-activerecord 
       |-> vendor -> autoload.php 
       |-> composer.json 
       |-> composer.lock 
       |-> config.php 
       |-> connection.php 
       |-> index.php 
+0

对不起,你正在写,我刚刚添加。再次跟随它。 php-sem-medo - > ORM - > App - > Models-> Model.php | - > APP - > Models - > Site - > User.php | - > vendor - > composer | - > vendor - > PHP-了activerecord | - >供应商 - > autoload.php | - > composer.json | - > composer.lock | - >的config.php | - > connection.php | - >的index.php –

回答

0

require_once()需要的文件,不仅文件名的完整路径。

尝试Concat的插件目录和文件名

+0

我已经添加完整路径和两个文件。 index.php require_once __DIR__。 '/config.php'; 和文件config.php require_once __DIR__。 '/vendor/autoload.php'; require_once __DIR__。 '/connection.php'; 错误仍然存​​在。 致命错误:未捕获错误:在第4行的/Applications/MAMP/htdocs/php-sem-medo/ORM/index.php中找不到类'App \ Models \ Site \ User' –

0

我解决我的问题,显然是没有什么错的代码,它的自我。我不得不跑项目的目录下面的命令

作曲家转储自动加载

之后,问题解决了,我可以访问所需的信息。