[PHP 学習 100 日おめでとう] 4 日目: PHP マジック関数を完了する_PHP チュートリアル
php
関数
空
開ける
強力な
私たち
時間
花
魔法
この号のモットー:
私たちの才能が十分に強くない場合、シングルスレッドの技術マスターになるためにエネルギーの 500% を費やすのではなく、より少ないエネルギーを費やして賢いマルチスレッド プログラマーになる方が良いでしょう。
この問題のたわごと:
湖南衛星テレビ「私は歌手です」の最初のシーズンが終了し、歌手の王が誕生しました。おそらく、多くの人がキング・オブ・シンガーについてさまざまな考えを持っているかもしれませんが、Yu Quanが確かにキング・オブ・シンガーとして「公式に」発表され、「誰もが認めている」ことは否定できません。私の個人的な分析は次のとおりです。
関数__construct()
自エコー「初めて爆発しました」
} $newObj->mydo();
することができます。
関数__construct()
}
関数 mydo()
;
} exit を使用すると、mydo メソッドは実行されないことに注意してください。つまり、手動で爆発させることは不可能になります。 C#のresponse.endに似ています。
このコンストラクターは主にクラスの継承で使用され、ページ出力コンテンツで直接使用してパラメーターの数に基づいてさまざまなコンテンツをロードすることもできます。
(2)、__destruct() デストラクター
デストラクターの原理を説明すると、オブジェクトが削除されるか、オブジェクトの操作が終了すると、このメソッドが自動的に呼び出され、リソースの解放などの操作を実行できます。
実際、php を使用する場合は、この関数にまったく注意を払う必要はありません。 Zend はすべてのリソースの解放を担当しており、PHP はクラス内で大規模なデータのスーパー ループを実行するのには適していません。そうしないと、本当に爆発してしまいます。一般に、実際のプロジェクトでは、ログの記録などの小さなことは継承によって行われます。クラス内で処理するデータが数百万ある場合、それは大きなプロジェクトを受け取り、それを公開しようとしているか、夢を見ているかのどちらかです。
(3)、__autoload 自動読み込み
この機能は 1 か所でのみ役立ちます。関数ファイルを自動でロードする機能です。
[php]
クラスフルーツ
$ apple object = new apple (); // ここで、啃 Apple .php に必要な関数が自動的にロードされます
その他
= $ Durian = new durian () // ここでは余分な PHP ファイルはロードされません ;
} 関数 __autoload()
(Require (「リンゴの機能には .php が必要です」);
}
}
$newObj = 新しい果物(1)
;
上記の例は、理解しやすいように中国語で書かれているので、直接コピーして実行しないでください。
(4)、__電話
存在しないクラスの関数を呼び出す場合は、メソッドを使用する必要があります。__call が失敗した場合は、親クラスのメソッドが呼び出されます。
個人的に、この関数は PHP で最も強力な関数だと思います。これから、たとえば次のような非常に明るいコードを書くことができます:
[php]
クラスデータ
{
関数 __call($name,$arguments)
{
//$name はメソッド名を表します $arguments はパラメータを表します
if($name=="getSqlServer")
//mysql に関連する SQL ステートメントを実行します
}
}
}
$newObj = 新しいデータ();
}
$newObj = 新しいデータ();
{
$this->myname="偽シェニーシン";
$obj2=$newObj をクローンします。
{
「これはニュース オブジェクトです。タイトルしか提供できません」を返します。
関数__sleep()
{
エコー「先輩は機密情報なので連載は許可しません」
var_dump($obj);
$newObj->getSqlServer("select top 10 * from table1"); //getSqlserver このメソッドは事前定義する必要はありません
$newObj->getMysql("select * from table1 limit 0,10");//mysql には上位 n 構文がないことに注意してください
もちろん、上記は 1 つの例から推論できます。特に、仮想エンティティまたは仮想クラスを構築する場合に、高度に構成可能なコード記述を実現できます。
(五)、__get、__set
プロパティが未定義の場合、取得または設定時に自動的に呼び出されます
[php]
クラスデータ
{
function __get($name) //$name は属性名を表します
{
If($name=="H7N9") //変数が H7N9 で定義されていない場合は __get が呼び出されます 定義されている場合は入りません
️ -- 「鳥インフルエンザ」を返します。
その他
アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト
} エコー $newObj->H7N9;
エコー $newObj->H100N30;
この方法を使用しても、明るいコードを書くことができます
(6),__clone()
オブジェクトのクローン作成時に実行される関数
[php]
クラスデータ
{
var $myname="シェニーシン";
関数__clone() }
}
$newObj = 新しいデータ();
エコー $newObj->私の名前 エコー $obj2->私の名前
この関数は実際のプロジェクトにもあります。たとえば、ニュース Web サイトを構築している場合、ユーザーは同じニュースをコピーして収集することができます。 ) 特定の識別値を変更する関数。
など
[php]
クラスニュース
{
var $newsid=1
関数__clone()
{
//データベース内の ID 1 のニュースを実行し、引用符で囲むか、コレクション フィールドに +1 を追加します
}
}
$newObj = 新しいニュース
;
$news2=clone $newObj;//ついに外部サイトユーザーが当サイトのニュースを収集しに来てくれました、とても嬉しいです
(7),__toString()
使用方法は例を見れば簡単です
[php]
クラスニュース
{
var $newstitle="ケリー米国務長官、中国訪問のため北京に到着";
Function __toString() //この関数を追加しないとオブジェクトを文字列として出力できません }
}
$newObj = 新しいニュース
;
echo $newObj //うーん。 。間違えて、このアイテムが文字列ではないことを忘れていましたが、それでも爆発する可能性があります
(8)、__寝て、__起きて
この関数は、クラスがシリアル化または逆シリアル化されるときにのみ自動的に呼び出されます。見てください
[php]
クラスニュース
{
var $user1="卞工";
var $user2="ブタのガンリー";
var $user3="先輩";
}
}
$newObj = 新しいニュース
;
$obj=シリアル化($newObj);
上記は php の魔法の機能です。実際、これは php の最も優れた部分の 1 つです。
後の実際のプロジェクトで非常に男らしくセクシーなプログラムを作成するには、まずこれらの魔法の関数を理解する必要があります。
http://www.bkjia.com/PHPjc/477562.html
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
レポ:チームメイトを復活させる方法
1 か月前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
1 か月前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
4週間前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
4週間前
By DDD

ホットツール

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

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

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

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

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

ホットトピック
Gmailメールのログイン入り口はどこですか?
7364
15


Java チュートリアル
1628
14


CakePHP チュートリアル
1353
52


Laravel チュートリアル
1265
25


PHP チュートリアル
1214
29



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

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

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

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