静的メソッドを使用しようとしています(クラスをインスタンス化したくありません)。 と私はこの例を入れます。PHPの静的メソッド/ファンクション
<?php
class RootClass {
const Member = 20;
public static function Member() {
return self::Member;
}
}
class NewClass {
private $ValNewClass = "";
private function InitNewClass() {
$this->ValNewClass = RootClass::Member();
}
public static function GetNewVal() {
$this->InitNewClass();
$Validation = true;
if ($this->ValNewClass>10){
echo "greater than 10";
$Validation = false;
} else {
echo "Not greater than 10";
}
return $Validation;
}
}
$Val2 = NewClass::GetNewVal(); //It must print "greater than 10"
?>
私は私の過ちがどこにあるかを知る必要があります。 これは実際のコードではなく、尋ねるための単純な形式です。
ありがとうございます。
なぜ '$ this'ここに:' $ this-> InitNewClass(); '? –
補足として、適切な命名規則、定数の場合はALL_CAPS、関数名と$変数の場合はlower_case()またはcamelCase()、クラス名の場合はFirst_letter_uppercasedを使用します。 –
静的メソッド '$ this'は使用できません。それを' self'に変更してください – rdo