PHP framework: Difference between revisions

From Rixort Wiki
Jump to navigation Jump to search
Line 25: Line 25:
* Ship with sensible <code>.gitignore</code>
* Ship with sensible <code>.gitignore</code>
* Installable with <code>composer create-project</code>
* Installable with <code>composer create-project</code>
* Database migrations
* Route model binding


== Simplicity ==
== Simplicity ==

Revision as of 11:44, 14 April 2020

Introduction

Ideas for a new PHP framework.

Reasons

There are lots of frameworks out there - why create another one?

Selling points of this framework:

  • Welcoming community
  • No overbearing '(benevolent) dictator for life' - want to move to a group model as soon as possible, either as a separate foundation or under an existing umbrella
  • Tutorial documentation as well as API references
  • Minimal overhead - mostly a collection of existing modules with a bit of glue to hold them together
  • Convention over configuration - do not allow people to change things
  • Support whichever version of PHP is in latest Ubuntu LTS, and previous version if latest was released less than 6 months ago
  • Works with strict_types and E_ALL

Features

Framework should support the following features:

  • Front controller with routing
  • Templates (Twig)
  • Ship with sensible .gitignore
  • Installable with composer create-project
  • Database migrations
  • Route model binding

Simplicity

To keep the framework as small and simple as possible, it will follow these principles:

  • Fixed filesystem layout - no moving controllers to a different directory etc.