ricardoper/slim3-skeleton

PHP Slim Framework v3.5 Skeleton With Twig Views, Flash Messages, VarDumper And A Good Folder Organization

v1.3.4 2020-04-27 18:16 UTC

This package is auto-updated.

Last update: 2024-10-29 04:53:03 UTC


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

--

Enjoy the simplicity :oP