PHPのレイトスタティックバインディングとは何ですか?
後期静的バインディングの背後にある基本的な考え方は、継承の概念と「自己」キーワードの概念が同じ規則に従わないということです。たとえば、子クラスで呼び出された親クラスのメソッド「fun」は、「self」が子を参照するようにはなりません(期待どおり)。
レイトスタティックバインディングの概念は、新しいキーワード「static」を導入します。これを使用すると、関数がランタイムクラス、または関数が最初に使用されたクラスにバインドされます。これに加えて、静的関数または変数は通常、コンパイル時ではなく実行時に実行されます。したがって、静的な変数に値を動的に割り当てる必要がある場合、それは実行時に発生します。これは、遅延静的バインディングと呼ばれます。
例
<?php class student { public static $my_name = 'Joe'; public static function getName() { return "The name of the student is : " . self::$my_name; } public static function getAge() { echo static::getName(); } } class Professor extends student { public static function getName() { return "The name of the student is : " . self::$my_name . " and age is 24."; } } student::getAge(); echo "\n"; Professor::getAge(); ?>
出力
The name of the student is : Joe The name of the student is : Joe and age is 24.
「student」という名前のクラスには、名前とその名前を取得する関数が含まれています。別の関数は、学生の年齢を取得します。 「教授」という名前のクラスは学生クラスを拡張し、関数も継承されます。年齢を取得する関数は、学生と教授の両方のインスタンスで呼び出されます。
-
PHPファイルとは何ですか?
拡張子が.PHPのファイルは、ハイパーテキストプリプロセッサコードを含むPHPソースコードファイルです。これらは通常、Webサーバーで実行されているPHPエンジンからHTMLを生成するWebページファイルとして使用されます。 PHPエンジンがコードから作成するHTMLコンテンツは、Webブラウザーに表示されるものです。 WebサーバーはPHPコードが実行される場所であるため、PHPページにアクセスしてもコードにアクセスできませんが、代わりにサーバーが生成するHTMLコンテンツが提供されます。 一部のPHPソースコードファイルは、.PHTML、PHP3、PHP4、PHP5、PHP7、PHP
-
Pythonクラスの静的メソッドとは何ですか?
すべてのPythonクラスには、インスタンスメソッド、クラスメソッド、静的メソッドの3種類のメソッドがあります。 例 コードを検討する class OurClass: def method(self): return 'instance method called', self @classmethod def classmethod(cls): return 'c