Factory
Joomla 平台工厂类。
自 |
1.7.0 |
---|---|
包 |
Joomla CMS |
方法
createConfig
创建一个配置对象
createConfig( file, type = 'PHP', namespace = '') : \Joomla\Registry\Registry
参见 | Registry |
---|---|
自 |
1.7.0 |
已弃用 |
4.0 版本将从 6.0 版本中移除。使用应用程序中的配置对象。例如:Factory::getApplication->getConfig(); |
参数
- 文件
string
配置文件的路径。- 类型
string
配置文件的类型。- 命名空间
string
配置文件的命名空间。
返回值
Registry
createContainer
创建一个容器对象
createContainer() : \Joomla\DI\Container
自 |
4.0.0 |
---|
返回值
Container
createDbo
创建一个数据库对象
createDbo() : \Joomla\Database\DatabaseDriver
参见 | DatabaseDriver |
---|---|
自 |
1.7.0 |
已弃用 |
4.3 版本将从 6.0 版本中移除。在 DI 容器中使用数据库服务。例如:Factory::getContainer()->get(DatabaseInterface::class); |
返回值
DatabaseDriver
createDocument
创建一个文档对象
createDocument() : \Joomla\CMS\Document\Document
createLanguage
创建一个语言对象
createLanguage() : \Joomla\CMS\Language\Language
createMailer
创建一个邮件发送器对象
createMailer() : \Joomla\CMS\Mail\Mail
getApplication
获取全局应用程序对象。如果全局应用程序不存在,则会抛出异常。
getApplication() : \Joomla\CMS\Application\CMSApplicationInterface
getCache
获取一个缓存对象
getCache( group = '', handler = 'callback', storage = null) : \Joomla\CMS\Cache\CacheController
返回全局 {@link CacheController} 对象
参见 | Cache |
---|---|
自 |
1.7.0 |
已弃用 |
4.3 版本将从 6.0 版本中移除。改为使用缓存控制器工厂。例如:Factory::getContainer()->get(CacheControllerFactoryInterface::class)->createCacheController($handler, $options); |
参数
- 组
string
缓存组名称- 处理器
string
要使用的处理器- 存储
string
存储方法
返回值
getConfig
获取一个配置对象
getConfig( file = null, type = 'PHP', namespace = '') : \Joomla\Registry\Registry
返回全局 {@link \JConfig} 对象,仅在它不存在时才创建它。
参见 | Registry |
---|---|
自 |
1.7.0 |
已弃用 |
4.3 版本将从 6.0 版本中移除。使用应用程序中的配置对象。例如:Factory::getApplication->getConfig(); |
参数
- 文件
string
配置文件的路径- 类型
string
配置文件的类型- 命名空间
string
配置文件的命名空间
返回值
Registry
getContainer
获取一个容器对象
getContainer() : \Joomla\DI\Container
返回全局服务容器对象,仅在它不存在时才创建它。
仅建议在负责创建新服务并需要能够解析依赖项的代码中使用此方法,因此仅当无法通过其他方式访问容器时才应使用此方法。此方法的有效用法包括
- 一个静态的
getInstance()
方法从容器调用工厂服务,例如Joomla\CMS\Toolbar\Toolbar::getInstance()
- 一个应用程序前端控制器加载并执行 Joomla 应用程序类,例如
cli/joomla.php
文件 - 在过渡期间未注入类的可选构造函数依赖项时检索,以保留向后兼容性,在这种情况下,还应发出弃用通知以通知开发人员其代码中需要进行的更改
不建议将此方法用作静态调用的逐一替换,例如将对 Factory::getDbo()
的调用替换为对 Factory::getContainer()->get(DatabaseInterface::class)
的调用,应重构代码以支持依赖注入而不是进行此更改。
自 |
4.0.0 |
---|
返回值
Container
getDate
返回 {@link Date} 对象
getDate( time = 'now', tzOffset = null) : \Joomla\CMS\Date\Date
getDbo
获取一个数据库对象。
getDbo() : \Joomla\Database\DatabaseDriver
返回全局 {@link DatabaseDriver} 对象,仅在它不存在时才创建它。
参见 | DatabaseDriver |
---|---|
自 |
1.7.0 |
已弃用 |
4.3 版本将从 6.0 版本中移除。在 DI 容器中使用数据库服务。例如:Factory::getContainer()->get(DatabaseInterface::class); |
返回值
DatabaseDriver
getDocument
获取一个文档对象。
getDocument() : \Joomla\CMS\Document\Document
getLanguage
获取一个语言对象。
getLanguage() : \Joomla\CMS\Language\Language
getMailer
获取一个邮件发送器对象。
getMailer() : \Joomla\CMS\Mail\Mail
getSession
获取一个会话对象。
getSession(mixed||string|int options = []) : \Joomla\CMS\Session\Session
getStream
使用适当的前缀创建一个新的流对象
getStream( usePrefix = true, useNetwork = true, userAgentSuffix = 'Joomla', maskUserAgent = false) : \Joomla\CMS\Filesystem\Stream
getUser
获取一个用户对象。
getUser( id = null) : \Joomla\CMS\User\User
属性
配置
全局配置对象
自 |
1.7.0 |
---|---|
已弃用 |
4.3 版本将从 6.0 版本中移除。使用应用程序中的配置对象。例如:Factory::getApplication()->getConfig(); |
类型
JConfig
容器
全局容器对象
自 |
4.0.0 |
---|
类型
Container
日期
Date 实例的容器
自 |
1.7.3 |
---|
类型
array<string|int, mixed>
会话
全局会话对象
自 |
1.7.0 |
---|---|
已弃用 |
4.3 版本将从 6.0 版本中移除。在 DI 容器中使用会话服务或从应用程序对象获取。例如:Factory::getApplication()->getSession(); |
类型
Session
语言
全局语言对象
自 |
1.7.0 |
---|---|
已弃用 |
4.3 版本将从 6.0 版本中移除。在 DI 容器中使用语言服务或从应用程序对象获取。例如:Factory::getApplication()->getLanguage(); |
类型
Language
文档
全局文档对象
自 |
1.7.0 |
---|---|
已弃用 |
4.3 版本将从 6.0 版本中移除。在 DI 容器中使用数据库服务或从应用程序对象获取。例如:Factory::getApplication()->getDocument(); |
类型
Document
数据库
全局数据库对象
自 |
1.7.0 |
---|---|
已弃用 |
4.3 版本将从 6.0 版本中移除。在 DI 容器中使用数据库服务。例如:Factory::getContainer()->get(DatabaseInterface::class); |
类型
DatabaseDriver