Git Product home page Git Product logo

illuminate's Introduction

Yii2 to Laravel Migration Package


This extension allows running Yii2 and Laravel applications simultaneously at the same project, facilitating graceful migration from Yii2 to Laravel.

For license information check the LICENSE-file.

Latest Stable Version Total Downloads Build Status

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist yii2tech/illuminate

or add

"yii2tech/illuminate": "*"

to the require section of your composer.json.

Why switch from Yii2 to Laravel?

It is sad to admit, but Yii is outdated technology, which does not keep up with the modern trends. The core team stick to the BC-keep policy too much since 2.0 release, which make Yii2 lacking of many modern approaches and features. While it is common requirement of the modern web project to provide "single page application" based on modern JS frameworks like ReactJS, EmberJS, VueJS and so on, Yii keeps enforcing JQuery, facilitating its usage and requiring its installation. The BC breaking changes, which are supposed to change the situation, like accepting PSR standards for caching and logging, separating JQuery from the Yii core and so on, are frozen till the future 3.0 release, which can not be expected in any near future.

Even when Yii 3.0 will be released, it will hold many BC breaking changes and totally different architecture concept, regardless of DI and Service Locator usage. This will make migration from Yii 2.x to Yii 3.0 to be the matter of entire project rewrite, as it already was for migration from Yii 1.x to Yii 2.0. If this is inevitable fate of your project, why not start code migration now, choosing more reliable technology as its target? Laravel is most popular PHP framework with solid commercial background and large community. Choosing it will likely bring good foundation for your project in the long term.

Heads up! Whether to switch from one technology to another or not - is your own choice. You take the responsibility for this decision, and you will have to deal with it consequences. Do not blame anyone else for the troubles and obstacles you will have to face on the chosen path.

Usage

Migration of existing project from one PHP framework to another can not be done by single day. Most likely you have spent several months or even years to create your current codebase, and its update will also take much time.

This extension allows running Yii2 and Laravel applications simultaneously at the same project, allowing resolving of incoming HTTP requests by one of these applications depending on, which one has a matching route defined for it. This means all URL routes defined in Yii application will continue to function, while new ones may be resolved by Laravel. This facilitates graceful migration from one framework to another, allowing progressive transfer of the URL routes handling (e.g. controllers) from Yii2 to Laravel.

Heads up! This package provides tools and libraries helping project migration, however, do not expect it somehow magically do all the job for you. The package helps solving basic problems and supports the quick start for the process, but most of the toil will lay on your shoulders. Be ready for it.

Documentation is at docs/README.md.

illuminate's People

Contributors

klimov-paul avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.