Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add an interface for the Application.
I wasn't too happy about the coupling between Console and Http, and this new interface lets us not have that. Instead Http and Console will depend on Core (which they already do). I contemplated adding a ConsoleApplication and HttpApplication interface as well, but thought that might be a bit much.
- Loading branch information
Showing
4 changed files
with
71 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
<?php | ||
/** | ||
* CakePHP(tm) : Rapid Development Framework (https://cakephp.org) | ||
* Copyright 2005-2011, Cake Software Foundation, Inc. (https://cakefoundation.org) | ||
* | ||
* Licensed under The MIT License | ||
* Redistributions of files must retain the above copyright notice. | ||
* | ||
* @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) | ||
* @link https://cakephp.org CakePHP(tm) Project | ||
* @since 3.5.0 | ||
* @license https://opensource.org/licenses/mit-license.php MIT License | ||
*/ | ||
namespace Cake\Core; | ||
|
||
/** | ||
* An interface defining the methods that the | ||
* console runner/http server depend on. | ||
*/ | ||
interface ApplicationInterface | ||
{ | ||
/** | ||
* Load all the application configuration and bootstrap logic. | ||
* | ||
* Override this method to add additional bootstrap logic for your application. | ||
* | ||
* @return void | ||
*/ | ||
public function bootstrap(); | ||
|
||
/** | ||
* Define the routes for an application. | ||
* | ||
* Use the provided RouteBuilder to define an application's routing. | ||
* | ||
* @param \Cake\Routing\RouteBuilder $routes A route builder to add routes into. | ||
* @return void | ||
*/ | ||
public function routes($routes); | ||
|
||
/** | ||
* Define the console commands for an application. | ||
* | ||
* @param \Cake\Console\CommandCollection $commands The CommandCollection to add commands into. | ||
* @return \Cake\Console\CommandCollection The updated collection. | ||
*/ | ||
public function console($commands); | ||
|
||
/** | ||
* Define the HTTP middleware layers for an application. | ||
* | ||
* @param \Cake\Http\MiddlewareQueue $middleware The middleware queue to set in your App Class | ||
* @return \Cake\Http\MiddlewareQueue | ||
*/ | ||
public function middleware($middleware); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters