ApiController
扩展 BaseControllerJoomla API 控制器的基类
控制器(控制器是放置所有实际代码的地方)提供基本功能,例如渲染视图(即显示模板)。
自 |
4.0.0 |
---|---|
包 |
Joomla CMS |
方法
__construct
构造函数。
__construct(mixed||string|int config = [], \Joomla\CMS\MVC\Factory\MVCFactoryInterface factory = null, \Joomla\CMS\Application\CMSWebApplicationInterface app = null, \Joomla\Input\Input input = null) :
抛出 |
|
---|---|
自 |
4.0.0 |
参数
- config
array<string|int, mixed>
可选的关联配置设置数组。识别的键值包括 'name'、'default_task'、'model_path' 和 'view_path'(此列表并非旨在全面)。- factory
MVCFactoryInterface|null
工厂。- app
CMSWebApplicationInterface|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
支持链式操作的此对象。
allowAdd
检查您是否可以添加新记录的方法。
allowAdd(mixed||string|int data = []) :
扩展类可以根据需要覆盖此方法。
自 |
4.0.0 |
---|
参数
- data
array<string|int, mixed>
输入数据的数组。
Response
bool
allowEdit
检查您是否可以编辑现有记录的方法。
allowEdit(mixed||string|int data = [], key = 'id') :
扩展类可以根据需要覆盖此方法。
自 |
4.0.0 |
---|
参数
- data
array<string|int, mixed>
输入数据的数组。- key
string
主键的键名称;默认值为 id。
Response
bool
checkEditId
检查 ID 是否在编辑列表中的方法。
checkEditId( context, id) :
自 |
3.0 |
---|
参数
- context
string
会话存储的上下文。- id
int
要添加到编辑列表的记录的 ID。
Response
bool
如果 ID 在编辑列表中,则为真。
checkToken
检查请求中是否存在表单令牌。
checkToken( method = 'post', redirect = true) :
与 HTMLHelper::_('form.token') 或 Session::getFormToken 结合使用。
自 |
3.7.0 |
---|---|
抛出 |
|
参见 | Session::checkToken() |
参数
- method
string
要查找令牌键的请求方法。- redirect
bool
是否在失败时隐式将用户重定向到引用页,或者只是返回 false。
Response
bool
如果找到且有效,则为真,否则返回 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
请注意参数的“名称、前缀、类型”顺序,这与相关公共方法中使用的“名称、类型、前缀”顺序不同。
自 |
3.0 |
---|---|
抛出 |
|
参数
- name
string
视图的名称。- prefix
string
视图类名称的可选前缀。- type
string
视图的类型。- config
array<string|int, mixed>
视图的配置数组。可选。
Response
ViewInterface|null
成功时为视图对象;失败时为 null 或错误结果。
delete
删除项目。
delete( id = null) :
自 |
4.0.0 |
---|
参数
- id
int
要删除的项目的自增 ID。
Response
void
display
基于 MVC 的架构的典型视图方法
display( cachable = false, mixed||string|int urlparams = []) :
此函数提供为默认实现,在大多数情况下,您需要在自己的控制器中覆盖它。
自 |
3.0 |
---|---|
抛出 |
|
参数
- cachable
bool
如果为真,则视图输出将被缓存- urlparams
array<string|int, mixed>
安全 URL 参数及其变量类型的数组。@see \Joomla\CMS\Filter\InputFilter::clean() 获取有效值。
Response
static
支持链式操作的 \JControllerLegacy 对象。
displayItem
项目视图的基本显示
displayItem( id = null) :
自 |
4.0.0 |
---|
参数
- id
int
要显示的自增 ID。如果您想从请求中检索数据,请留空
Response
static
支持链式操作的 \JControllerLegacy 对象。
displayList
列表视图的基本显示
displayList() :
自 |
4.0.0 |
---|
Response
static
支持链式操作的 \JControllerLegacy 对象。
edit
编辑现有记录的方法。
edit() :
自 |
4.0.0 |
---|
Response
static
支持链式操作的 \JControllerLegacy 对象。
execute
通过触发派生类中的方法来执行任务。
execute( task) :
自 |
3.0 |
---|---|
抛出 |
|
参数
- task
string
要执行的任务。如果找不到匹配的任务,则执行 '__default' 任务(如果已定义)。
Response
mixed
被调用方法返回的值。
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
preprocessSaveData
允许扩展类操作要保存的扩展数据的扩展方法。
preprocessSaveData(mixed||string|int data) : mixed||string|int
自 |
4.0.0 |
---|
参数
- data
array<string|int, mixed>
输入数据的数组。
Response
array<string|int, mixed>
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
save
保存记录的方法。
save( recordKey = null) :
自 |
4.0.0 |
---|
参数
- recordKey
int
项目的自增 ID(如果存在)
Response
int
成功时的记录 ID,失败时为 false
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
新的搜索路径集合。如果为空或为 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
contentType
项目的 MIME 类型。
自 |
4.0.0 |
---|
类型
string
option
组件的 URL 选项。
自 |
4.0.0 |
---|
类型
string
text_prefix
用于控制器消息的前缀。
自 |
4.0.0 |
---|
类型
string
context
用于存储内部数据的上下文,例如记录。
自 |
4.0.0 |
---|
类型
string
itemsPerPage
每页项数
类型
int
modelState
要注入的模型状态
类型
Registry