ホームページ バックエンド開発 PHPチュートリアル PHPオブジェクト指向$thisキーワード使い方詳細解説_PHPチュートリアル

PHPオブジェクト指向$thisキーワード使い方詳細解説_PHPチュートリアル

Jul 13, 2016 am 10:49 AM
php this 導入 キーワード 同級生 存在する 物体 私たち 記事 使用法 詳しい説明 のために

この記事では、PHP クラスでよく使用される this キーワードを紹介します。次に、オブジェクト指向 PHP クラスでの $this キーワードの使用法を簡単に分析します。このチュートリアルがすべての人に役立つことを願っています。学生。

オブジェクトの外部のオブジェクト メンバーのプロパティとメソッドへのアクセスは、オブジェクトへの参照を使用して行われることは以前に知っていました。オブジェクト内で、メンバー メソッドが他のメンバー プロパティまたは独自のオブジェクト内のメンバー メソッドにアクセスするときは、特別なオブジェクト参照 "$this->value" を使用してアクセスする必要があります。$this 参照は、そのメンバーがどのオブジェクトに属しているかを表します。 . オブジェクトであり、オブジェクトのメンバー メソッド内でのみ使用できます。

PHP クラスとオブジェクトの変数と属性の名前の競合と不確実性の問題を解決するために、現在のオブジェクトを呼び出すために "$this" キーワードが導入されました。

クラス内の現在のオブジェクトのプロパティとメソッドを呼び出すときは、「$this->」キーワードを使用する必要があります。コンストラクター内の $this は、メソッド do で作成された新しいオブジェクトを参照します。オブジェクトに属しておらず、$this キーワード値も使用されません。 $this キーワードを使用すると、クラス内のオブジェクトのプロパティまたはメソッドを呼び出すことができます。

1. 変数を呼び出す

例:

コードは次のとおりです コードをコピー
クラスユーザー{
プライベート $n;
関数 __construct(){
$name="マイク";
echo $this->n=$name;
}
}
$p=新しいユーザー();
?>

2.呼び出し方法

例:

コードは次のとおりです コードをコピー

クラスカル{
パブリック関数 sum($a,$b){
$a+$b を返します;
}
パブリック関数 prt($a,$c){
$a*$c を返します;
}
パブリック関数の結果($a,$b,$c){
$a=$this->sum($a,$b);
$this->prt($a,$c);
を返す }
}
$c=新しいcal();
echo "(2+3)*10= " .$c->result('2','3','10');
?>


次の例を見てみましょう。$this は何をしているのでしょうか?

コードは次のとおりです コードをコピー
クラスの人{
//以下は人々のメンバー属性です
var $name //その人の名前
var $sex //人の性別
var $age //人の年齢
//属性名 $name、性別 $sex、年齢 $age に値を割り当てるコンストラクター パラメーターを定義します
function __construct($name="", $sex="", $age=""){
$this->name=$name
$this->セックス=$セックス
$this->年齢=$年齢
}
//この人の話し方は、彼自身の属性を伝えます
関数say() {
echo "私の名前: ".$this->name" 性別: ".$this->性別" 私の年齢: ".$this->age"
}
//オブジェクトのクローン作成時に自動的に呼び出されるメソッド。クローン作成後に元のオブジェクトの内容を変更したい場合は、__clone()で元のオブジェクトを書き換える必要があります
プロパティとメソッド
関数 __clone(){
//$this はコピー p2 を指し、$that は元の p1 を指します。したがって、このメソッドではコピーの属性が変更されます。
$this->name="私は偽の $that->name です"; $this->年齢=30; }
}
$p1=新しい人("張三", "男性", 20); $p2=$p1 をクローンします。 $p1->say(); $p2->say(); ?>


上記の例の出力:

実行結果
私の名前: Zhang San 性別: 男性 私の年齢: 20
私の名前:偽張三です 性別:男性 年齢:30歳

上記のコードで $this が何を行うかを見てみましょう:

1. $this->name などのオブジェクト内のメンバーにアクセスします

2. オブジェクトの他のメソッドにアクセスします。たとえば、say() メソッドの外側の $this->run() メソッドや $this->eat("apple") メソッドにアクセスします。

もう 1 つの注目すべき点は、ローカル変数とメンバー属性は同じ名前を持つことができますが、スコープとアクセス メソッドが異なることです。たとえば、eat() メソッド本体の $name はローカル変数と同等であり、そのスコープは次のとおりです。 Eat メソッド内に限定されており、 PERSON のメンバー属性宣言部分の $name はグローバル変数に相当し、他のメソッドでは $this->name の形式でアクセスできます。

コードは次のとおりです コードをコピー

クラス ユーザー名
{
//属性を定義する
プライベート $name
//コンストラクターを定義します
関数 __construct( $name )
{
$this->名前 = $name; //このポインタはここで使用されています
}
//デストラクター
関数 __destruct(){}
//ユーザー名のメンバー関数を出力します
関数 printName()
{
print( $this->name ); //PHP キーワードこのポインターが再度使用されます
}
}
// オブジェクトをインスタンス化します
$nameObject = 新しいユーザー名
( "ヘイエルレン" ); //印刷を実行
$nameObject->printName();
//出力: ヘイエルレン
// オブジェクトの 2 番目のインスタンス化
$nameObject2 = 新しいユーザー名( "PHP5" ); //印刷を実行
$nameObject2->printName(); //出力: PHP5
?>



http://www.bkjia.com/PHPjc/632686.html

www.bkjia.com

http://www.bkjia.com/PHPjc/632686.html技術記事この記事では、PHP クラスでよく使用される this キーワードを紹介します。次に、オブジェクト指向 PHP クラスでの $this キーワードの使用法を簡単に分析します。このチュートリアルがすべてのユーザーに役立つことを願っています。生徒たち…
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles