jimgitsit / php-gozer
A set of commonly used classes and packages.
Requires
- php: >=5.4.0
- altorouter/altorouter: 1.1.0
- bshaffer/oauth2-server-php: v1.5
- doctrine/orm: 2.*
- katzgrau/klogger: 1.0.*
- twig/twig: ~1.0
This package is not auto-updated.
Last update: 2025-03-12 16:20:53 UTC
README
A simple PHP framework for web sites and web services.
Gozer is a set of custom base classes and commonly used composer packages consisting of the following:
- CoreAPI <- Base class for an API/webservice. includes an optional OAuth2 mechanism
- CoreController <- Base class for controllers. Initializes Doctrine and Twig plus helper function common to all controllers.
The following composer packages are required by Gozer and are installed with it:
- Doctrine ORM
- Twig
- OAuth2
- Altorouter
- KLogger (Jimgitsit fork)
Installation
From the Command Line:
composer require jimgitsit/php-gozer:dev-master
In your composer.json
:
"require": {
"jimgitsit/php-gozer": "dev-master"
}
Configuration
Copy gozer_config_template.php to <project_root>/app/config/gozer_config.php and edit as needed. Should be pretty self-explanatory.
Usage
Routing
Controllers
Views
The Twig templating engine is included with this framework by default via composer and available in controllers (that extend CoreController) via $this->twig
. Template files are stored in app/views by default.
API / Webservices
API or webservice controllers should extend the CoreAPI class. If you want to use OAuth2, execute create_oauth_tables.sql on your database to add the required tables.
Models
Doctrine ORM is used for database access. Entities are stored in app/models by default. See the Doctrine documentation for a list of supported databases and usage. Controllers extending CoreController can access the EntityManager via $this->getEntityManager()
. Whenever you add a new model you will need to do a #php composer.phar update
to update the autoloader files.