PHP framework: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(One intermediate revision by the same user not shown) | |||
Line 33: | Line 33: | ||
* Fixed filesystem layout - no moving controllers to a different directory etc. | * Fixed filesystem layout - no moving controllers to a different directory etc. | ||
== Filesystem layout == | |||
The following directories and files need to exist: | |||
* <code>public/index.php</code>: Front controller | |||
* <code>composer.json</code>: Project metadata and dependencies | |||
[[Category:PHP]] |
Latest revision as of 16:48, 13 March 2021
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.
Filesystem layout
The following directories and files need to exist:
public/index.php
: Front controllercomposer.json
: Project metadata and dependencies