Installer
扩展 Adapter 实现 DatabaseAwareInterfaceJoomla 基础安装程序类
自 |
3.1 |
---|---|
包 |
Joomla CMS |
方法
__construct
构造函数
__construct( basepath = __DIR__, classprefix = 'JoomlaCMSInstallerAdapter', adapterfolder = 'Adapter') :
自 |
3.1 |
---|
参数
- basepath
string
适配器的基本路径- classprefix
string
适配器的类前缀- adapterfolder
string
要附加到基本路径的文件夹名称
响应
混合
abort
安装中止方法
abort( msg = null, type = null) :
自 |
3.1 |
---|
参数
- msg
string
安装程序发出的中止消息- type
string
如果已定义,则为包类型
响应
bool
如果成功,则为 True
cleanDiscoveredExtension
如果以其他方式安装已发现的扩展,则清理这些扩展
cleanDiscoveredExtension( type, element, folder = '', client) :
自 |
3.1 |
---|
参数
- type
string
扩展类型(组件等)- element
string
唯一的元素标识符(例如 com_content)- folder
string
扩展的文件夹(插件;例如 system)- client
int
客户端应用程序(管理员或网站)
响应
object
查询结果
copyFiles
Copyfiles
copyFiles(mixed||string|int files, overwrite = null) :
将文件从源目录复制到目标目录
自 |
3.1 |
---|
参数
- files
array<string|int, mixed>
包含文件名数组- overwrite
bool
如果可以替换现有文件,则为 True
响应
bool
成功则为 True
copyManifest
将安装清单文件复制到给定客户端中的扩展文件夹
copyManifest( cid = 1) :
自 |
3.1 |
---|
参数
- cid
int
要复制 installfile 的位置 [可选:默认值为 1(管理员)]
响应
bool
成功则为 True,错误则为 False
def
如果尚未分配,则设置默认值
def( property, default = null) :
自 |
1.7.0 |
---|---|
已弃用 |
4.3.0 将在 6.0 中删除 不应再使用定义动态属性 |
参数
- property
string
属性的名称。- default
mixed
默认值。
响应
混合
discover
扩展发现方法
discover() : \Joomla\CMS\Installer\InstallerExtension||string|int
discover_install
已发现的包安装方法
discover_install( eid = null) :
自 |
3.1 |
---|
参数
- eid
int
扩展 ID
响应
bool
如果成功,则为 True
findDeletedFiles
比较两个“文件”条目以查找已删除的文件/文件夹
findDeletedFiles(mixed||string|int oldFiles, mixed||string|int newFiles) : mixed||string|int
自 |
3.1 |
---|
参数
- oldFiles
array<string|int, mixed>
旧文件的 \SimpleXMLElement 对象数组- newFiles
array<string|int, mixed>
新文件的 \SimpleXMLElement 对象数组
响应
array<string|int, mixed>
包含 findDeletedFiles[files] 中已删除的文件和文件夹以及 findDeletedFiles[folders] 中的相应文件夹的数组
findManifest
尝试找到包清单文件
findManifest() :
自 |
3.1 |
---|
响应
bool
成功则为 True,错误则为 False
generateManifestCache
生成清单缓存
generateManifestCache() :
自 |
3.1 |
---|
响应
string
序列化清单数据
get
返回对象的属性或属性未设置时的默认值。
get( property, default = null) :
自 |
1.7.0 |
---|---|
请参阅 | CMSObject::getProperties() |
已弃用 |
4.3.0 将在 6.0 中删除 为属性创建适当的获取器函数 |
参数
- property
string
属性的名称。- default
mixed
默认值。
响应
mixed
属性的值。
getAdapter
返回一个适配器。
getAdapter( name, mixed||string|int options = []) : static|bool
自 |
1.6 |
---|
参数
- name
string
要返回的适配器名称- options
array<string|int, mixed>
适配器选项
响应
static|bool
类型为“name”的适配器或 false
getAdapters
获取可用安装适配器的列表。
getAdapters(mixed||string|int options = [], mixed||string|int custom = []) : string||string|int
自 |
3.4 |
---|
参数
- options
array<string|int, mixed>
要注入到适配器中的选项数组- custom
array<string|int, mixed>
自定义安装适配器的数组
响应
array<string|int, string>
可用安装适配器的类名数组。
getDbo
获取数据库连接器对象
getDbo() : \Joomla\Database\DatabaseDriver
自 |
1.6 |
---|
响应
DatabaseDriver
数据库连接器对象
getError
获取最新的错误消息。
getError( i = null, toString = true) :
自 |
1.7.0 |
---|---|
已弃用 |
3.1.4 将在 6.0 中删除 将被删除而不会被替换 捕获抛出的异常,而不是使用 getError |
参数
- i
int
选项错误索引。- toString
bool
指示异常对象是否应返回其错误消息。
响应
string
错误消息
getErrors
返回所有错误(如果有)。
getErrors() : mixed||string|int
自 |
1.7.0 |
---|---|
已弃用 |
3.1.4 将在 6.0 中删除 将被删除而不会被替换 捕获抛出的异常,而不是使用 getErrors |
响应
array<string|int, mixed>
错误消息数组。
getInstance
返回全局安装程序对象,仅在该对象不存在时才创建它。
getInstance( basepath = __DIR__, classprefix = 'JoomlaCMSInstallerAdapter', adapterfolder = 'Adapter') : \Joomla\CMS\Installer\Installer
自 |
3.1 |
---|
参数
- basepath
string
适配器的基本路径- classprefix
string
适配器的类前缀- adapterfolder
string
要附加到基本路径的文件夹名称
响应
Installer
安装程序对象
getManifest
获取安装清单对象
getManifest() : \SimpleXMLElement
自 |
3.1 |
---|
响应
SimpleXMLElement
清单对象
getParams
解析扩展参数、构建其默认参数的 JSON 字符串并返回 JSON 字符串的方法。
getParams() :
自 |
3.1 |
---|---|
注意 |
此方法必须始终返回符合 JSON 规范的字符串 |
响应
string
参数值的 JSON 字符串
getPath
按名称获取安装程序路径
getPath( name, default = null) :
自 |
3.1 |
---|
参数
- name
string
路径名称- default
string
默认值
响应
string
路径
getProperties
返回对象属性的关联数组。
getProperties( public = true) : mixed||string|int
自 |
1.7.0 |
---|---|
请参阅 | CMSObject::get() |
已弃用 |
4.3.0 将在 6.0 中删除 为属性创建适当的获取器函数 |
参数
- 公共
bool
如果为 true,则仅返回公共属性。
响应
array<string|int, mixed>
getRedirectUrl
获取重定向位置
getRedirectUrl() :
自 |
3.1 |
---|
响应
string
重定向位置(或 null)
install
包安装方法
install( path = null) :
自 |
3.1 |
---|
参数
- path
string
指向包源文件夹的路径
响应
bool
如果成功,则为 True
isManifest
XML 文件是否为有效的 Joomla 安装清单文件。
isManifest( file) : \SimpleXMLElement|null
自 |
3.1 |
---|
参数
- file
string
要检查的 xmlfile 路径
响应
SimpleXMLElement|null
\SimpleXMLElement 或 null(如果文件解析失败)
isOverwrite
获取允许覆盖开关
isOverwrite() :
自 |
3.1 |
---|
响应
bool
允许覆盖开关
isPackageUninstall
获取此安装程序是否正在卸载作为包一部分的扩展
isPackageUninstall() :
自 |
3.7.0 |
---|
响应
bool
isUpgrade
获取升级开关
isUpgrade() :
自 |
3.1 |
---|
响应
bool
loadAdapter
加载适配器实例的方法
loadAdapter( adapter, mixed||string|int options = []) : \Joomla\CMS\Installer\InstallerAdapter
自 |
3.4 |
---|---|
抛出 |
|
参数
- adapter
string
适配器名称- options
array<string|int, mixed>
适配器选项
响应
loadAllAdapters
加载所有适配器。
loadAllAdapters(mixed||string|int options = []) :
自 |
1.6 |
---|
参数
- options
array<string|int, mixed>
适配器选项
响应
void
loadMD5Sum
将 MD5SUMS 文件加载到关联数组中
loadMD5Sum( filename) : mixed||string|int
自 |
3.1 |
---|
参数
- filename
string
要加载的文件名
响应
array<string|int, mixed>
包含文件名作为索引以及 MD5 作为值的关联数组
parseFiles
解析安装清单的 files 元素并采取适当操作的方法。
parseFiles(\SimpleXMLElement element, cid, mixed||string|int oldFiles = null, mixed||string|int oldMD5 = null) :
自 |
3.1 |
---|
参数
- element
SimpleXMLElement
要处理的 XML 节点- cid
int
要安装到的应用程序的应用程序 ID- oldFiles
array<string|int, mixed>
旧文件的列表(SimpleXMLElement)- oldMD5
array<string|int, mixed>
旧 MD5 校验和列表(按文件名索引,值为 MD5)
响应
bool
成功则为 True
parseLanguages
解析安装清单的 languages 元素并采取适当操作的方法。
parseLanguages(\SimpleXMLElement element, cid) :
自 |
3.1 |
---|
参数
- element
SimpleXMLElement
要处理的 XML 节点- cid
int
要安装到的应用程序的应用程序 ID
响应
bool
成功则为 True
parseMedia
解析安装清单的 media 元素并采取适当操作的方法。
parseMedia(\SimpleXMLElement element, cid) :
自 |
3.1 |
---|
参数
- element
SimpleXMLElement
要处理的 XML 节点- cid
int
要安装到的应用程序的应用程序 ID
响应
bool
成功则为 True
parseQueries
向后兼容的方法,用于解析安装清单文件的 queries 元素并采取适当操作。
parseQueries(\SimpleXMLElement element) :
自 |
3.1 |
---|
参数
- element
SimpleXMLElement
要处理的 XML 节点
响应
mixed
已处理的查询数或错误时的 False
parseSchemaUpdates
处理项更新的方法
parseSchemaUpdates(\SimpleXMLElement schema, eid) : bool|int
自 |
3.1 |
---|
参数
- schema
SimpleXMLElement
要处理的 XML 节点- eid
int
扩展标识符
响应
bool|int
已执行的 SQL 更新数;失败则为 false。
parseSQLFiles
从安装清单文件中提取独立安装 sql 文件名称的方法。
parseSQLFiles( element) :
自 |
3.1 |
---|
参数
- element
object
要处理的 XML 节点
响应
mixed
已处理的查询数或错误时的 False
parseXMLInstallFile
解析 XML 安装清单文件。
parseXMLInstallFile( path) : mixed||string|int
XML 根标签应为“install”,但语言使用元文件除外。
自 |
3.0.0 |
---|
参数
- path
string
指向 XML 文件的完整路径。
响应
array<string|int, mixed>
XML 元数据。
pushStep
将步骤推送到安装程序堆栈以回滚步骤
pushStep(mixed||string|int step) :
自 |
3.1 |
---|
参数
- step
array<string|int, mixed>
安装程序步骤
响应
void
refreshManifestCache
刷新存储在 #__extensions 中的清单缓存
refreshManifestCache( eid) :
自 |
3.1 |
---|
参数
- eid
int
扩展 ID
响应
bool
removeFiles
解析安装清单的 files 元素并删除已安装的文件的方法
removeFiles( element, cid) :
自 |
3.1 |
---|
参数
- element
object
要处理的 XML 节点- cid
int
要从中删除的应用程序的应用程序 ID
响应
bool
成功则为 True
set
修改对象的属性(如果该属性不存在,则创建该属性)。
set( property, value = null) :
自 |
1.7.0 |
---|---|
已弃用 |
4.3.0 将在 6.0 中删除 为属性创建适当的设置器函数 |
参数
- property
string
属性的名称。- value
mixed
要设置的属性的值。
响应
mixed
属性的先前值。
setAdapter
按名称设置适配器
setAdapter( name, &adapter = null, mixed||string|int options = []) :
自 |
1.6 |
---|
参数
- name
string
适配器名称- adapter
object
适配器对象- options
array<string|int, mixed>
适配器选项
响应
bool
如果成功,则为 True
setError
添加错误消息。
setError( error) :
自 |
1.7.0 |
---|---|
已弃用 |
3.1.4 将在 6.0 中删除 将被删除而不会被替换 抛出异常,而不是使用 setError |
参数
- error
string
错误消息。
响应
void
setOverwrite
设置允许覆盖开关
setOverwrite( state = false) :
自 |
3.1 |
---|
参数
- state
bool
覆盖开关状态
响应
bool
如果设置了状态,则为 True,否则为 False
setPackageUninstall
设置此安装程序是否正在卸载作为包一部分的扩展
setPackageUninstall( uninstall) :
自 |
3.7.0 |
---|
参数
- uninstall
bool
如果包触发了卸载,则为真,否则为假
响应
void
setPath
按名称设置安装程序路径
setPath( name, value) :
自 |
3.1 |
---|
参数
- name
string
路径名称- value
string
路径
响应
void
setProperties
根据命名数组/哈希设置对象属性。
setProperties( properties) :
自 |
1.7.0 |
---|---|
请参阅 | CMSObject::set() |
已弃用 |
4.3.0 将在 6.0 中删除 为属性创建适当的设置器函数 |
参数
- 属性
mixed
关联数组或其他对象。
响应
bool
setRedirectUrl
设置重定向位置
setRedirectUrl( newurl) :
自 |
3.1 |
---|
参数
- newurl
string
新的重定向位置
响应
void
setSchemaVersion
通过查看扩展的最新更新来设置扩展的模式版本
setSchemaVersion(\SimpleXMLElement schema, eid) :
自 |
3.1 |
---|
参数
- schema
SimpleXMLElement
模式标签- eid
int
扩展 ID
响应
void
setUpgrade
设置升级开关
setUpgrade( state = false) :
自 |
3.1 |
---|
参数
- state
bool
升级开关状态
响应
bool
如果升级为真,否则为假
setupInstall
准备安装:此方法设置安装目录,查找并检查安装文件,并验证安装类型。
setupInstall( route = 'install', returnAdapter = false) : bool|\Joomla\CMS\Installer\InstallerAdapter
自 |
3.1 |
---|
参数
- 路线
string
正在遵循的安装路线- returnAdapter
bool
返回实例化适配器的标志
响应
bool|InstallerAdapter
如果明确请求,则为 InstallerAdapter 对象,否则为布尔值
splitSql
将多个查询的字符串拆分为单个查询的数组。
splitSql(string|null sql) : mixed||string|int
这与 DatabaseDriver::splitSql 不同。它支持特殊的 CAN FAIL 注释标记,该标记指示 SQL 语句可能会在安装期间失败,而不会引发错误。
自 |
4.2.0 |
---|
参数
- sql
string|null
要拆分为单个查询的输入 SQL 字符串。
响应
array<string|int, mixed>
uninstall
包卸载方法
uninstall( type, identifier) :
自 |
3.1 |
---|
参数
- type
string
包类型- 标识符
mixed
适配器的包标识符
响应
bool
如果成功,则为 True
update
包更新方法
update( path = null) :
自 |
3.1 |
---|
参数
- path
string
指向包源文件夹的路径
响应
bool
如果成功,则为 True
updateSchemaTable
使用最新版本更新模式表
updateSchemaTable( eid, version, update = false) :
自 |
4.2.0 |
---|
参数
- eid
int
扩展 ID。- 版本
string
最新的模式版本 ID。- update
bool
我应该对现有记录运行更新还是插入新记录?
响应
void
常量
CAN_FAIL_MARKER
注释标记,指示更新 SQL 查询可能会失败而不会触发更新错误。
价值 | '/** CAN FAIL **/' |
---|---|
自 |
4.2.0 |
CAN_FAIL_MARKER_LENGTH
CAN_FAIL_MARKER 字符串的长度
价值 | 16 |
---|---|
自 |
4.2.0 |
属性
_errors
错误消息或异常对象的数组。
自 |
1.7.0 |
---|---|
已弃用 |
3.1.4 JError 已弃用 |
类型
array<string|int, mixed>
_adapters
适配器的关联数组
自 |
1.6 |
---|
类型
array<string|int, static>
_adapterfolder
适配器文件夹
自 |
1.6 |
---|
类型
string
_classprefix
适配器类前缀
自 |
1.6 |
---|
类型
string
_basepath
适配器实例的基路径
自 |
1.6 |
---|
类型
string
_db
数据库连接器对象
自 |
1.6 |
---|
类型
DatabaseDriver
路径
安装程序所需的路径数组
自 |
3.1 |
---|
类型
array<string|int, mixed>
升级
如果包是升级,则为真
自 |
3.1 |
---|
类型
bool
manifestClass
清单触发器类
自 |
3.1 |
---|
类型
object
overwrite
如果可以覆盖现有文件,则为真
自 |
3.0.0 |
---|
类型
bool
stepStack
安装步骤堆栈
- 用于安装回滚
自 |
3.1 |
---|
类型
array<string|int, mixed>
信息
安装/卸载脚本的输出
自 |
3.1 |
---|
类型
string
清单
安装清单 XML 对象
自 |
3.1 |
---|
类型
object
extension_message
显示的扩展消息
自 |
3.1 |
---|
类型
string
redirect_url
如果此扩展的重定向 URL(如果无重定向,则可以为空)
自 |
3.1 |
---|
类型
string
packageUninstall
卸载过程是否由卸载包触发
自 |
3.7.0 |
---|
类型
bool
extraQuery
在更新站点重建期间备份 extra_query
自 |
3.9.26 |
---|
类型
string