"Without the midi-chlorians, life could not exist, and we would have no knowledge of the Force. They continually speak to us, telling us the will of the Force. When you learn to quiet your mind, you'll hear them speaking to you."
The idea is simple: let's see how much you can use the force to accomplish the items below. (PS: It also tests a bit of Laravel knowledge)
- On your machine install a clean version of Laravel
- Checkout the repo and create your own branch on this repo.
- Create a custom Laravel package in the root of the Laravel installation as follow:
- Create a folder: /packages/acme/the-force along with its service provider
- Wire the custom package's service provider into the Laravel installation (hint: composer.json and app/config)
- Enhance your package by creating the package's own routes file that exposes 2 routes/urls - '/without-facade-override' and '/with-facade-override'
- BEFORE YOU CONTINUE, STOP AND READ THIS QUICKLY:
- What I am trying to say is that you must NOT use the Laravel's routes/web.php file, but rather that your package need to have its own way of handling routes (hint: you can do it in your service provider)
- BEFORE YOU CONTINUE, STOP AND READ THIS QUICKLY:
- Enhance your package by creating the package's own controller with 2 methods that handles the previously defined package routes. This controller needs to pass data to two views (also contained in your package).
- Enhance you package by implementing a facade (in your package) with a method that is called from your controller methods that:
- on the '/without-facade-override' route displays text indicating the normal facade implementation
- on the ''/with-facade-override'' route shows text indicating how the original implementation of the facade underlying implementation swopped.
- Enhance your package with a a runnable artisan command that will select users out of the lrvl users table and display them on screen
- Once you are happy commit ONLY THE PACKAGE CODE back to your github created branch (meaning the /packages folder with everything underneath)
- Create a pull request back to master