yii2tech / illuminate
Yii2到Laravel迁移包
Requires
- php: >= 8.0
- illuminate/console: ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0
- illuminate/http: ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0
- illuminatech/array-factory: ^1.2.4
- yiisoft/yii2: ~2.0.14
Requires (Dev)
- illuminate/auth: *
- illuminate/cache: *
- illuminate/config: *
- illuminate/database: *
- illuminate/events: *
- illuminate/hashing: *
- illuminate/log: *
- illuminate/translation: *
- phpunit/phpunit: ^7.5 || ^8.0 || ^9.3 || ^10.5
README
Yii2到Laravel迁移包
此扩展允许在同一项目中同时运行Yii2和Laravel应用程序,便于优雅地将Yii2迁移到Laravel。
有关许可证信息,请查看LICENSE文件。
安装
安装此扩展的首选方式是通过composer。
运行以下命令之一:
php composer.phar require --prefer-dist yii2tech/illuminate
或者将以下内容添加到你的composer.json文件的require部分:
"yii2tech/illuminate": "*"
到require部分中。
为什么从Yii2切换到Laravel?
遗憾的是,Yii已经过时,无法跟上现代趋势。自2.0版本发布以来,核心团队过于坚持BC保持政策,这使得Yii2缺乏许多现代方法和功能。而现代Web项目通常需要提供基于现代JS框架(如ReactJS、EmberJS、VueJS等)的“单页应用程序”。而Yii仍然强制使用jQuery,方便其使用并要求安装。旨在改变局势的BC破坏性变更,如接受PSR标准的缓存和日志、将jQuery从Yii核心中分离等,都被冻结,直到未来的3.0版本发布,这在任何近期内都无法期待。
即使Yii 3.0发布,它也将包含许多BC破坏性变更和完全不同的架构概念,包括DI和Service Locator的使用。这将使得从Yii 2.x迁移到Yii 3.0成为整个项目的重写问题,就像从Yii 1.x迁移到Yii 2.0一样。如果这是你项目的必然命运,为什么不现在就开始代码迁移,选择更可靠的技术作为目标呢?Laravel是最受欢迎的PHP框架,拥有坚实的商业背景和庞大的社区。选择它将为你的项目在长期内提供一个良好的基础。
请注意!是否从一种技术切换到另一种技术——是您自己的选择。您将承担这一决策的责任,并将不得不处理其后果。不要责怪任何其他人,您将不得不面对您选择的路径上的麻烦和障碍。
使用方法
现有项目从一种PHP框架迁移到另一种框架不可能一蹴而就。您可能已经花费了几个月甚至几年时间创建您当前的基础代码,其更新也将花费大量时间。
此扩展允许在同一项目中同时运行Yii2和Laravel应用程序,根据其中一个应用程序是否有匹配的路线定义,通过其中一个应用程序解决传入的HTTP请求。这意味着在Yii应用程序中定义的所有URL路由将继续工作,而新的路由可能由Laravel解决。这便于从一种框架迁移到另一种框架,允许逐步将URL路由处理(例如控制器)从Yii2迁移到Laravel。
请注意!此包提供了帮助项目迁移的工具和库,但是不要期望它以某种方式神奇地为您完成所有工作。该包有助于解决基本问题并支持过程的快速入门,但大部分辛苦的工作将落在您的肩上。请做好心理准备。
文档
文档位于docs/README.md。