Skip to content

mossphp/moss-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

640 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MOSS Micro Framework

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

About

moss micro framework

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages