このエラーは、ファイル名に文字列を使用しなかったために発生し、PHP はドットを連結演算子として認識しました。そのため、演算子の前に値がなかったため、連結演算子が間違った場所にあるというエラーが PHP から返されました。
kalabro が言ったように、正しいコードは次のとおりです。
<?php session_start(); ?>
<?php require_once('./classes/MaterialUtil.class.php');
$mUtil = new MaterialUtil();
?>
これは、Drupal に厳密には関係のない回答の一部です。
あなたがしていることは、次の 2 つの理由から、私が提案することではありません。
- 「classes」ディレクトリを間違った場所に置いています。これらのファイルは、有効になっているテーマに関連していませんが、表示されているページに関連しています。テーマが 1 つしかなく、ユーザーが自分でテーマを選択することを許可されていない場合でも、それらのファイルをテーマ ディレクトリに配置するのは間違っています。
注意しないと、新しいバージョンが利用可能になったときに更新する必要があるテーマを含むディレクトリにファイルを配置すると、追加した追加ファイルが失われる可能性があります。
- たとえば、ノードに表示するコンテンツを取得するためにPHP を実行する
eval()
ことは、すべきことではありません。それの訳は:
- ノードに PHP フィルターを使用したため、ノードは制限されたユーザー グループに対してのみ編集可能になります。(信頼できないユーザーが PHP を入力形式として使用できるようにすることはお勧めしません)
- 実行する必要がある PHP コードがある場合は、サイトで有効なカスタム モジュールを作成することをお勧めします。
モジュール内から PHP ファイルをインクルードしようとしていた場合は、既に marcvangend によって提案されているように、 の代わりにmodule_load_include()require_once()
を使用する必要があります。