php5 でのクラスの学習
コードをコピー コードは次のとおりです:
public $name = 'value '; // プロパティ
public function name() // メソッド
{ echo 'value' }
}
?>
その中で、プロパティとメソッドは、public、protected、private の 3 つの異なるキーワードを使用して、プロパティとメソッドの範囲をさらに拡張できます。違いは、private キーワードを持つ属性とメソッドの場合、それらが属するクラス内のメソッドのみであることです。 protected キーワードを使用して属性とメソッドを呼び出すことができます。また、それ自体に加えて、 public キーワードを使用してプロパティとメソッドをオブジェクトから呼び出すこともできます。この最大の利点は、すべてのプロパティとメソッドに説明的な機能が追加され、コード構造の整理が容易になることです。 const キーワードは最初にスキップされ、後で static とともに説明されます。
静的キーワードは、public、protected、private とは異なる別のタイプのキーワードです (つまり、public、protected、private と組み合わせて使用できます):
コードをコピー
コードは次のとおりです:
echo 'value'; } } } ":: " シンボル呼び出しを public、protected、private と組み合わせると、呼び出しの権限を区別することもできますが、通常は public と組み合わせます。前述の定数キーワード const は public static 型である必要があるため、定数のみを呼び出すことができます。 self::NAME、TEST::NAME の形式で、後続の __construct、__destruct、およびその他のメソッドは静的です。
クラスの構造部分で、最後に導入された 2 つのキーワードは、abstract とfinal です。abstract キーワードは、このクラスがそのサブクラスによってオーバーライドされる必要があることを示し、final キーワードは、このクラスがオーバーライドされてはならないことを示します。サブクラスのオーバーライドでは、これら 2 つのキーワードの機能はまったく逆になります。抽象メソッドを含むクラスは抽象クラスと呼ばれます。
クラスを使用するには、主に 2 つの方法があります。
クラスを使用するには、主に 2 つの方法があります。1 つは new キーワードを使用する方法、もう 1 つは "::" を使用する方法です。シンボル:
PHP コード
コードをコピー
コードは次のとおりです:
class TEST
{
public static function name()
$test->name()
//方法 2: 「::」記号を使用します。 🎜>テスト::名前();
コードをコピー コードは次のとおりです: } } インターフェース TEST3 // インターフェース { パブリック関数名2 (); ?> コードをコピー コードは次のとおりです: コードをコピー コードは次のとおりです:
(1): new キーワードを使用してインスタンス化します。上記の $test は、TEST クラスをインスタンス化することによって生成されるオブジェクトであり、$test オブジェクトの名前と呼ばれます。 。 方法。
(2): new キーワードを使用してクラスを使用する場合、$this を使用してクラス自体を参照できます。
(3): 「::」記号を使用するための前提条件は、メソッドに static キーワードが必要であることです。 new キーワードを使用する場合、呼び出されるメソッドには public キーワードが必要です (メソッドに static キーワードがない場合)。 public キーワード、protected、private、デフォルトは public)
(4): new キーワードを使用して同じクラスを複数の異なるオブジェクトにインスタンス化できますが、それらは互いに分離されます。使用される場合、メソッドは複数の使用間で共有されます:
PHP コード
$this ->name = $this->name 1;
} }
}
$test1 = new TEST1; name1 == 1
$test2->name(); //$name1 == 1
/*------------ ------- -------------------------*/ static $name = 0;
public static function name()
{ TEST2::$ name = TEST2::$name 1; }
} >}
TEST2 ::name(); // $name == 1
TEST2::name(); == 2
?>
クラスの関係:
クラス間の関係には主に抽象化、インターフェース、継承が含まれます:
PHP コード
コードをコピー
コードは次のとおりです:
abstract class TEST1 // Abstract
{
abstractパブリック関数名1();
パブリック関数名2()
{
} 🎜>
(1) abstract キーワードを持つクラスは抽象クラスであり、abstract キーワードを持つメソッドは抽象クラスでオーバーライドされる必要があります。
(2) インターフェース キーワードを持つクラスはインターフェースです。インターフェース内のすべてのメソッドはサブクラスでオーバーライドされる必要があります。
(3) classA extends classB または classAimplements classB という単語が付いているものは継承であり、extends は別のクラスを継承することを意味し、implements は一度に 1 つのクラスのみを拡張できますが、複数のインターフェイスを実装できます。
(4) 抽象クラス、インターフェイス、および最終的に継承および実装されるメソッドはパブリックである必要があります。
継承処理中に、サブクラスは親クラスのメソッドを同じ名前で上書きします。このとき、サブクラス内で親クラスのメソッドを呼び出す必要がある場合は、親クラスを使用できます。キーワードまたはクラス名と "::" シンボル呼び出し:
PHP コード
class TEST1 extends TEST2
{ public function name()
{ echoparent::name2();
}
}
class TEST2
{
public function name2()
{
echo 'value2';
}
}
$test = new TEST1;
$test->name();
?>
クラス内の「::」メソッドの役割の別の説明です。インスタンス化がない場合です。特定の状況下で、定数 (実際には静的とも理解できます)、静的なプロパティおよびメソッドを呼び出します。もう 1 つは、self、parent、およびクラス名を通じてクラス内に便利な呼び出しチャネルを確立することです。
オブジェクト間の関係は主に、「== 等しい」、「=== すべて等しい、等しくない、クローン」です:
PHP コード
クラス TEST 🎜>$test2 = 新しい TEST;
$test3 = $test; 1;
echo $test1 == $test2 ? true : false;
echo $test1 == $test3 ? : false; // true
echo $test2 == $test3 ? true : false; // true
echo $test1 === $test2 ? // false
echo $test1 = == $test3 ? true : false ; // true
echo $test2 === $test3 ? true : false;
(1)クラスは同じ属性とメソッドを持ちます。つまり、「==」は等価です。
(2) 「===」と等しくなるには、2 つのクラスが同じオブジェクトを指している必要があります。
クローンは特殊です。上記の例では、$test3 = $test1 のプロセスは $test3 に $test1 オブジェクトのコピーを与えませんが、取得する必要がある場合は $test3 が $test1 を指すようにします。 $test1 のコピーの場合は、clone キーワードを使用する必要があります:
PHP コード
コードをコピー
コードは次のとおりです:
$test3 = クローン $test1;
クラスのフック:
__autoload:
は関数名であり、オブジェクトをインスタンス化するときにクラスのプリロードされていない場合、このフックは次のようになります。と呼ばれた。
__construct
クラスがインスタンス化されるとき、呼び出されるフックはいくつかの初期化操作を実行できます。
__destruct
クラスが破棄されるときに呼び出されるフック。
__call
オブジェクトが存在しないメソッドを呼び出そうとすると、フックが呼び出されます
__sleep
serialize() 関数を使用してクラスをシリアル化する場合 これフックは呼び出されます
__wakeup
クラスを逆シリアル化するために unserialize() 関数が使用されるとき、このフックは呼び出されます
__toString
オブジェクトが変換されるとき文字列に変換すると、このフックが呼び出されます (echo など)
__set_state
クラスを操作するために var_export() 関数が呼び出される場合、このフックは
__clone
clone キーワードを使用してクラスをコピーすると、このフックが呼び出されます
__get
クラスの属性値を取得すると、このフックが呼び出されます
__set
クラスの属性値を設定する場合、このフックが呼び出されます
__isset
isset() 関数を使用してクラスの属性値を決定する場合、このフック
__unset
は、unset() 関数を使用して属性値を破棄するときに呼び出されます。
クラスのヒント: インスタンス内の
クラスについて話すときは、次のように使用できます。このフォームは、パラメータを __construct フックに渡します:
PHP コード
class TEST
{
public function __construct($para) 🎜> }
}
$test = new TEST('value') ; // 表示値
?>
foreach() 関数は、クラスまたはオブジェクトをテストするために使用できます。トラバースすると、public、protected のステータスが検査されます。
PHP コード
コードをコピー
コードは次のとおりです: class TEST 🎜> public $property3 = 'value3' ;
public function name()
{ foreach($this as $key => $value )
{
print "$key => $valuen"; 🎜> {
PHP コード
コードをコピー
コードは次のとおりです:
class TEST1
{
パブリック関数名(TEST2 $para)
{ }
>}
class TEST2
{
}
$test2 = new TEST2;
$test1 = new TEST1;
$test1->name('value ');このパラメータは TEST2 のインスタンス化後にオブジェクトである必要があるため、エラーが報告されます。
?> > PHP4 互換の構文:
PHP5 クラスは PHP4 と下位互換性があります。これらの PHP4 時代の構文も継承されていますが、PHP5 環境での使用は推奨されません。
(1) var default 属性を使用すると、自動的に public に変換されます。
(2) クラス名をコンストラクターとして使用します。__construct コンストラクターがない場合は、クラスと同じ名前の関数をコンストラクターとして検索します。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











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

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

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

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

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
