atomicweb / universe-core
PHP Universe Framework Core
Requires
- php: >=5.3.3
This package is not auto-updated.
Last update: 2016-10-11 22:59:37 UTC
README
Please read LICENSE file first
Php Universe Framework Core
Note: This is currently in development and not recomended for production
About
This is the core of the plug-in's system. It is designed not to have any sense of the application and what it does, its only job is to
- Link the plug-ins together
- Handle the plug-in dependency injection logic
- Parse the properties/settings files
- Crude initial handling of errors and PHP base functions, until plug-ins can overload them
Project Aim
- Fully plug-in, e.g. no Sql Drivers if you are using no-sql -> (Not one giant framework)
- Interfaces to define functionality -> (possibly (later) to allowing plug-in's to be swapped out for others using the same interfaces)
- No required magic getters (__get()) and setter (__set()) or __call (__call())
- OOP and no public variables
- Limited global objects (preferably none), singletons and dangerous statics (Dependency injected)
- Using exceptions
- Type hinted/Intellisense (Intelligent code completion driven)
Standards
- Line Endings: LF line ending
- Tabs: 4 spaces (= 1 tab)
- Naming convention:CamelCase/Mixed case
- Coding Standards: PSR-2/PSR-4 compliant
- Workflow: Gitflow
Naming
Component: A library/package. All components require a props file. Props: Stands for properties. This is a file (props.json) that holds info about a library such as resources for other components, such as template names. Plug-in: A Class that holds state and/or injects dependencies into other plug-ins. These build the interconnections between components, but are not required
Deployment
This project is tested on Linux. XAMPP, may not work but is largely untested. PHP5.5 is required.