Download the PHP package leadtech/boot-framework without Composer
On this page you can find all versions of the php package leadtech/boot-framework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download leadtech/boot-framework
More information about leadtech/boot-framework
Files in leadtech/boot-framework
Package boot-framework
Short Description Minimalistic implementation of the symfony service container to provide advanced and IoC capabilities to light weight applications.
License MIT
Informations about the package boot-framework
Examples | Installation | Versioning | Improvements | Contribute | License
Boot Framework
Boot is a minimalistic framework designed with simplicity and flexibility in mind. This framework is primarily intended for API's/micro services or console applications.
Getting started
The goal is to provide a micro framework that is fast, flexible but without sacrificing most of the useful functionality that Symfony offers to develop well designed and maintainable applications. Boot is a micro framework that is build on the components that Symfony developers know and love. Boot is designed with speed and efficiency in mind. But the main goal of this framework is not to become the fastest framework. The main goal is to provide a minimalistic framework to help shape well designed PHP applications and to increase productivity. Boot is highly extensible which makes it easy to fit the framework to your needs. To wire the application use or extend one of the Builder classes to configure and build your application. For examples please go to the examples section or go to the examples directory.
Features
- Clean and flexible bootstrap
- Integrates Symfony Config
- Integrates Symfony Dependency Injection
- Integrates Symfony Event Dispatcher
- Integrates Symfony Console (optional)
- Integrates Symfony Http Foundation (optional)
- Integrates Symfony Router (optional)
:arrow_up:
Examples
Examples:
- Example 1: Basic Application
- Example 2: Boot Micro Service
- Example 3: Boot Console Application
For full usage examples check out the examples folder.
Example 1: Basic Application
Bootstrapping the application
Configure service container
Example 2: Boot Micro Service
Bootstrapping the application
Micro-service Implementation
Although services in boot are very similar to controllers. I chose to use a different terminology for Boot. Controllers are typical to MVC frameworks. If feel like the term 'controller' usually implies an architecture in which a single controller is one amongst many. In order to emphasize the intended purpose of this framework to use it for micro-services / API's I felt like it would be more appropriate to call them Services.
Example 3: Boot Console Application
Bootstrapping the application
Configure service container
:arrow_up:
Installation
Dependencies
To get started you will need to install composer. I will assume you have composer installed or know how to do it. Otherwise go to https://getcomposer.org and follow the steps needed to install composer.
Composer
Add dependency to composer.json
For PHP 5.5, 5.6 and 7.0
For PHP >= 7.1
Install dependencies
Compatibility
To ensure compatibility with applications build on Symfony and to minimize the required maintainance efforts I chose not to extend any of the Symfony components. With boot I wanted to be able to cut them loose, discard all logic that was not required to implement the component and finally provide a way to wire them up. Symfony compiles the router and the dependency injection container to generate highly optimized classes to be used in production. Boot fully supports both optimizations.
:arrow_up:
Versioning
The goal is to support (at least) every Symfony LTS version that is still maintained by Symfony. The major and minor release numbers of stable Boot framework releases reflects the Symfony release that Boot is build on. Boot Framework 2.8.0 has been developed against Symfony 2.8.9..
:arrow_up:
Improvements
Prepare for next LTS release (Symfony 3.2)
- Assess the impact of the changes in the next LTS release
Roadmap
- More code examples -/ starter projects
- 100% code coverage
- Add console command to the clear the cache
- Add console command to print all routes to the console
- Improve doc blocks
- Integrate php-cs-fixer in travis
Wishlist...
- Add new features targeted towards developing API's (e.g. generate api docs, support for swagger etc)
- Add support for distributed tracing
Caveats
- At this time only the XML configuration format is supported. Personally, I prefer XML. But the others can be implemented in the future.
Contribute
Contributions to Boot Framework are welcome.
Issues
Feel free to submit issues and enhancement requests.
Contributions
For this project use a "fork-and-pull" workflow.
- Fork the repo on GitHub
- Clone the project to your own machine
- Commit changes to your own branch
-
Run php-cs-fixer to fix code style inconsistencies automatically
- Push your work back up to your fork
- Submit a Pull request
Be sure to merge the latest from "upstream" before making a pull request.
Design Considerations
Contributions to Boot Framework are welcome. And the least I can do to show my gratitude is look at the contribution in due time. The project is not at a point yet to think about an extensive document about design considerations and coding guidelines. But if you are an early contributor please look at the current source code to get a sense of how the application is structured. If you are in doubt feel free to contact me. I will do what I can to help.
:arrow_up:
License
The MIT License
Copyright (c) 2016 - Daan Biesterbos
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
All versions of boot-framework with dependencies
symfony/console Version ^3.3
symfony/dependency-injection Version ^3.3
symfony/filesystem Version ^3.3
symfony/config Version ^3.3
symfony/finder Version ^3.3
symfony/class-loader Version ^3.3
symfony/expression-language Version ^3.3
symfony/event-dispatcher Version ^3.3
monolog/monolog Version ^1.15
symfony/http-foundation Version ^3.3
symfony/routing Version ^3.3