0

index.php 内には、クラス内から php メソッドを使用してファイルを含める必要があります。

index.phpでメソッドを数回呼び出していますが、そのメソッドはinclude_onceまたはrequire_onceを実行しています。問題は、最初にインクルードされたファイルが、すべてのファイル、インクルードされた残りのファイル、および index.php ファイル内に表示される必要があるいくつかの変数を作成していることです。ファイルを含めるメソッドを使用しているため、各ファイルで生成された変数は関数内でのみ表示されます。私は $this->var_name を使用できず、それらをグローバルにしたくありません。グローバルがうまくいくかどうかはわかりません。グローバルでテストしましたが、機能していないようです。インクルードメソッド内で変数を静的にすることで、インクルードされたすべてのファイル内で変数を表示できるように管理していますが、index.phpファイル内でも変数を表示することはできません。

index.phpの中にこれがあります

<html>
<head>
<?php $this->Import($filemane);?>
</head>
<body id="stylef<?php echo $default_font_family ?>"

Import メソッド内に $filename ファイルを含めています。最初に含まれるファイルである $filename ファイルで、index.php ファイル内に $default_font_family および $css_file として表示する必要があるいくつかの変数 ($default_font_family など) を作成しています ($this->default_font_family または ClassName::var などではありません)。 on... $default_font_family のままにしておく必要があります。index.php では、さらに多くのファイルに対して Import メソッドも呼び出します。これらのファイル内では、最初にインクルードされたファイルで定義された変数を、$this->$default_font_family ではなく $default_font_family として呼び出す必要があります。これに対して私が見つけた唯一の解決策は、変数を Import メソッド内で static として作成することです。このようにして、含まれているすべてのファイル内でそれらを $default_font_family として見ることができます。これにはもっと簡単な方法がありますか?現在、index.php ファイル内で変数を表示することができません。index.php ファイル内に Undefined variable: default_font_family を取得しています。解決策はありますか?

4

1 に答える 1

0

グローバルキーワードを適切な場所で使用すると、グローバルが機能するはずです。しかし、私たちはグローバルが嫌いですよね?

クラスの静的メソッドとプロパティを使用できます。

class MyClass {
public static $test = false;

public static function getTestVal() {
    return self::$test;
}

    public static function setTestVal($value) {
    self::$test = $value;
}


}

この後、MyClass::$test で $test にアクセスできます。

$test が公開されている場合、2 つの関数は必要ありませんが、非公開にしたい場合は、get 関数と set 関数を使用できます。MyClass::getTestVal(); MyClass::setTestVal(真);

于 2013-04-24T09:10:03.420 に答える