Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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
Php Laravel使用带有PSR-4的软件包,给出了一个信息;没有为“定义提示路径”;_Php_Laravel_Laravel 4_Psr 4 - Fatal编程技术网

Php Laravel使用带有PSR-4的软件包,给出了一个信息;没有为“定义提示路径”;

Php Laravel使用带有PSR-4的软件包,给出了一个信息;没有为“定义提示路径”;,php,laravel,laravel-4,psr-4,Php,Laravel,Laravel 4,Psr 4,Im使用Laravel4.1并启动一个使用PSR-4标准的包(subby)。 当我尝试使用以下选项渲染任何视图时: return View::make('subby::user.login'); 我得到的信息是: No hint path defined for [subby] 我做过很多事情,但这些通常都是打字错误问题问题在于PSR-4的使用 由于Laravel的默认值为PSR-0,因此它假定包的资源(视图等)将比包服务提供商所在的位置高出2级。例: src ├── config ├──

Im使用Laravel4.1并启动一个使用PSR-4标准的包(subby)。 当我尝试使用以下选项渲染任何视图时:

return View::make('subby::user.login');
我得到的信息是:

No hint path defined for [subby]

我做过很多事情,但这些通常都是打字错误问题

问题在于PSR-4的使用 由于Laravel的默认值为PSR-0,因此它假定包的资源(视图等)将比包服务提供商所在的位置高出2级。例:

src
├── config
├── lang
├── migrations
├── Ghunti
│   └── Subby
│       └── SubbyServiceProvider.php
├── routes.php
└── views
    └── user
        └── login.blade.php
使用PSR-4时,包服务提供商和视图将处于同一级别(并且将显示错误“没有为定义提示路径”:

src
├── config
├── lang
├── migrations
├── SubbyServiceProvider.php
├── routes.php
└── views
    └── user
        └── login.blade.php
要解决此问题,请在包服务提供程序
boot()
方法上,而不是:

public function boot()
{
    $this->package('ghunti/subby');
}
我们需要指定资源路径(第三个参数)


对于Laravel 5,这不再有意义
public function boot()
{
    //For PSR-4 compatibility we need to specify the correct path (3rd parameter)
    $this->package('ghunti/subby', null, __DIR__);
}