No Description

Mark Story e9c6b5ee46 Merge pull request #15226 from cakephp/unique-nulls 5 years ago
.github 0fdb80f415 Merge branch 'master' into 4.next 5 years ago
config c295570ef5 Added float type annotation to TIME_START define 6 years ago
contrib 6314160643 Remove explicit standard from phpcs command. 7 years ago
src 54346d5811 Add allowUniqueNulls to IsUnique rule check 5 years ago
templates 97fc4c857a Fixed typos 5 years ago
tests 5c3ecdefad Update tests/TestCase/ORM/RulesCheckerIntegrationTest.php 5 years ago
.editorconfig 2f30f947ba Preferred indentation style for .neon files is using tabs. 5 years ago
.gitattributes 3af4af9936 Update .gitattributes 5 years ago
.gitignore b229a964ec Dont use a dist for a non changing file 5 years ago
.mailmap 8af28a5e99 Add o0h email to .mailmap 6 years ago
.stickler.yml 54fd0cf5dc Disable stickler's autofixer until it's kinks are sorted out. 6 years ago
LICENSE 1d36e9fbc5 Update LICENSE 7 years ago
Makefile 73384c3d4f Fix another make compatibility issue. 5 years ago
README.md 60a86747bb Clarify version map 5 years ago
SECURITY.md 4bb89e7c5c Add 4.0 to security policy 6 years ago
VERSION.txt 96b433b4aa Update version number to 4.2.0-RC1 5 years ago
composer.json 68a08a28ca Fix errors reported by psalm. 5 years ago
phpcs.xml b229a964ec Dont use a dist for a non changing file 5 years ago
phpstan-baseline.neon 157aeed3a1 Update docblocks and checks for nullable properties. 5 years ago
phpstan.neon 2f30f947ba Preferred indentation style for .neon files is using tabs. 5 years ago
phpunit.xml.dist f6606b7ade MySQL name correctly 5 years ago
psalm-baseline.xml 91b52febe8 Update psalm's baseline file. 5 years ago
psalm.xml 72bdd00036 Merge branch 'master' into 4.next 5 years ago

README.md

CakePHP

Software License Build Status Coverage Status Code Consistency Total Downloads Latest Stable Version

CakePHP is a rapid development framework for PHP which uses commonly known design patterns like Associative Data Mapping, Front Controller, and MVC. Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility.

Installing CakePHP via Composer

You can install CakePHP into your project using Composer. If you're starting a new project, we recommend using the app skeleton as a starting point. For existing applications you can run the following:

$ composer require cakephp/cakephp

For details on the (minimum/maximum) PHP version see version map.

Running Tests

Assuming you have PHPUnit installed system wide using one of the methods stated here, you can run the tests for CakePHP by doing the following:

  1. Copy phpunit.xml.dist to phpunit.xml.
  2. Add the relevant database credentials to your phpunit.xml if you want to run tests against a non-SQLite datasource.
  3. Run phpunit.

Some Handy Links

  • CakePHP - The rapid development PHP framework.
  • CookBook - The CakePHP user documentation; start learning here!
  • API - A reference to CakePHP's classes.
  • Awesome CakePHP - A list of featured resources around the framework.
  • Plugins - A repository of extensions to the framework.
  • The Bakery - Tips, tutorials and articles.
  • Community Center - A source for everything community related.
  • Training - Join a live session and get skilled with the framework.
  • CakeFest - Don't miss our annual CakePHP conference.
  • Cake Software Foundation - Promoting development related to CakePHP.

Get Support!

  • Slack - Join us on Slack.
  • #cakephp on irc.freenode.net - Come chat with us, we have cake.
  • Forum - Official CakePHP forum.
  • GitHub Issues - Got issues? Please tell us!
  • Roadmaps - Want to contribute? Get involved!

Contributing

Security

If you’ve found a security issue in CakePHP, please use the following procedure instead of the normal bug reporting system. Instead of using the bug tracker, mailing list or IRC please send an email to security [at] cakephp.org. Emails sent to this address go to the CakePHP core team on a private mailing list.

For each report, we try to first confirm the vulnerability. Once confirmed, the CakePHP team will take the following actions:

  • Acknowledge to the reporter that we’ve received the issue, and are working on a fix. We ask that the reporter keep the issue confidential until we announce it.
  • Get a fix/patch prepared.
  • Prepare a post describing the vulnerability, and the possible exploits.
  • Release new versions of all affected versions.
  • Prominently feature the problem in the release announcement.