BaseController
实现 ControllerInterface, DispatcherAwareInterface, LoggerAwareInterfaceJoomla 控制器基类
控制器(控制器是你放置所有实际代码的地方。)提供基本功能,例如渲染视图(即显示模板)。
自 |
2.5.5 |
---|---|
包 |
Joomla CMS |
方法
__construct
构造函数。
__construct(mixed||string|int config = [], \Joomla\CMS\MVC\Factory\MVCFactoryInterface factory = null, \Joomla\CMS\Application\CMSApplicationInterface app = null, \Joomla\Input\Input input = null) :
自 |
3.0 |
---|
参数
- config
array<string|int, mixed>
一个可选的配置设置关联数组。识别的键值包括 'name'、'default_task'、'model_path' 和 'view_path'(此列表并非意在完整)。- factory
MVCFactoryInterface|null
工厂。- app
CMSApplicationInterface|null
调度器的应用程序- input
Input|null
输入
Response
混合
addModelPath
将模型路径添加到堆栈中,按照后进先出 (LIFO) 的顺序。
addModelPath( path, prefix = '') :
自 |
3.0 |
---|---|
已弃用 |
4.3 将在 6.0 中移除。将被移除,不再替代。改用 MVCFactory 获取模型 |
参数
- path
混合
要添加的目录(字符串)或目录列表(数组)。- prefix
string
模型的前缀
Response
void
addPath
将模板和资源的搜索路径添加到搜索路径。
addPath( type, path) :
自 |
3.0 |
---|
参数
- type
string
路径类型(例如 'model'、'view')。- path
混合
要搜索的目录字符串或流数组。
Response
static
支持链式操作的 BaseController 对象。
addViewPath
将一个或多个视图路径添加到控制器的堆栈中,按照后进先出 (LIFO) 的顺序。
addViewPath( path) :
自 |
3.0 |
---|
参数
- path
混合
要添加的目录(字符串)或目录列表(数组)。
Response
static
支持链式操作的此对象。
checkEditId
用于检查 ID 是否在编辑列表中的方法。
checkEditId( context, id) :
自 |
3.0 |
---|
参数
- context
string
会话存储的上下文。- id
int
要添加到编辑列表的记录的 ID。
Response
bool
如果 ID 在编辑列表中,则为 True。
checkToken
检查请求中的表单令牌。
checkToken( method = 'post', redirect = true) :
与 HTMLHelper::_('form.token') 或 Session::getFormToken 结合使用。
自 |
3.7.0 |
---|---|
抛出 |
|
参见 | Session::checkToken() |
参数
- method
string
要查找令牌键的请求方法。- redirect
bool
是否在失败时隐式将用户重定向到引用页面,或者只是返回 false。
Response
bool
如果找到且有效,则为 True,否则返回 false 或重定向到引用页面。
createFileName
创建资源的文件名。
createFileName( type, mixed||string|int parts = []) :
自 |
3.0 |
---|
参数
- type
string
要为其创建文件名的资源类型。- parts
array<string|int, mixed>
文件名信息的关联数组。可选。
Response
string
文件名。
createModel
加载并返回模型对象的方法。
createModel( name, prefix = '', mixed||string|int config = []) : \Joomla\CMS\MVC\Model\BaseDatabaseModel|bool
自 |
3.0 |
---|
参数
- name
string
模型的名称。- prefix
string
可选的模型前缀。- config
array<string|int, mixed>
模型的配置数组。可选。
Response
BaseDatabaseModel|bool
成功时为模型对象;否则为失败时为 false。
createView
加载并返回视图对象的方法。此方法首先在当前模板目录中查找匹配项,如果找不到,则使用一组默认的设置路径加载视图类文件。
createView( name, prefix = '', type = '', mixed||string|int config = []) : \Joomla\CMS\MVC\View\ViewInterface|null
请注意“name、prefix、type”参数的顺序,它与相关公共方法中使用的“name、type、prefix”顺序不同。
自 |
3.0 |
---|---|
抛出 |
|
参数
- name
string
视图的名称。- prefix
string
视图类名的可选前缀。- type
string
视图的类型。- config
array<string|int, mixed>
视图的配置数组。可选。
Response
ViewInterface|null
成功时为视图对象;失败时为 null 或错误结果。
display
基于 MVC 架构的典型视图方法
display( cachable = false, mixed||string|int urlparams = []) :
此函数提供了一个默认实现,在大多数情况下,你需要在自己的控制器中覆盖它。
自 |
3.0 |
---|---|
抛出 |
|
参数
- cachable
bool
如果为 True,则视图输出将被缓存- urlparams
array<string|int, mixed>
安全 URL 参数及其变量类型的数组。@see \Joomla\CMS\Filter\InputFilter::clean() 获取有效值。
Response
static
支持链式操作的 \JControllerLegacy 对象。
execute
通过触发派生类中的方法执行任务。
execute( task) :
自 |
3.0 |
---|---|
抛出 |
|
参数
- task
string
要执行的任务。如果找不到匹配的任务,则执行 '__default' 任务(如果已定义)。
Response
混合
被调用方法返回的值。
getDispatcher
获取事件调度器。
getDispatcher() : \Joomla\Event\DispatcherInterface
覆盖是为了保持对传统组件的向后兼容性。TODO:在 6.0 中移除覆盖
自 |
4.4.0 |
---|---|
抛出 |
|
Response
DispatcherInterface
getInstance
获取单例控制器实例的方法。
getInstance( prefix, mixed||string|int config = []) :
自 |
3.0 |
---|---|
已弃用 |
4.3 将在 6.0 中移除。改用 MVCFactory 获取控制器。例如:Factory::getApplication()->bootComponent($option)->getMVCFactory()->createController(...); |
抛出 |
|
参数
- prefix
string
控制器的前缀。- config
array<string|int, mixed>
可选构造函数选项的数组。
Response
static
getLogger
获取日志记录器。
getLogger() : \Psr\Log\LoggerInterface
自 |
5.0.0 |
---|
Response
LoggerInterface
getModel
获取模型对象的方法,如果需要则加载它。
getModel( name = '', prefix = '', mixed||string|int config = []) : \Joomla\CMS\MVC\Model\BaseDatabaseModel|bool
自 |
3.0 |
---|
参数
- name
string
模型名称。可选。- prefix
string
类前缀。可选。- config
array<string|int, mixed>
模型的配置数组。可选。
Response
BaseDatabaseModel|bool
成功时为模型对象;否则为失败时为 false。
getName
获取控制器名称的方法
getName() :
调度器名称默认情况下通过解析类名来设置,或者可以通过在类构造函数中传递 $config['name'] 来设置
自 |
3.0 |
---|---|
抛出 |
|
Response
string
调度器的名称
getTask
获取正在执行的或最近执行的最后一个任务。
getTask() :
自 |
3.0 |
---|
Response
string
正在执行的或最近执行的任务。
getTasks
获取控制器中可用的任务。
getTasks() : mixed||string|int
自 |
3.0 |
---|
Response
array<string|int, mixed>
任务名称的 Array[i]。
getView
获取对当前视图的引用并加载它的方法。
getView( name = '', type = '', prefix = '', mixed||string|int config = []) : \Joomla\CMS\MVC\View\ViewInterface
自 |
3.0 |
---|---|
抛出 |
|
参数
- name
string
视图名称。可选,默认为控制器名称。- type
string
视图类型。可选。- prefix
string
类前缀。可选。- config
array<string|int, mixed>
视图的配置数组。可选。
Response
ViewInterface
对视图的引用或错误。
holdEditId
将记录 ID 添加到编辑列表的方法。
holdEditId( context, id) :
自 |
3.0 |
---|---|
抛出 |
|
参数
- context
string
会话存储的上下文。- id
int
要添加到编辑列表的记录的 ID。
Response
void
prepareViewModel
设置视图模型的方法
prepareViewModel(\Joomla\CMS\MVC\View\ViewInterface view) :
此函数提供了一个默认实现,并且只在视图中设置一个模型(与视图具有相同前缀/后缀的模型)。如果你想为视图设置多个模型,你需要在你的 DisplayController 控制器中覆盖它。
自 |
5.0.0 |
---|
参数
- view
ViewInterface
视图对象
Response
void
redirect
重定向浏览器,如果未设置重定向,则返回 false。
redirect() :
自 |
3.0 |
---|---|
抛出 |
|
Response
bool
如果不存在重定向,则为 False。
registerDefaultTask
注册默认任务,如果未找到映射,则执行该任务。
registerDefaultTask( method) :
自 |
3.0 |
---|
参数
- method
string
如果未找到命名任务,则执行的派生类中的方法的名称。
Response
static
支持链式操作的 \JControllerLegacy 对象。
registerTask
注册(映射)任务到类中的方法。
registerTask( task, method) :
自 |
3.0 |
---|
参数
- task
string
任务。- method
string
派生类中为该任务执行的方法的名称。
Response
static
支持链式操作的 \JControllerLegacy 对象。
releaseEditId
用于检查 ID 是否在编辑列表中的方法。
releaseEditId( context, id) :
自 |
3.0 |
---|---|
抛出 |
|
参数
- context
string
会话存储的上下文。- id
int
要添加到编辑列表的记录的 ID。
Response
void
setMessage
设置与重定向一起传递的内部消息
setMessage( text, type = 'message') :
自 |
3.0 |
---|
参数
- text
string
要显示的重定向消息。- type
string
消息类型。可选,默认为 'message'。
Response
string
之前的消息
setPath
设置一组完整的资源搜索路径。
setPath( type, path) :
自 |
3.0 |
---|
参数
- type
string
要设置的路径类型,通常为 'view' 或 'model'。- path
string
新的搜索路径集。如果为 null 或 false,则重置为仅当前目录。
Response
void
setRedirect
设置浏览器重定向的 URL。
setRedirect( url, msg = null, type = null) :
自 |
3.0 |
---|
参数
- url
string
要重定向到的 URL。- msg
string
要显示的重定向消息。可选,默认为控制器内部设置的值(如果有)。- type
string
消息类型。可选,默认为 'message' 或之前调用 setMessage 设置的类型。
Response
static
支持链式操作的此对象。
unregisterTask
取消注册(取消映射)类中的任务。
unregisterTask( task) :
自 |
3.0 |
---|
参数
- task
string
任务。
Response
static
支持链式操作的此对象。
属性
basePath
控制器的基本路径
自 |
3.0 |
---|
类型
string
default_view
显示方法的默认视图。
自 |
3.0 |
---|
类型
string
doTask
执行的映射任务。
自 |
3.0 |
---|
类型
string
message
重定向消息。
自 |
3.0 |
---|
类型
string
messageType
重定向消息类型。
自 |
3.0 |
---|
类型
string
methods
类方法数组
自 |
3.0 |
---|
类型
array<string|int, mixed>
name
控制器的名称
自 |
3.0 |
---|
类型
string
model_prefix
模型的前缀
自 |
3.0 |
---|
类型
string
paths
资源(视图)的搜索目录集。
自 |
3.0 |
---|
类型
array<string|int, mixed>
redirect
重定向的 URL。
自 |
3.0 |
---|
类型
string
task
当前或最近执行的任务。
自 |
3.0 |
---|
类型
string
taskMap
用于特定任务的类方法调用数组。
自 |
3.0 |
---|
类型
array<string|int, mixed>
input
保存 JInput 对象以方便访问输入变量。
自 |
3.0 |
---|
类型
Input
instance
实例容器。
自 |
3.0 |
---|
类型
static