Sia*_*osh 1 packages laravel laravel-5
我已经为laravel 4.2开发了一个软件包,当你晚上已经注意到laravel 5.0刚刚发布时,我的软件包无法安装在新的laravel项目上
我的包的composer文件如下所示:
"require": {
"php": ">=5.4.0",
"illuminate/support": "4.2.*",
"zofe/rapyd" : "1.3.*"
},
Run Code Online (Sandbox Code Playgroud)
问题:
我应该对项目进行哪些更改以使其与Laravel 5项目兼容?而且我的软件包需要这个软件包https://github.com/zofe/rapyd-laravel尚未为Laravel5发布,是否会阻止我的软件包正确安装?
如果你的软件包依赖于其他laravel软件包(即那些软件包在其composer.json文件中引用了Illuminate组件的特定版本),当它在依赖关系树中发现无法解析的版本差异时,composer将会出错.
如果您必须依赖第三方软件包,则需要等到该软件包更新或自行更新并向所有者提交PR.
否则,您需要对以下内容进行一些修改:
所有laravel组件都需要具有5的主要版本.
"require": {
"php": ">=5.4.0",
"illuminate/support": "~5"
}
Run Code Online (Sandbox Code Playgroud)
服务提供商已经改变.它们不再包含用于从Laravel 4注册包的方法.*
public function boot()
{
// This no longer works
$this->package('vendor/name');
}
Run Code Online (Sandbox Code Playgroud)
相反,你定义如何服务提供商将某些命令做出反应.例如,您已config.php为包创建了一个.
以前,配置位于服务提供商可以找到的预定义位置,因为它知道您的包已命名vendor/name.相反,在L5中,您告诉提供者其配置在哪里.
public function boot()
{
$this->publishes([
__DIR__.'/path/to/config' => config_path('mypkg.php'),
]);
}
Run Code Online (Sandbox Code Playgroud)
此示例专门处理配置文件.新方法更冗长,但允许更好地控制包资产,视图,本地化和配置.
文档详细介绍,可在此处找到,如果您要更新L5的软件包,则必须阅读这些文档.
| 归档时间: |
|
| 查看次数: |
716 次 |
| 最近记录: |