atomicweb/universe-core

This package is abandoned and no longer maintained. No replacement package was suggested.

PHP Universe Framework Core

1.1.0 2015-07-13 08:30 UTC

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.