2017 © Pedro Peláez
 

project website-starter

My minimum viable setup for starting a PHP project.

image

zegnat/website-starter

My minimum viable setup for starting a PHP project.

  • Wednesday, August 1, 2018
  • by Zegnat
  • Repository
  • 2 Watchers
  • 2 Stars
  • 13 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 8 Versions
  • 8 % Grown

The README.md

PHP Website Starter

The PHP Website Starter is my minimum viable setup for starting a PHP project., (*1)

What my minimum setup is changes all the time, and this repository will change with it. The idea is that, whenever I start a new website project, I can get a checkout of the current state of this repository without having to think about where I will start., (*2)

This is heavily inspired by the Fermi Framework and even uses similar dependencies. But I have a slightly different way of wanting to handle my configurations and base dependencies., (*3)

Usage

Via Composer, (*4)

``` bash $ composer create-project zegnat/website-starter, (*5)


## Current Practices 1. Using [Auryn][] to get actual dependency injections. Never pass around a container. 2. Using [PSR-7 HTTP message objects][PSR-7] with [PSR-17 factories][PSR-17] for all request and response handling. 3. Using [nyholm/psr7-server][] to create the initial [PSR-7][] request. 4. Using [Middleland][] to run through all configured [PSR-15 Middlewares][PSR-15]. 5. Using [FastRoute][] to parse requested URIs and find the matching [PSR-15 RequestHandlers][PSR-15]. 6. Using a [Zend Emitter][] to output a final response to the web server. 7. Using [PHP CS Fixer][] to check all code against a somewhat opinionated set of style rules based on the [Symfony Coding Standards][]. 8. Using [PHPUnit][] to test all classes used in the project and generate coverage reports using [`phpdbg`][]. ## PSR-7 & PSR-17 Providers By default this project loads [Diactoros][] for its [PSR-7][] objects and matching [PSR-17][] factories. The providers can easily be swapped for a different set of implementations. Simply remove the dependency from composer and add a new one. Example: ```bash $ composer remove zendframework/zend-diactoros $ composer require nyholm/psr7

Then change the injector configuration to tell Auryn which factories it should use. In the case of nyholm/psr7 all of them can be defined as Nyholm\Psr7\Factory\Psr17Factory::class., (*6)

License

The BSD Zero Clause License (0BSD). Please see the LICENSE file for more information., (*7)

The Versions

05/02 2018

dev-master

9999999-dev

My minimum viable setup for starting a PHP project.

  Sources   Download

0BSD

The Requires

 

The Development Requires

by Martijn van der Ven

05/02 2018

4.0.0

4.0.0.0

My minimum viable setup for starting a PHP project.

  Sources   Download

0BSD

The Requires

 

The Development Requires

by Martijn van der Ven

04/02 2018

3.0.0

3.0.0.0

My minimum viable setup for starting a PHP project.

  Sources   Download

0BSD

The Requires

 

The Development Requires

by Martijn van der Ven

14/01 2018

dev-feature/configurable-psr-7

dev-feature/configurable-psr-7

My minimum viable setup for starting a PHP project.

  Sources   Download

0BSD

The Requires

 

The Development Requires

by Martijn van der Ven

14/01 2018

dev-feature/psr-15

dev-feature/psr-15

My minimum viable setup for starting a PHP project.

  Sources   Download

0BSD

The Requires

 

The Development Requires

by Martijn van der Ven

14/01 2018

2.0.0

2.0.0.0

My minimum viable setup for starting a PHP project.

  Sources   Download

0BSD

The Requires

 

The Development Requires

by Martijn van der Ven

07/01 2018

1.0.0

1.0.0.0

My minimum viable setup for starting a PHP project.

  Sources   Download

0BSD

The Requires

 

The Development Requires

by Martijn van der Ven