ApiController

扩展 BaseController

Joomla 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

混合

add

添加新记录的方法。

add() : 

4.0.0

抛出

不允许

RuntimeException

Response

void

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

抛出

UnexpectedValueException如果未设置调度程序,则可能会抛出。

Response

DispatcherInterface

getInstance

获取单例控制器实例的方法。

getInstance( prefix, mixed||string|int config = []) : 
继承的 静态的 已弃用

3.0

已弃用

4.3 将在 6.0 中删除 通过 MVCFactory 获取控制器,而不是示例:Factory::getApplication()->bootComponent($option)->getMVCFactory()->createController(...);

抛出

Exception如果无法加载控制器。

参数

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

factory

工厂。

继承的

3.10.0

类型

MVCFactoryInterface

instance

实例容器。

继承的 静态的

3.0

类型

static

views

包含视图的实例容器。

继承的 静态的

3.4

类型

array<string|int, ViewInterface>

app

应用程序。重新声明以表明此类需要 Web 应用程序。

5.0.0

类型

CMSWebApplicationInterface

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