PHP関連のナレッジポイントの例のまとめ
この記事の例は、PHP クラスの関連知識ポイントをまとめたものです。参考のために皆さんと共有してください。詳細は次のとおりです:
Finalクラスとfinalメソッド
親クラスのメソッドがfinalとして宣言されている場合、サブクラスはメソッドをオーバーライドできません。クラスがfinal宣言されている場合、そのクラスを継承することはできません。
final class a{} class a{ final public function A(){} }
抽象クラスと抽象メソッド
abstract class a { public abstract function func(); } class A extends a{ public function func(){} }
① クラスはabstractを使用して抽象クラスとして宣言できます。抽象クラスはインスタンス化できず、親クラスとしてのみ使用されます。他のクラスの場合。
abstract class name{}
② メソッドは、abstract を使用して抽象メソッドとして宣言できます。抽象メソッドはメソッド ヘッダーを宣言するだけで済み、中括弧で囲んだメソッド本体は必要ありません。
abstract public function name($val);
③ クラス内に抽象メソッドがある場合、そのクラスは抽象クラスとして宣言する必要があります。
④ サブクラスが抽象クラスを継承する場合、そのサブクラスも抽象クラスであり続けない限り、そのサブクラスは親クラスのすべての抽象メソッドを実装できません。
⑤ サブクラスが抽象親クラスのメソッドを実装する場合、アクセス制御文字のスコープを減らすことはできず、メソッドのパラメータも一貫している(書き換える)必要があります。
インターフェース
インターフェースは、抽象クラスのより高いレベルの抽象化とみなすことができ、抽象クラスの特殊なケースであると言えます
interface a{ function func(); } class A implements a { function func(){} }
クラス: 属性、クラス定数、メソッド
抽象クラス:属性、クラス定数、抽象メソッド
インターフェイス: インターフェイス定数、抽象メソッド
① 抽象クラスと比較して、インターフェイスは「多重継承」を実装できます
class A implements a,b,c{}
② インターフェイスは1つのインターフェイスのみを継承できます
interface a extends b{}
③ メソッドは、抽象的な変更のないすべての抽象メソッドです。つまり、下位レベルのクラスは、インターフェイス メソッドを実装する (実装する) か、抽象メソッドとしても宣言されます
オーバーロード技術
1。存在しない属性を使用すると、クラス内の事前定義されたメソッドが呼び出され、データが処理されます。
属性が使用されないアプリケーション シナリオでは、次の処理が行われます
① 値: __get() を自動的に呼び出します。 class
② 代入:クラス__set()内で__get()を自動呼び出し
③ 存在するかどうか判定:クラス内で__isset()を自動呼び出し
④ 破壊:クラス内で__unset()を自動呼び出し
前提として、メソッドは事前定義されており、そうでない場合はエラーが報告されます
<?php class bee{ public $ol = array(); public function __get($key){ if(isset($this->ol[$key])){ return $this->ol[$key]; } return $key.' not exists'; } public function __set($key,$val){ $this->ol[$key] = $val; } public function __isset($key){ if(isset($this->ol[$key])){ return true; } return false; } public function __unset($key){ unset($this->ol[$key]); } } $obj = new bee(); echo $obj->one; echo '<br>'; $obj->one = 1; echo $obj->one; echo '<br>'; var_dump(isset($obj->one));
実行結果は次のとおりです:
one not exists 1 boolean true
2. メソッドのオーバーロード: 存在しないメソッドが使用される場合、事前定義されたメソッドが使用されます。動作を処理するためにクラス内のメソッドが呼び出されます。
メソッドには使用されません。アプリケーションのシナリオでは、次の処理を実行します
① オブジェクト内のアクセスできないメソッドを呼び出す: __call()
② 静的モードでアクセスできないメソッドを呼び出す: __callStatic ()
<?php class bee{ public function __call($name,$arr){ echo '<br>'; echo 'function '.$name.' not exist'; } static function __callStatic($name,$arr){ echo '<br>'; echo 'function '.$name.' not exist'; } /*public function __call($name,$arr){ $num = count($arr); if($num<1){ $name(); }else{ $name = $name.'_one'; $name($arr[0]); } }*/ } $obj->func(); bee::staFunc(); /*$obj->func(1); function func(){ echo '<br>'; echo 'no.0'; } function func_one($val){ echo '<br>'; echo 'no.'.$val; }*/
実行結果は次のとおりです:
function func not exist function staFunc not exist
注: 上記のメソッドはすべてパラメータ付きのマジック メソッドです
この記事が PHP プログラミングの皆様のお役に立てれば幸いです。

ホット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)

ホットトピック











多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています
