oanhnn / slim-skeleton
A skeleton for Slim framework
Installs: 249
Dependents: 0
Suggesters: 0
Security: 0
Stars: 18
Watchers: 5
Forks: 9
Open Issues: 1
Type:application
Requires
- php: >=5.5.0
- doctrine/dbal: ^2.5
- monolog/monolog: ~1.13
- slim/http-cache: ^0.3.0
- slim/php-view: ^2.0
- slim/slim: ~3.0
Requires (Dev)
Suggests
- cakephp/database: Required to use CakePHP Database service provider (^3.1).
- doctrine/dbal: Required to use Doctrine DBAL service provider (^2.5).
- monolog/monolog: Required to use log service provider (~1.13)
- slim/csrf: Required to protect CSRF attack by csrf middleware (^0.4.0).
- slim/flash: Required to use flash message service provider (^0.1.0)
- slim/http-cache: Required to use http cache service provider (^0.3.0).
- slim/php-view: Required to use PHP view service provider (^2.0).
- slim/twig-view: Required to use Twig view service provider (^2.0).
This package is auto-updated.
Last update: 2024-10-25 06:29:56 UTC
README
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.