tslib_eidtools for typo3 7 的兼容性
Compatibility of tslib_eidtools for typo3 7
我正在尝试使 pi 基础扩展与 typo3 7.6.4 兼容。但是我无法制作以下代码的兼容版本
$this->feUserObj = tslib_eidtools::initFeUser();
// Connect to database:
tslib_eidtools::connectDB();
它抛出错误:Class tslib_eidtools 未找到。我如何转换 tslib_eidtools class,使其与 typo3 7 兼容?
TYPO3 7.6 LTS 核心文件中数据库连接建立代码位于core/Classes/Database/DatabaseConnection.php。您不必创建此 class 的对象。
您可以从 TYPO3 全局常量 $GLOBALS['TYPO3_DB'] 中获取数据库对象和连接参数。参考 Click Here
您可以使用此全局对象编写自定义 mysql 查询。
示例:
$results = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows (
$select_fields,
$from_table,
$where_clause,
$groupBy= '',
$orderBy= '',
$limit= '',
$uidIndexField= '' );
TYPO3 "database wrapper" class(3.6.0 中新增)此 class 包含
执行INSERT/UPDATE/DELETE/SELECT的抽象函数
查询("Query execution";这些是所有未来所必需的
连接到数据库,从而确保 DBAL 合规性!)
用于构建 SQL 查询的函数 (INSERT/UPDATE/DELETE/SELECT)
("Query building");这些是构建 SQL 的过渡函数
以更自动化的方式查询。使用这些来构建查询
在您的代码中手动执行它!
- mysqli 包装函数;这些是过渡函数。通过一个
简单 search/replace 你应该可以替换所有 mysql*()
使用 $GLOBALS['TYPO3_DB']->sql*() 和您的应用程序调用
开箱即用。你不能(合法地)使用任何 mysqli
在此 class 中未找到作为包装函数的函数!见
项目编码指南 (doc_core_cgl) 以获取更多说明
最佳实践
此外,在 TYPO3 6.2 的大多数情况下,您不需要使用此 connect() 方法
我正在尝试使 pi 基础扩展与 typo3 7.6.4 兼容。但是我无法制作以下代码的兼容版本
$this->feUserObj = tslib_eidtools::initFeUser();
// Connect to database:
tslib_eidtools::connectDB();
它抛出错误:Class tslib_eidtools 未找到。我如何转换 tslib_eidtools class,使其与 typo3 7 兼容?
TYPO3 7.6 LTS 核心文件中数据库连接建立代码位于core/Classes/Database/DatabaseConnection.php。您不必创建此 class 的对象。
您可以从 TYPO3 全局常量 $GLOBALS['TYPO3_DB'] 中获取数据库对象和连接参数。参考 Click Here
您可以使用此全局对象编写自定义 mysql 查询。
示例:
$results = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows (
$select_fields,
$from_table,
$where_clause,
$groupBy= '',
$orderBy= '',
$limit= '',
$uidIndexField= '' );
TYPO3 "database wrapper" class(3.6.0 中新增)此 class 包含
执行INSERT/UPDATE/DELETE/SELECT的抽象函数 查询("Query execution";这些是所有未来所必需的 连接到数据库,从而确保 DBAL 合规性!)
用于构建 SQL 查询的函数 (INSERT/UPDATE/DELETE/SELECT)
("Query building");这些是构建 SQL 的过渡函数 以更自动化的方式查询。使用这些来构建查询
在您的代码中手动执行它!- mysqli 包装函数;这些是过渡函数。通过一个 简单 search/replace 你应该可以替换所有 mysql*() 使用 $GLOBALS['TYPO3_DB']->sql*() 和您的应用程序调用 开箱即用。你不能(合法地)使用任何 mysqli 在此 class 中未找到作为包装函数的函数!见 项目编码指南 (doc_core_cgl) 以获取更多说明 最佳实践
此外,在 TYPO3 6.2 的大多数情况下,您不需要使用此 connect() 方法