ricardoper / slim3-skeleton
PHP Slim Framework v3.5 Skeleton With Twig Views, Flash Messages, VarDumper And A Good Folder Organization
Requires
- php: >=5.5.0
- monolog/monolog: ^1.21
- slim/flash: ^0.1.0
- slim/slim: ^3.5
- slim/twig-view: ^2.1
- symfony/var-dumper: ^3.1
- vlucas/phpdotenv: ^2.4
README
Use this skeleton application to quickly setup and start working on a new Slim Framework v3.5 application.
NOTE: If you want a similar skeleton for version 4, go to: (https://github.com/ricardoper/slim4-twig-skeleton).
This skeleton application was built for Composer. This makes setting up a new Slim Framework v3.5 application quick and easy.
- Helpers
- Services
- Twig Views
- Flash Messages
- Symfony VarDumper
- Logging with Monolog
- Folders structure with sense
- Environment variables with Dotenv
How to install this skeleton
Run this command from the directory in which you want to install your new Slim Framework v3.5 Skeleton.
composer create-project ricardoper/slim3-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.
Most relevant skeleton folders
- /app : Application code (App Namespace)
- ./Controllers : Add your controllers here
- ./Middlewares : Add your middlewares here
- ./Routes : Add your routes here
- ./Services : Add your services here
- ./Views : Add your Twig views here
- /config : Add/modify your configurations here
- /public : Add your assets files here
Controllers methods
- getContainer() : Returns the Slim App container
- getService(string $service) : Returns service from container by name
- getRequest() : Returns HTTP Request
- getResponse() : Returns HTTP Response
- getView() : Returns Twig View
- render(string $template, array $data) : Renders Twig page stored in Views folder
Middleware methods
- getContainer() : Returns the Slim App container
- getService(string $service) : Returns service from container by name
Helpers methods
- d() : Symfony VarDumper and continue
- dd() : Symfony VarDumper and die
- env(string $variable, string $default) : Return environment variables with
- base_path() : Returns base path location
- app_path() : Returns app path location
- config_path() : Returns config path location
- public_path() : Returns public path location
- storage_path() : Returns storage path location
Middlewares
You can add as many middlewares as you want in a clean way (/app/Middlewares
).
After add your middleware, you can enable or disable it in config/middlewares.php
configuration file.
Routes
You can add as many routes files as you want (/app/Routes
), but you need to enable these files in /apps/Routes/app.php
file.
Services
You can add as many services as you want in a clean way (/app/Services
).
After add your service, you can enable or disable it in config/services.php
configuration file.
Configurations
You can add as many configurations files as you want (/config
), but you need to enable these files in /config/app.php
file.
Twig Globals
flash : To get Flash Messages
Demo pages
Try the skeleton demo pages.
Welcome page:
http(s)://virtualhost.int/
Hello user:
http(s)://virtualhost.int/hello/[name]
NOTE: Replace [name]
with the desired User name
--