Package

BEAR.Sunday application is a composer package taking BEAR.Sunday framework as dependency package. You can also install another BEAR.Sunday application package as dependency.

Application organization

├── bootstrap
│   ├── api.php
│   ├── bootstrap.php
│   └── web.php
├── composer.json
├── composer.lock
├── phpunit.xml.dist
├── src
│   ├── (Annotation)
│   ├── (Interceptor)
│   ├── Module
│   └── Resource
├── tests
│   ├── bootstrap.php
│   └── tmp
├── var
│   ├── (conf)
│   ├── log
│   ├── tmp
│   └── www
└── vendor

Invoke sequence

  1. Console input or web router file call boot file such as api.php or web.php.
  2. $app application object is created by $context in boostrap.php.
  3. A router in $app convert external resource request to internal resource request.
  4. A resource request is invoked. The representation of the result transfered to a client.

bootstrap/

You can access same resource through console input or web access with same boot file.

php bootstrap/api.php options '/self/todo' // console API access
php bootstrap/web.php get '/todo?id=1' // console Web access
php -S 127.0.0.1bootstrap/api.php // PHP server

You can create your own boot file for different context.

src/

Place application class file.

var/

log and tmp folder need write permission. var/wwwis web public folder.

Framework Package

bear/sunday

Scrutinizer Code Quality Code Coverage Build Status

An interface package for BEAR.Sunday framework.

bear/package

Scrutinizer Code Quality Code Coverage Build Status

A basic implmentation package for bear/sunday.

bear/resource

Scrutinizer Code Quality Code Coverage Build Status

A REST framework for PHP object as a service.

ray/di

Scrutinizer Quality Score Code Coverage Build Status

A Google Guice style DI framework.

ray/aop

Scrutinizer Quality Score Code Coverage Build Status

An aspect oriented framework based on Java AOP Alliance API.

bear/middleware

Scrutinizer Code Quality Code Coverage Build Status

An optional PSR7 middleware package.

Library Package

Optional library package can be installed with composer require command.

Category Composer package Library
Router    
  bear/aura-router-module Aura.Router v2
Database    
  ray/aura-sql-module Aura.Sql v2
  ray/dbal-module Doctrine DBAL
  ray/cake-database-module CakePHP v3 database
  ray/doctrine-orm-module Doctrine ORM
Storage    
  bear/query-repository CQRS inspired repository
Web    
  madapaja/twig-module Twig
  ray/web-form-module Web form
  ray/aura-web-module Aura.Web
  ray/aura-session-module Aura.Session
  ray/symfony-session-module Symfony Session
Validation    
  ray/validate-module Aura.Filter
  satomif/extra-aura-filter-module Aura.Filter
Authorization and Authentication    
  ray/oauth-module OAuth
  ray/role-module Zend Acl
Hypermedia    
  kuma-guy/siren-module Siren
Development    
  ray/fake-module Mocking

Semver

All package adhere to Semantic Versioning.