Slim Framework 3 Skeleton Application
Use this skeleton application for the slim 3 micro-framework with some pre configured dependencies and structures:
- Twig as View engine
- Monolog for logging
- PHP DI for dependency injection
- Silly CLI micro-framework for CLI Commands
- vlucas/phpdotenv to load environment configuration from ".env" file
- dtkahl/php-simple-config for simple access to configuration files
- dtkahl/php-file-cache as simple file cache
- Webpack to bundle assets and build SCSS
- Flash Messages to Flash sessions messages
- PHPMailer to send Emails
- Session to management sessions
- Gettext for languages support
- Parsedown for markdown support in translations
- Twig Compress compress twig output
- Controller, Middleware and Factory classes
- Exception handling
- Maintenance mode
If you don't need all of this, you should just use slimphp/Slim-Skeleton which I forked and extended with this features.
Requirements
- PHP >= 7.0
- Composer
- NodeJS (for Webpack)
Node, Javascript and webpack libraries support
Javascript and client
Node
Webpack
Install the Application
Run this command from the directory in which you want to install your new Slim Framework application.
composer create-project creativados/slim-skeleton [my-app-name]
Replace [my-app-name]
with the desired directory name for your new application. You'll want to:
- Point your virtual host document root to your new application's
public/
directory. - Ensure
storage/
is web writeable. - create a copy ".env" of the file ".env.example" an set up your configuration
Install NodeJS dependencies:
npm install
Development
for development you can use the PHP built-in webserver:
php cli app:dev
Generate favicon for resources/assets/img/logo.png:
npm run favicon
And let webpack bundle your assets live:
npm run watch
On Production
Make sure to bundle your assets after clone/update your assets on production by running:
npm run build