/public_html/demo
是我的TYPO3网站,我在它下面放了一个test.php
文件,
<?php
//define('TYPO3_MODE','FE');
require('typo3conf/localconf.php');
require('t3lib/class.t3lib_db.php');
require('t3lib/class.t3lib_div.php');
define('TYPO3_db_host', $typo_db_host);
define('TYPO3_db_username', $typo_db_username);
define('TYPO3_db_password', $typo_db_password);
define('TYPO3_db', $typo_db);
$DB = new t3lib_DB();
$DB->connectDB();
$result = mysql_query("SELECT * FROM fe_users WHERE username='tom_seeker'");
while($row = mysql_fetch_array($result))
{
echo $row['email'];
}
?>
问题:
什么时候需要放这行:
define('TYPO3_MODE','FE');
?这里我把它注释掉了,脚本仍然有效,所以我只是想知道何时/如何使用define('TYPO3_MODE','FE');
?
应该不需要定义这个常量。 TYPO3 会为你做的。
要么构建一个可以放在网站上的插件,要么构建一个不需要网站即可运行的
eID
。
两者都会为您提供 TYPO3 环境;插件是一个完整的插件,eID 是一个更小(更快)的插件。
通常,您定义 TYPO3_MODE 来告诉系统您是在前端还是后端(FE 与 BE)。
许多扩展询问 TYPO3_MODE 的状态。
if (!defined ('TYPO3_MODE')) die ('Access denied.');
更新:TYPO3_MODE 在 v11 中已弃用,并在 v12 中删除。
您的(独立)脚本未在任何 TYPO3 上下文中运行。
(通常)方法是使用现有的 TYPO3 API 创建扩展。 TYPO3 将为您做一些初始化,您不必自己做,例如自动加载类、初始化后端和前端用户、语言处理、解析 URL 等。
如果执行此操作,TYPO3_MODE 将已初始化。在常量部分阅读有关 TYPO3_MODE 的更多信息。请注意,大多数 TYPO3 常量已被弃用,并已被 Environment 类取代。
了解有关如何创建扩展的更多信息:
使用最新的 TYPO3 10 版本,您可以这样做:
您在上面尝试执行的操作可能甚至不需要延期。