ホームページ > バックエンド開発 > PHPチュートリアル > import を使用して thinkphp によって導入されたファイルを読み取る方法はありません。

import を使用して thinkphp によって導入されたファイルを読み取る方法はありません。

WBOY
リリース: 2016-06-23 14:02:17
オリジナル
881 人が閲覧しました

import("Common.logAction",APP_PATH,'.php'); を使用して関数に logAction.php ファイルを導入します。このファイルは次の構造を持つ多次元配列です:
$_LANG['log_action' ]['add '] = '追加';
$_LANG['log_action']['remove'] = '削除'
$_LANG['log_action']['edit'] = '編集'; ['log_action' ]['import'] = 'インポート';
$_LANG['log_action']['sheng'] = '生成'
$_LANG['log_action']['print'] = '印刷' ;
$_LANG ['log_action']['general_ruku'] = '一般エントリ'
$_LANG['log_action']['sell_chuku'] = '販売問題'; '] = '監査';
$_LANG['log_action']['uncheck'] = '監査をキャンセル';
$_LANG['log_action']['batch_check'] = 'バッチ監査';関数内 しかし、そのファイルにインポートされた変数値を読み取ることができません。
function admin_log($sn = '', $action, $content)
{
//ログ操作、アクション
import("Common.logAction",APP_PATH,'.php');
echo $GLOBALS['_LANG'); ]['log_action'][$action];exit;


}

いくつか提案をお願いします。 。 。



ディスカッションに返信する (解決策)

thinkphp のコードを参照する
import は、require_cache を呼び出してファイルをロードする関数です

、ファイルは require_cache にロードされます: require $filename

したがって、さらにクラス定義に追加すると、他のデータ宣言は関数 require_cache 内のプライベート変数になります

ロードされたファイル内でグローバル変数として宣言しない限り



多言語サポートを行っているようです
そこで、ThinkPHP のビルトイン変数を使用してみてはいかがでしょうか多言語サポートでは?

私は多言語サポートを使用していません。上記でインポートされるファイルは一部の操作アクションを記録する機能を実行しているだけです。


そしてインポートされるファイルはクラスではなく、配列を格納するPHPファイルです。


単にインクルードすることもできます

ただし、他の人のルールに従う方が良いです

あなたのこのファイルは設定ファイルとみなされるべきですよね?



はい、インポートされたファイルにグローバル $_LANG を定義しただけです。
しかし、お聞きしたいのですが、定義されたグローバル変数が多すぎる場合、影響はありますか?

以前 TP フレームワークを使用しなかったときは、グローバル変数を宣言せずに include を使用していました。


はい、インポートされたファイルでグローバル $_LANG を定義しただけです。 。

しかし、お聞きしたいのですが、定義されたグローバル変数が多すぎる場合、影響はありますか? グローバル変数を定義しすぎると影響が出ますか?

いいえ、競合しないように注意する必要があります

設定ファイルは TP が同意した方法で行う必要があり、自動的にロードされます

7 階の babyface201008 からの返信を引用: はい、それは設定ですファイルにグローバル $_LANG を定義するだけです。
しかし、お聞きしたいのですが、定義されたグローバル変数が多すぎる場合、影響はありますか?グローバル変数を定義しすぎると影響が出ますか?
いいえ、競合しないように注意する必要があります

設定ファイルは TP が合意した方法で実行する必要があり、自動的にロードされます

さて、リマインダーをありがとうございます。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート