Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 如何重写在illumb/Foundation/Application.php中定义的resourcePath()函数_Laravel_Overriding_Laravel 6_Modularization - Fatal编程技术网

Laravel 如何重写在illumb/Foundation/Application.php中定义的resourcePath()函数

Laravel 如何重写在illumb/Foundation/Application.php中定义的resourcePath()函数,laravel,overriding,laravel-6,modularization,Laravel,Overriding,Laravel 6,Modularization,我正在模块化laravel。我已决定移动所有默认路由、控制器、资源等。。至/app/Modules/Pub。在大多数情况下,这是行之有效的。但是,我想更改应用程序的默认资源路径。不幸的是,这似乎不容易配置 所以。。。使用grep,我能够跟踪资源路径()函数到/var/www/sigma/vendor/laravel/framework/src/illighte/Foundation/helpers.php 我认为有可能在某个地方重写此函数,但这似乎是一个低级的攻击,因为此函数仅包括: app()

我正在模块化laravel。我已决定移动所有默认路由、控制器、资源等。。至/app/Modules/Pub。在大多数情况下,这是行之有效的。但是,我想更改应用程序的默认资源路径。不幸的是,这似乎不容易配置

所以。。。使用grep,我能够跟踪
资源路径()
函数到
/var/www/sigma/vendor/laravel/framework/src/illighte/Foundation/helpers.php

我认为有可能在某个地方重写此函数,但这似乎是一个低级的攻击,因为此函数仅包括:

app()->resourcePath($path)
再次使用grep,我发现这个函数可以在
/var/www/sigma/vendor/laravel/framework/src/illumb/Foundation/Application.php

这似乎是需要更改的,因为它没有引用任何配置值,而该值是硬编码的:

return $this->basePath.DIRECTORY_SEPARATOR.'resources'.($path ? DIRECTORY_SEPARATOR.$path : $path);

但我认为可以肯定的是,手动更改供应商文件夹下的任何内容都是非常愚蠢的。显然我需要在某个地方重写这个函数。我不清楚在何处以及如何执行此操作

您可以在项目中的某个位置创建一个类,并扩展默认的
\illumb\Foundation\Application
类。然后重写所需的方法,并将在
bootstrap/app.php
中实例化的类切换为自定义类。

您可以在项目中的某个位置创建一个类,并扩展默认的
\illumb\Foundation\Application
类。然后重写所需的方法,并将在
bootstrap/app.php
中实例化的类与自定义类切换。

创建一个新的
应用程序
类,该类扩展
\illighted\Foundation\Application


创建一个新的
应用程序
类,该类扩展了
\illumb\Foundation\Application