【问题标题】:How to change laravel paths?如何更改laravel路径?
【发布时间】:2017-02-21 05:47:58
【问题描述】:

我想更改 Laravel 项目的路径(视图、语言、控制器、模型...等),因为我的项目使用子域文件夹中的这些文件,但我不知道在哪里修改框架。

【问题讨论】:

  • 你能正确地澄清这个问题吗?
  • 我希望应用程序从特定于子域​​的文件夹中加载特定文件,如果特定文件不存在,那么它会从默认路径加载文件。

标签: laravel laravel-5 laravel-5.4 laravel-filesystem


【解决方案1】:

你可以试试这个方法:

  1. 扩展基础应用程序类 Illuminate\Foundation\Application
  2. 在您的派生应用类中覆盖所有路径函数
  3. 在 bootstrap/app.php 中更改此行以加载您的派生 App 类

    $app = new Illuminate\Foundation\Application(..
    $app = new MyApplication(..
    

交叉手指。

【讨论】:

  • 这是一个很好的起点。覆盖路径函数的问题是,实际上我想修改加载文件的逻辑。我发现 FielViewFinder 和 ClassLoader 类加载文件。我的想法是从这些类派生,并让 Laravel 使用我的加载器实例。也许这可以通过从应用程序派生来完成,现在我正在寻找加载器类在哪里获得 new()-ed 或其他东西。(如果有帮助,我希望应用程序从特定于子域​​的文件夹加载特定文件,并且如果那里不存在特定文件,那么它将从默认路径加载文件。)
  • 个人意见如下:我会为每个子域安装多个 laravel 项目,我从来没有做过这样的事情,但我认为你可以共享供应商文件夹。对 ClassLoader 进行子类化并有条件地加载文件,恕我直言,在对最终结果没有任何保证的情况下,似乎需要做很多工作。
【解决方案2】:

如果您的意思是更改应用程序文件夹的路径,您可以在文件系统配置中进行更改(在 /config/filesystems.php 中):

设置

'root'   => storage_path().'/app',

到任何你想要的路径。

【讨论】:

    猜你喜欢
    • 2017-10-28
    • 2015-02-27
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 2013-08-08
    • 2014-03-05
    • 2016-01-13
    • 1970-01-01
    相关资源
    最近更新 更多