liberty_code_app/app_skeleton

Project Liberty code: application skeleton

v1.0.1 2022-05-06 17:54 UTC

This package is auto-updated.

Last update: 2022-05-06 17:54:59 UTC


README

Description

Skeleton can be used as base, to create PHP LibertyCode application.

Requirement

  • Script language: PHP: version 7 || 8

Installation

Several ways are possible:

Composer

  1. Requirement

    It requires composer installation. For more information: https://getcomposer.org

  2. Command: Installation

     php composer.phar create-project "liberty_code_app/app_skeleton" ["<project_root_dir_path>"] ["<version>"]
    

Download

  1. Requirement

    • Git

      It can require git installation, if used for installation. For more information: https://git-scm.com/

    • Composer

      It can require composer installation, if used for external libraries installation. For more information: https://getcomposer.org

  2. Command: Installation

  3. Command: Move in project root directory

     cd "<project_root_dir_path>"
    
  4. Command: External libraries installation

     php composer.phar install
    
  5. Note

    • Composer configuration

      All external libraries are listed on composer file "/composer.json".

    • External libraries installation

      Instruction are set for composer. It's possible to use any way, while all external libraries, listed on composer configuration, are installed and correctly configured, on module configuration file "/config/Module.".

Application structure

Configuration [compulsory]

Configuration directory contains all application configuration. PHP format is used. It's possible to set other available format (JSON, XML, YML, ...), in application bootstrap.

Elements

  • Application mode file

    Stores application modes available.

  • Module file

    Registers modules available in application.

Source [suggested]

Source directory contains all application source code, structured by modules.

Resource [suggested]

Resource directory contains all application front resources, like views, assets, ....

Bin [suggested]

Bin directory contains command line application and other command line executables.

Elements

  • Application file

    Application bootstrap for command line.

Web [suggested]

Web directory contains web application and other web accessible components.

Elements

  • Index file

    Application bootstrap for web.

Variable [suggested/compulsory, generated]

Variable directory contains all temporary and/or flexible components, generated by application.

Elements

  • Cache directories

    Used by caches for application, framework, view ...

  • Log directory

    Store logs.

Module structure

Module configuration [compulsory]

Module file contains module macro information.

Configuration [compulsory]

Configuration directory contains module configuration. By default the application configuration format is used. You can set other available format (JSON, XML, PHP, ...), in application configuration module file.

Elements

  • Parameters file ("/config/Param.")

    Stores module parameters, available in module.

  • Application parameters file ("/config/Param.")

    Stores application parameters, available in application.

  • Auto-loading file ("/config/Autoload.")

    Stores module auto-loading rules, available in application.

  • Dependency injection file ("/config/Di.")

    Stores module dependencies, available in application.

  • Register file ("/config/Register.")

    Stores module key-value pairs, available in application.

  • Events file ("/config/Event.")

    Stores module event, available in application.

  • HTTP routes file ("/config/RouteWeb.")

    Stores module web routes, available in application.

  • Command line routes file ("/config/RouteCommand.")

    Stores module command line routes, available in application.

  • Boot file ("/config/Boot.")

    Stores module bootstrap files, available in application.