PHPクラスのself、parent、thisの違いとexamples_PHPチュートリアルの紹介
一つ、これ
1. これを使用するには、オブジェクト コンテキストが必要です。そうでない場合は、致命的なエラー: オブジェクト コンテキストにない場合の $this の使用というエラーが報告されます。
2. このクラスのメソッドと属性、または親クラスの調整可能なメソッドと属性を呼び出すことができます
二人、自分
1. self は、このクラスの静的プロパティと静的メソッドにアクセスでき、親クラスの静的プロパティと静的メソッドにアクセスできます。
2. self を使用する場合はインスタンス化する必要はありません
三、親
1. 親は親クラスの静的プロパティと静的メソッドにアクセスできます。
2. 親を使用する場合はインスタンス化する必要はありません
クラステスト{
public $public;
private $private;
protected $protected;
static $instance;
static $good = 'tankzhang
';
public $tank = 'zhangying
';
public function __construct(){
$this->public = 'public
';
$this->private = 'private
';
$this->protected = 'protected < ;br>';
Public 関数 Tank () {// Private メソッドは継承できず、Public, ProteCted に置き換えられます
IF (! Isset (Self :: Get_class ()])
{
$ c = get_class ();
self:: $instance = new $c;
}
return self::$instance;
}
echo "あなたは public function
をリクエストしています";
echo $this->public;
}
protected function pro_function(){
echo "あなたは protected function
をリクエストしています";
echo $this->protected;
}
プライベート関数 pri_function(){
echo "プライベート関数をリクエストしました
";
echo $this->private;
}
static 関数 sta_function(){
echo "静的関数をリクエストしました
";
}
}
クラス test1 はテストを拡張します{
static $love = "tank
";
private $aaaaaaa = "ying
";
parent::tank();
parent::__construct();
}
パブリック関数tank(){
echo $this->public;
echo $this->protected;
echo $this->aaaaaaa;
$this->pro_function();
}
echo self::$love;
echo self::$good;
echoparent::$good;
echoparent::$tank; //致命的なエラー: 未宣言の静的プロパティへのアクセス: test::$tank
echo self::$tank; //致命的なエラー: 宣言されていない静的プロパティへのアクセス: test::$tank
}
static function extends_function(){
parent::sta_function();
self:: pro_function();
echo "extends_private 関数をリクエストしました
";
}
}
error_reporting(E_ALL);
$test = new test1();
$test->tank(); //サブクラスと親クラスには同じ名前の属性とメソッドがあります。サブクラスがインスタンス化されると、サブクラスも同じ名前になります。でメソッドが呼び出されます。
test1::test1_function();
test1::extends_function(); //一部の実行後、致命的なエラーが報告されます: D:xampphtdocsmytestwww4.php の 32 行目でオブジェクト コンテキストにない場合に $this を使用します
?>
1. $test->tank(); メソッドを呼び出すと、タンク内の $this はこのクラスと親クラスのメソッドと属性を呼び出すことができます。
2, test1::test1_function(); 静的メソッドを使用して非静的メソッドを呼び出すと、非静的メソッド test::test1_function() を静的に呼び出してはいけないという警告が表示されます。いいえ、自分自身はできます。このクラスを呼び出すとき、親は親クラスの静的プロパティを呼び出すことができます。非静的プロパティを呼び出すと、どちらもエラーを報告します。コード内にコメントがあります3, test1::extends_function(); このステップでは、$this がオブジェクト以外で使用されていることを報告するエラーが報告されます。これはなぜでしょうか? test1::extends_function(); はクラス内のメソッドを呼び出すだけでインスタンス化されないため、親クラスで $this が使用されるとエラーが報告されます。
http://www.bkjia.com/PHPjc/326809.html
を呼び出すことができます
ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

C言語関数は、コードモジュール化とプログラム構築の基礎です。それらは、宣言(関数ヘッダー)と定義(関数体)で構成されています。 C言語は値を使用してパラメーターをデフォルトで渡しますが、外部変数はアドレスパスを使用して変更することもできます。関数は返品値を持つか、または持たない場合があり、返品値のタイプは宣言と一致する必要があります。機能の命名は、ラクダを使用するか、命名法を強調して、明確で理解しやすい必要があります。単一の責任の原則に従い、機能をシンプルに保ち、メンテナビリティと読みやすさを向上させます。

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

CとC#には類似点がありますが、それらは完全に異なります。Cはプロセス指向の手動メモリ管理、およびシステムプログラミングに使用されるプラットフォーム依存言語です。 C#は、デスクトップ、Webアプリケーション、ゲーム開発に使用されるオブジェクト指向のガベージコレクション、およびプラットフォーム非依存言語です。

JavaScriptのDOMノードの下でのXpath検索方法の詳細な説明、XPath式に基づいてDOMツリーから特定のノードを見つける必要があることがよくあります。あなたがする必要があるなら...

PHPでは、予測不可能なトークンを使用して、CSRF攻撃を効果的に防ぐことができます。特定の方法には次のものが含まれます。1。フォームのCSRFトークンを生成および埋め込みます。 2.リクエストを処理するときにトークンの有効性を確認します。

H5。ミニプログラムとアプリの主な違いは次のとおりです。技術アーキテクチャ:H5はWebテクノロジーに基づいており、ミニプログラムとアプリは独立したアプリケーションです。経験と機能:H5は軽量で使いやすく、機能が限られています。ミニプログラムは軽量で、インタラクティブが良好です。アプリは強力で、スムーズな経験があります。互換性:H5はクロスプラットフォーム互換性があり、アプレットとアプリはプラットフォームによって制限されています。開発コスト:H5には、開発コストが低く、中程度のミニプログラム、最高のアプリがあります。適用可能なシナリオ:H5は情報表示に適しており、アプレットは軽量アプリケーションに適しており、アプリは複雑な機能に適しています。

Vueアプリケーションを開発するときに、ルーターフォルダーの下にindex.jsファイルにvuerouterを登録する必要性があるため、ルーティング構成で問題が発生することがよくあります。特別...
