【问题标题】:require() not working in Laravel 5require() 在 Laravel 5 中不起作用
【发布时间】:2015-03-09 09:28:47
【问题描述】:

我正在使用基本的 Laravel 5 文件结构。

我基本上在 app 目录中有一些 .php 文件。我试图从 app/Http/Controllers 目录中的控制器调用它们。

require ('../../PlaylistRetrieval.php');
require ('../../Playlist.php');

这是我的控制器中出现故障的两条线。我的 IDE PhpStorm 显示它可以识别目录。但是它抛出了一个 FatalErrorException。

这是文件结构的照片。如果你不熟悉 Laravel 5。上面的 require 函数是从 PlaylistController.php 中调用的。

我对 PHP 和 Laravel 世界还很陌生,所以如果它很简单,我深表歉意。

【问题讨论】:

    标签: php laravel require directory-structure


    【解决方案1】:

    试试这个:

    require (__DIR__.'/../../PlaylistRetrieval.php');
    require (__DIR__.'/../../Playlist.php');
    

    或者如果这些是类,那么你应该在 App 命名空间中命名它们,然后就像下面的答案所说的那样使用

    use App/Playlist;
    

    【讨论】:

    • 为什么评价这么差? +1 为 DIR 立即为我工作。
    【解决方案2】:

    您可以使用命名空间来代替 require 函数。假设您的控制器有一些模型文件:

    use App\Playlist;
    use App\PlaylistRetrieval;
    

    如果您有自己的课程,您可以将它们放在您自己的文件夹 app/Libraries 中并与它们一起使用(例如“图书馆”):

    use App\Libraries\Playlist;
    

    在你的控制器中:

    $play = Playlist::find(1);
    

    或直接:

    $play = App\Libraries\Playlist::find(1);
    

    【讨论】:

      猜你喜欢
      • 2018-05-16
      • 1970-01-01
      • 2016-12-19
      • 2016-05-17
      • 2015-05-07
      • 1970-01-01
      • 2016-01-30
      • 2018-07-31
      • 1970-01-01
      相关资源
      最近更新 更多