Rapid Enterprise App Development with Zend Expressive
If you've ever done a Zend Framework quick start, you've probably never worked in Zend Framework. The quick start has historically been anything but quick, and it's easy to lose interest and move on to the next thing.
Zend Expressive greatly improves upon this experience with the wizard driven
composer create-project command. However, it can still be daunting to set up because there are so many choices to make up front. This tutorial guides you through my recommended setup for rapid development which will
yield an enterprise level, robust application.
This tutorial is not about setting up your environment, so I am going to assume that you have a good working environment like Homestead Improved.
Start your project by running the following command your the folder where you keep your projects (
Code on Homestead Improved):
composer create-project zendframework/zend-expressive-skeleton expressive
You will be prompted to make a few decisions along the way. Use these answers:
- What type of installation would you like?
- Which container do you want to use for dependency injection?
- Zend ServiceManager
- Which router do you want to use?
- Zend Router
- Which template engine do you want to use?
- Which error handler do you want to use during development?
- Please select which config file you wish to inject 'Zend\Validator\ConfigProvider' into?
- Remember this option for other packages of the same type?
Then, run these commands:
cd expressive && git init && git config color.ui true && git add . && git commit -m "Initial commit" && chmod -R +w data;
This initializes a repository in the newly created folder and makes the
data folder writable.
Then, start up a php server for testing with
... and browse to http://localhost:8080 or just visit the VM's IP or virtual host if you're using Homestead Improved.
Expressive's folder structure looks like this:
bin/ config/ data/ cache/ public/ index.php src/ App test/ AppTest vendor/
Most of it is self explanatory. Expressive provides an
App module by default. You can put all your code in here, or build separate modules as you build larger features.
Continue reading %Rapid Enterprise App Development with Zend Expressive%