63 lines
1.9 KiB
PHP
63 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* @link http://www.yiiframework.com/
|
|
* @copyright Copyright (c) 2008 Yii Software LLC
|
|
* @license http://www.yiiframework.com/license/
|
|
*/
|
|
|
|
namespace yii\base;
|
|
|
|
/**
|
|
* BootstrapInterface is the interface that should be implemented by classes who want to participate in the application bootstrap process.
|
|
*
|
|
* The main method [[bootstrap()]] will be invoked by an application at the beginning of its `init()` method.
|
|
*
|
|
* Bootstrapping classes can be registered in two approaches.
|
|
*
|
|
* The first approach is mainly used by extensions and is managed by the Composer installation process.
|
|
* You mainly need to list the bootstrapping class of your extension in the `composer.json` file like following,
|
|
*
|
|
* ```json
|
|
* {
|
|
* // ...
|
|
* "extra": {
|
|
* "bootstrap": "path\\to\\MyBootstrapClass"
|
|
* }
|
|
* }
|
|
* ```
|
|
*
|
|
* If the extension is installed, the bootstrap information will be saved in [[Application::extensions]].
|
|
*
|
|
* The second approach is used by application code which needs to register some code to be run during
|
|
* the bootstrap process. This is done by configuring the [[Application::bootstrap]] property:
|
|
*
|
|
* ```php
|
|
* return [
|
|
* // ...
|
|
* 'bootstrap' => [
|
|
* "path\\to\\MyBootstrapClass1",
|
|
* [
|
|
* 'class' => "path\\to\\MyBootstrapClass2",
|
|
* 'prop1' => 'value1',
|
|
* 'prop2' => 'value2',
|
|
* ],
|
|
* ],
|
|
* ];
|
|
* ```
|
|
*
|
|
* As you can see, you can register a bootstrapping class in terms of either a class name or a configuration class.
|
|
*
|
|
* For more details and usage information on BootstrapInterface, see the [guide article on bootstrapping applications](guide:structure-applications).
|
|
*
|
|
* @author Qiang Xue <qiang.xue@gmail.com>
|
|
* @since 2.0
|
|
*/
|
|
interface BootstrapInterface
|
|
{
|
|
/**
|
|
* Bootstrap method to be called during application bootstrap stage.
|
|
* @param Application $app the application currently running
|
|
*/
|
|
public function bootstrap($app);
|
|
}
|