A skeleton to quickly cook some gourmet CakePHP web apps.
NOTE: Platform is in alpha, missing some important packages but ready to help you quickly get started with your CakePHP 3 application.
Put simply, the official app skeleton is very basic (and rightfully so).
Platform, while replicating the official app skeleton as much as possible, distinguishes itself by a few structural changes, some pre-installed/configured libraries/plugins and some 'best practices'.
- cakephp/cakephp to power the application.
- cakephp/migrations - the official CakePHP migrations shell.
- friendsofcake/crud to quickly get things going.
- gourmet/faker to generate fixture and seed data.
- gourmet/robo to run build or other tasks using Robo.
- josegonzalez/dotenv to easily manage environment variables.
- markstory/asset_compress to handle asset compression, minification, etc.
- mobiledetect/mobiledetectlib.
- cakephp/bake - the official CakePHP bake tool.
- cakephp/cakephp-codesniffer - the official CakePHP code standard sniffs.
- cakephp/codeception the official CakePHP module for Codeception
- cakephp/debug_kit - the official CakePHP debugging tool.
- codeception/specify BDD code blocks for PHPUnit and Codeception.
- codeception/verify BDD assertion library for PHPUnit.
- d11wtq/boris
- gourmet/whoops to beautify errors and exceptions (only in debug mode)
- Bower - Front-end package manager
It is assumed that you have the following installed globally:
- Composer - PHP package manager
If (or once) you have them all installed, run:
composer create-project -s dev gourmet/platform [app_name]
Platform's configuration is broken into 'scopes':
- application
- asset_compress
- cache
- database
- dispatcher
- error
- log
- paths
- plugin
- routes
- security
- session
This makes configuration a little more organized (compared to a single bloated file) and easily accessible using your IDE's fuzzy finder (try typing 'log' in the fuzzy finder, the first matching file should the log config file).
To reduce the # of requires, a build process should concatenate all these and use the resulting file in production. It has yet to be implemented.
To enable debug
mode without having to modify any file:
touch .debug
or use the DEBUG
environment variable.
- Use gourmet/twitter_bootstrap to make CakePHP helpers play well with Twitter Bootstrap.
- Use monolog/monolog to handle all types of logging. See #2033.
- Use cakephp/debug_kit once it is released for CakePHP 3.
- Use cakephp/migrations once it is released for CakePHP 3.
- Add link to virtual machine information.
- Add link to capcake deployments.
- Add link to rocketeer deployments.
Platform uses semantic versioning:
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
Copyright (c) 2015, Jad Bitar and licensed under The MIT License.