smichaelsen / phpframework
A lightweight but powerful PHP framework
Requires
- php: >=5.4.0
- nette/caching: 2.2.*
- swiftmailer/swiftmailer: 5.3.*
- twig/twig: 1.16.*
Requires (Dev)
- phpunit/dbunit: 1.3.*
- dev-develop
- 1.4.1
- 1.4.0
- 1.3.0
- 1.2.1
- 1.1.0
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-feature/60-composer-plugin
- dev-feature/51-plugin-sql
- dev-feature/59-routing-loop
- dev-feature/php_7
- dev-feature/57-singleton
- dev-master
- dev-hotfix/58-http-auth-no-users
- dev-feature/48-db-tests
- dev-release/1.4.0
- dev-feature/37-responder-classes
- dev-feature/30-project-root
- dev-branch_1.0
This package is not auto-updated.
Last update: 2024-11-09 13:02:53 UTC
README
This framework is a fork of Luzifer's PHPFramework.
Since the fork wide parts of the system were rewritten or heavily modified. Here's a (not neccessarily complete) overview of the difference to the original PHPFramework:
- PHP namespaces for PSR-4 autoloading (the former autoloader has been removed)
- Built as composer package.
- New static classes to access the configuration and database connection everywhere
- Cache built upon Nette Caching
- Support for Domain Driven Design, including Domain Model Objects, Repositories, Collections and an ORM mechanism.
The fork is not compatible to the original framework and not compatible to its own previous versions. After the next major release (2.0) we'll switch to a more backwards compatible development.
Requirements
Successfully tested with
- Debian / Ubuntu Linux
- PHP from 5.4.0 up to 5.6.2
- Apache or nginx
- MySQL 5.6
Setup
The PHPFramework is designed to work with composer.
Your project composer.json
file might look like this:
{
"name": "vendor/myproject",
"require": {
"app-zap/phpframework": "dev-develop"
},
"autoload": {
"psr-4": {
"Vendor\\MyProject\\": "app/Classes/"
}
}
}
- Set up your project with
$ composer update
- create an
app
sub directory for your application - Copy the
index.php.example
from the PHPFramework folder (should bevendor/app-zap/phpframework
) to your root level asindex.php
.
Inside your app
directory use this structure:
Classes/
- Starting point for your PSR-4 autoloadable classestemplates/
- Your twig templatesroutes.php
- Returns an array with regular expression routes mapping to controller class names
Start with the following .gitignore
file:
vendor/
settings_local.ini