0

/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');だろうか?

4

3 に答える 3

0

この質問はかなり古いものですが、答えを探している人はまだここを読んでいるかもしれません (私もそうでした)。


(スタンドアロン) スクリプトは、TYPO3 コンテキストで実行されていません。

(通常の) 方法は、既存の TYPO3 API を使用して拡張機能を作成することです。TYPO3 は、クラスのオートロード、バックエンドおよびフロントエンドのユーザーの初期化、言語処理、URL の解決など、自分で行う必要のない初期化を行います。

これを行うと、TYPO3_MODE は既に初期化されています。定数セクションで TYPO3_MODE の詳細をお読みください。ほとんどの TYPO3 定数は推奨されておらず、 Environmentクラス に置き換えられていることに注意してください。

拡張機能の作成方法について詳しくは、次をご覧ください。

最新のTYPO3 10バージョンでは、これはあなたがするかもしれないことです:

  1. 拡張機能を最初から (typo3conf/ext/extensinoname ディレクトリに) 作成するか、extension_builder を使用して作成するかを決定します( extension_builder は拡張コードを生成します。これはExtbase フレームワークと Fluid テンプレート エンジンに基づいています。多くの場合、これは過激になる。)
  2. 最初から作成する場合は、最低限必要なファイル ext_emconf.php および composer.json を作成する必要があります。
  3. そこから続行します (何をしようとしているのかによって異なります)。上記のユースケースでは、ほとんどの場合、プラグインを作成する必要があります。また、( Doctrine dbal または Extbase 永続性に基づくQueryBuilderを使用して) データベース レコードをフェッチするか、TYPO3 コアから既存の FrontendUserRepository を使用する必要があります。

上記でやろうとしていることは、拡張を必要としないかもしれません。

于 2019-12-12T08:27:22.470 に答える