Skip to content

Slim Framework skeleton application following MVC construction

License

Notifications You must be signed in to change notification settings

oanhnn/slim-skeleton

Repository files navigation

Slim Skeleton

Build Status Latest Stable Version Total Downloads License

Join the chat at https://gitter.im/oanhnn/slim-skeleton

A skeleton for Slim Framework v3 following MVC pattern.

Main features

  • Support logging follow PSR-3 with Monolog
  • Support template engines: PHP view, Twig (default PHP view)
  • Support database accessing with Doctrine DBAL, CakePHP Database (support MySql, Postgresql, SQLite, ...)
  • Support middlewares: Basic & Digest Authentication
  • Support providers, easy to integrate with slim/http-cache, slim/csrf, slim/flash
  • Support making database test and integration test with PHPUnit
  • Support coding style check with PHPCS
  • Support auto deploy with Deployer
  • Support using Gulp task to compile SASS, ES6, CoffeeScript, ...

Directories structure

path/to/project
|-- app
|   |-- assets
|   |-- config
|   |-- lang
|   `-- templates
|-- public
|-- src
|-- tests
|-- tmp
|   |-- cache
|   `-- logs
`-- vendor

Requirements

  • PHP 5.5+
  • [Composer][compoer]
  • npm (If using gulp to build assets)

Usage

Create project

Using composer to create new project:

$ composer create-project oanhnn/slim-skeleton path/to/project --prefer-dist

Run PHP built-in server

Run a built-in server on 0.0.0.0:8888

$ php -S 0.0.0.0:8888 -t public public/index.php

Open web browser with address http://localhost:8888

Check coding style and test

$ ./vendor/bin/phpcs
$ ./vendor/bin/phpunit

Build assets with gulp, npm

You can use Gulp to compile SASS, ES6, CoffeeScript, ...

$ npm install
$ npm run-script build

Run a task with gulp

$ node_modules/.bin/gulp <task>

Deploy project

You can use Deployer to deploy project.
Copy and edit server's information from deploy.php.dist file to deploy.php file.
After that, you can run:

$ composer require deployer/deployer:^3.3.0 --dev
$ ./vendor/bin/dep <stage>

See an example in here.

Changelog

See all change logs in CHANGELOG.md

Contributing

All code contributions must go through a pull request and approved by a core developer before being merged. This is to ensure proper review of all the code.

Fork the project, create a feature branch, and send a pull request.

To ensure a consistent code base, you should make sure the code follows the PSR-2.

If you would like to help take a look at the list of issues.

License

This project is released under the MIT License.
Copyright © 2013-2016 Oanh Nguyen.
Please see License File for more information.