Skip to content

httpsoft/http-app

This branch is up to date with master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0c39362 · Dec 30, 2024

History

39 Commits
Dec 29, 2024
Nov 2, 2020
Nov 4, 2020
Apr 28, 2022
Dec 29, 2024
Nov 5, 2020
Oct 21, 2020
Aug 8, 2021
Oct 21, 2020
May 5, 2023
Aug 8, 2021
Dec 30, 2024
Oct 21, 2020
Nov 8, 2020
May 5, 2023
Oct 21, 2020
May 5, 2023
May 5, 2023

Repository files navigation

HTTP Software Application Template

License Latest Stable Version Total Downloads GitHub Build Status GitHub Static Analysis Status Scrutinizer Code Coverage Scrutinizer Code Quality

HTTP application template for quickly creating simple but powerful web applications and APIs. «Out of the box», the application template is configured to work with JSON for rapid REST API development.

The core of this application template is the httpsoft/http-basis microframework. By default, the devanych/di-container that implements PSR-11 and the monolog/monolog logger that implements PSR-3 are also used. You can easily change the container and logger to your preferred implementations of the corresponding PSRs.

Documentation

Installation

This project template requires PHP version 7.4 or later.

composer create-project --prefer-dist httpsoft/http-app <app-dir>

To verify the installation, go to <app-dir> and start the PHP built-in web server:

cd <app-dir>
composer run serve

After that, open http://localhost:8080 in your browser.

Testing and checking

The following commands are run in the application directory:

  • composer run test — runs tests.
  • composer run static — runs static analysis code.
  • composer run cs-check — runs checking coding standards.
  • composer run cs-fix — runs automatic correction of violations of encoding standards.
  • composer run check — runs checking coding standards, static analysis code and tests.

Directory structure

By default, the application template has the following structure:

bin/                  Executable console scripts.
    chmod-var.php     Recursively changing the "var/" directory mode.
config/               Configuration files.
    config.php        Main configuration.
    container.php     Dependency injection.
    pipeline.php      Middleware pipeline.
    routes.php        HTTP request routes.
public/               Files publically accessible from the Internet.
    index.php         Entry script.
src/                  Application source code.
    Http/             HTTP application classes (actions, middelware, etc.).
    Infrastructure/   Helper classes (factories, listeners, etc.).
    Model/            Domain model classes (entities, repositories, etc.).
tests/                A set of tests for the application.
vendor/               Installed Composer packages.
var/                  Temporary files (logs, cache, etc.).

You can change the structure of the application template as you like.