BaseController

实现 ControllerInterface, DispatcherAwareInterface, LoggerAwareInterface

Joomla 控制器基类

控制器(控制器是你放置所有实际代码的地方。)提供基本功能,例如渲染视图(即显示模板)。

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 = '') : 
static 已弃用

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

抛出

Exception

参见 Session::checkToken()

参数

method

string要查找令牌键的请求方法。

redirect

bool是否在失败时隐式将用户重定向到引用页面,或者只是返回 false。

Response

bool如果找到且有效,则为 True,否则返回 false 或重定向到引用页面。

createFileName

创建资源的文件名。

createFileName( type, mixed||string|int parts = []) : 
static

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

抛出

Exception

参数

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

抛出

Exception

参数

cachable

bool如果为 True,则视图输出将被缓存

urlparams

array<string|int, mixed>安全 URL 参数及其变量类型的数组。@see \Joomla\CMS\Filter\InputFilter::clean() 获取有效值。

Response

static支持链式操作的 \JControllerLegacy 对象。

execute

通过触发派生类中的方法执行任务。

execute( task) : 

3.0

抛出

Exception

参数

task

string要执行的任务。如果找不到匹配的任务,则执行 '__default' 任务(如果已定义)。

Response

混合被调用方法返回的值。

getDispatcher

获取事件调度器。

getDispatcher() : \Joomla\Event\DispatcherInterface

覆盖是为了保持对传统组件的向后兼容性。TODO:在 6.0 中移除覆盖

4.4.0

抛出

UnexpectedValueException如果调度器未设置,则可能会抛出此异常。

Response

DispatcherInterface

getInstance

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

getInstance( prefix, mixed||string|int config = []) : 
static 已弃用

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

抛出

Exception

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

抛出

Exception

参数

name

string视图名称。可选,默认为控制器名称。

type

string视图类型。可选。

prefix

string类前缀。可选。

config

array<string|int, mixed>视图的配置数组。可选。

Response

ViewInterface对视图的引用或错误。

holdEditId

将记录 ID 添加到编辑列表的方法。

holdEditId( context,  id) : 

3.0

抛出

Exception

参数

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

抛出

Exception

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

抛出

Exception

参数

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

factory

工厂。

3.10.0

类型

MVCFactoryInterface

instance

实例容器。

static

3.0

类型

static

views

包含视图的实例容器。

static

3.4

类型

array<string|int, ViewInterface>

app

应用程序

4.0.0

类型

CMSApplicationInterface