Download the PHP package symbiotic/full without Composer
On this page you can find all versions of the php package symbiotic/full. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download symbiotic/full
More information about symbiotic/full
Files in symbiotic/full
Package full
Short Description Complete assembly of the SymbioticPHP framework with a cached container and optimized core services
License BSD-3-Clause
Homepage https://symbioticphp.com
Informations about the package full
Symbiotic Full (BETA EDITION)
README.RU.md РУССКОЕ ОПИСАНИЕ
Installation
Features
- PSR friendly
- Only a few dependencies (only PSR interfaces and PSR-7 implementation).
- Light weight (440 kb with formatting and comments, assembly in one 200 kb file).
- Optimized to work in symbiosis with other frameworks.
- Multilevel DI container system (Core <- Application <- Plugin), with access to the parent container.
- Virtual file system (proxying static from the package folder to the web).
- The familiar api of the container (laravel/container).
- Blade template engine (stripped down), + the ability to add your own template engine.
- No static collectors (Each package must have already compiled files).
- Deferred routing (only the routes of the requested application are loaded, determined by the prefix-settlement).
- The ability to extend the kernel via Bootstrap and Service Provider.
- Each application has its own container service and services.
- Cache support (PSR-16 Simple Cache) + Cached DI Container.
- Middleware support for intercepting a request before loading the core of the framework (response in 1 ms).
For faster work on hosting without PHP optimization, build in one file symbiotic/full-single
Description
The framework was created to simplify the integration of independent small applications into other CMS and frameworks, as well as to expand the functionality of the composer packages.
Ideology is a separate ecosystem of small applications for collaboration with other frameworks and convenient integration of additional functionality.
There are many packages and separately written applications that deliver useful functionality, have their own business logic and sometimes even have their own separate web interface.
In Laravel packages, in Symfony Bundles, in various CMS in the form of plugins and add-ons, all have their own implementation of routing, events, caching, etc. A package written for Laravel to integrate another framework or CMS will be problematic in most cases, and in some cases impossible due to certain dependencies on the framework.
Application developers themselves have to write adaptations for each framework and CMS, which creates a lot of problems and does not cover all ecosystems.
Also, such applications have to do various integrations into the system:
- Configure ACL
- Integrate the necessary scripts to the admin panel and to the site
- Create query handlers and a structure in the database
- Configure a bundle with the file system
- To save settings and configuration
Such applications include:
- Single Page Applications
- Text editors and their plugins with multiple levels of dependency (plugin for plugin)
- Media Handlers
- Various optimizers and compressors
- Applications for administrative work with files and databases
- Chat bots, messengers, widgets
- Integration API components, OAuth authorization providers
- Hosting administration and monitoring tools, analytical tools
- Landing pages and other micro applications ....
The framework is optimized to work with a large amount of applications, as well as to work as a subsystem for the main framework.
Each application is a composer package, with an additional description directly in the composer.json file.
Run
Initialization
The framework is attached from the composer directly to your index.php.
Advanced method with its own configuration
Package scheme for the framework
The minimum scheme of the application description in the composer.json file:
Full scheme of package for the framework
When configuring the application, you can not specify paths for statics and resources, then default paths will be defined.:
- public_path = assets
- resources_path = resources
Templates should always be in the /view/
directory in the resources folder!
Types of packages
All packages for the framework can be divided into several logical categories:
- Application or plugin
- Component (any composer package that needs settings or working with resources)
- Core extension (replaces or adds key core components of the framework)
- Static package (design theme, package with public files for the web)
Any package can combine all of the above.
Sample file structure of the package
There is no clear mandatory structure, you can use any one.
If you are making an application based on the composer package (library), to avoid confusion,
it is recommended to put all the code for the application in the src/Symbiotic
folder.