moss/framework

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

The PHP micro-framework

Installs: 484

Dependents: 1

Suggesters: 0

Security: 0

Stars: 25

Watchers: 4

Forks: 1

Open Issues: 0

Type:framework

v1.2.1 2015-03-29 14:27 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:42:13 UTC


README

Build Status Scrutinizer Code Quality Code Coverage

For licence details see LICENCE.md Documentation is available on Wiki : https://github.com/mossphp/moss-framework/wiki

About

Welcome to Moss a micro framework, that provides basic tools for building simple web pages or APIs it can also handle something bigger.

So what's the difference between other micro-frameworks?

Moss isn't some kind of cropped full stack framework, that was cut down to fit into micro segment.

Moss was developed as a solution with small footprint, that is easy to extend and with as little dependencies as possible - and still simple to use.

Moss also wants to be fashionable and follows trends: dependency injection, event dispatching, request-response objects, clean code. Not because its fancy to be trendy, but because it makes sense and code benefits from them.

Features

  • fully grown Router (not powerful but working :) ),
  • Request and Response objects (got http auth, and easy header management),
  • flash messages
  • dependency injection container
  • event dispatcher with AOP
  • closure and class controllers (that can be organized into bundles with fluent directory structure),
  • simple view that can be easily extended with bridge to use Twig (as package in composer)
  • and clean code
  • and more

Documentation

Documentation is available on Wiki : https://github.com/mossphp/moss-framework/wiki

Quickstart

Add to composer.json:

	{
	    "require": {
	        "moss/framework": "*"
	    }
	}

Or from console

	php composer.phar require moss/framework

Then create entry file, eg ./web/index.php containing:

	<?php
	use Moss\Config\Config;
	use Moss\Container\ContainerInterface;
	use Moss\Http\Response\Response;
	use Moss\Kernel\App;
	
	require __DIR__ . '/vendor/autoload.php';
	
	$app = new App(new Config());
	$app->route('main', '/', function () { return new Response('Hello World'); });
	$app->run()->send();

Or download simple sample app from github

Contribute

If you want to submit fix or some other enhancements, feel free to do so. Whenever you find a bug it would be nice if you submit it. And if you submit fix - this would be truly amazing!

How to Contribute

  • Fork;
  • Create a new branch for each feature/improvement/issue;
  • Send a pull request from branch

Style Guide

All pull requests must adhere to the PSR-2 standard. All pull requests should be accompanied by passing PHPUnit tests. Add phpDocs to all methods, including at least a description, all @param, @return and @throws declaration