Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #14945 from cakephp/feature-dic
Add a dependency injection container
- Loading branch information
Showing
23 changed files
with
784 additions
and
24 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
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
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
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,31 @@ | ||
<?php | ||
declare(strict_types=1); | ||
|
||
/** | ||
* CakePHP(tm) : Rapid Development Framework (https://cakephp.org) | ||
* Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) | ||
* | ||
* Licensed under The MIT License | ||
* For full copyright and license information, please see the LICENSE.txt | ||
* 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 4.2.0 | ||
* @license https://opensource.org/licenses/mit-license.php MIT License | ||
*/ | ||
namespace Cake\Core; | ||
|
||
use League\Container\Container as LeagueContainer; | ||
|
||
/** | ||
* Dependency Injection container | ||
* | ||
* Based on the container out of League\Container | ||
* | ||
* @experimental This class' interface is not stable and may change | ||
* in future minor releases. | ||
*/ | ||
class Container extends LeagueContainer implements ContainerInterface | ||
{ | ||
} |
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,48 @@ | ||
<?php | ||
declare(strict_types=1); | ||
|
||
/** | ||
* CakePHP(tm) : Rapid Development Framework (https://cakephp.org) | ||
* Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) | ||
* | ||
* Licensed under The MIT License | ||
* For full copyright and license information, please see the LICENSE.txt | ||
* 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 4.2.0 | ||
* @license https://opensource.org/licenses/mit-license.php MIT License | ||
*/ | ||
namespace Cake\Core; | ||
|
||
/** | ||
* Interface for applications that configure and use a dependency injection container. | ||
* | ||
* @experimental This interface is not final and can have additional | ||
* methods and parameters added in future minor releases. | ||
*/ | ||
interface ContainerApplicationInterface | ||
{ | ||
/** | ||
* Register services to the container | ||
* | ||
* Registered services can have instances fetched out of the container | ||
* using `get()`. Dependencies and parameters will be resolved based | ||
* on service definitions. | ||
* | ||
* @param \Cake\Core\ContainerInterface $container The container to add services to | ||
* @return \Cake\Core\ContainerInterface The updated container. | ||
*/ | ||
public function register(ContainerInterface $container): ContainerInterface; | ||
|
||
/** | ||
* Create a new container and register services. | ||
* | ||
* This will `register()` services provided by both the application | ||
* and any plugins if the application has plugin support. | ||
* | ||
* @return \Cake\Core\ContainerInterface A populated container | ||
*/ | ||
public function getContainer(): ContainerInterface; | ||
} |
Oops, something went wrong.