# Application **Application** 函数是 Pagekit的依赖容器。它使得 Pagekit 的功能和服务都是可配置、可扩展、可互换、可访问[模块](224131)。 在 Pagekit 可用的所有服务,都被设置为 `Application` 实例的依赖注入属性。例如 `$app['db']` 可以访问数据库服务。 ## 访问某个服务 要访问 `Application` 实例,主要有两种方式。取决于你当前的情况,可以通过访问 `$app` 变量或者通过静态调用 `Pagekit\Application` 类来访问。 ```php // Getter $app['cache'] use Pagekit\Application as App; App::cache(); ``` 如你所见,容器实现了 `\ArrayAccess` 和魔术方法 `__call` 来访问容器的服务。 ## 定义一个服务 通过在容器上设置一个数组键作为闭包可以轻松地为 application 添加一个服务。它在首次访问前不会被评估(evaluated)。 ```php $app['cache'] = function () { return new Cache(); }; ```