【问题标题】:PHP Namespace conventionPHP 命名空间约定
【发布时间】:2018-03-21 08:32:47
【问题描述】:

我不确定这在 PHP 命名空间中是否可行。请帮帮我

// folder structure
app
-- ModelsFolder // the models folder
---- ComponentsFolder // some traits
------ Traits::class
---- User::class
---- OtherModel::class

类仅使用 app 文件夹作为命名空间

// User class
<?php
namespace App;

在我的控制器中,我将类用作..

<?php

namespace App\Http\Controllers;

use App\User; // import class
use App\OtherModel;

我想知道这种设置是否可行,因为它给了我FatalErrorClass 'App\User' not found

我在我的作曲家项目中使用 psr-4。

【问题讨论】:

  • 你能把你 composer.json 的自动加载部分粘贴到这里吗?

标签: php namespaces laravel-5.3 psr-4


【解决方案1】:

命名空间来自目录结构

用户模型

//User class

<?php 
namespace App\ModelsFolder;

在你的控制器中

<?php
namespace App\Http\Controllers; 
use App\ModelsFolder\User;  // import class 
use App\ModelsFolder\OtherModel;

【讨论】:

  • 不,如果您更改文件夹结构,您需要相应地更改命名空间,请原谅我的格式,在移动设备上不容易格式化
  • 如果您想使用 App\User,您需要将模型上移一级目录
猜你喜欢
  • 2016-03-25
  • 2023-03-03
  • 1970-01-01
  • 2013-07-18
  • 1970-01-01
  • 2015-03-30
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
相关资源
最近更新 更多