ホームページ >バックエンド開発 >PHPチュートリアル >入門クラスの記事_PHP チュートリアル

入門クラスの記事_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:24:03808ブラウズ

ホームページで更新された Class に関する記事をざっと見てみました (PHPE の記事 http://www.phpe.net/articles/389.shtml を参照) とても良い内容なので、ぜひ読んでみてください。 クラス探索~~ クラスの機能と実装を大まかに理解するのに半年かかりました。主な理由は、私が理解できる記事がないことです(私はこれまでOOのものに触れたことはありません)。 私の観点からは、PHP のクラスに関しては、それを表現するために使用されている言語が非公式であり、それが正しいかどうかはわかりません。 クラスの作成は簡単です。 PHP コード:---------------------------------------------- - ---------------------------------- クラス my_class {} ----------- -------------------------------------------------- -- ------------------授業って具体的にどんなことをするのですか?多くの人というものはブラックボックスであり、ここではそれを独立した全体と呼んでいます。クラス名だけはわかりますが、その中身はわかりません。では、このクラスをどのように使用するのでしょうか? まず第一に、パブリック変数 (専門用語では「プロパティ」と呼ばれます) が定義されているかどうかを知る必要があります。 第二に、その中でどのような関数が定義されているかを知る必要があります。それは専門用語で「メソッド」と呼ばれます。専門用語に非常に混乱したので、無視しました。 クラス内でパブリック変数を定義する方法とその機能 とても簡単です。my_class クラスの PHP コードを拡張してみましょう。-------------------------------------- ------ -------------------------------------- class my_class { var $ユーザー名; } - ------------------------------------------- ----- ----------------------------- 上記は非常に簡単で、var を使用するだけでパブリック変数を定義できます。 + スペース + 通常の変数名で構成されます。何に使われますか?関数について考えてみましょう。関数の外の変数にアクセスしたい場合、まずそれをグローバルにする必要がありますか?この効果についても同様で、このクラス内のすべての関数がアクセスできるようにする必要があります。関数と異なる点の 1 つは、この変数にはクラスの外部からもアクセスできることです。アクセス方法については後ほど説明します。後で外側から。もう 1 つの違いがあります。複雑なステートメントを使用してこの変数に値を割り当てることはできません (クラスを理解した後でルールを確認してください)。デフォルト値の PHP コードを指定します:------------------------------------------ --- ------------------------------------- class my_class { var $username = "深宇宙"; } ----------------------------------------------- -- ---------------------------------- パブリック変数が定義されました。次に、関数を定義します。 (いわゆる「メソッド」)。 PHP コード:---------------------------------------------- - ---------------------------------- class my_class { var $username = "Deep Space" function show_username( ) { } }------------------------------------------ -- -------------------------------- この定義関数は、形式的には通常の定義関数と変わりません。単純にして、 $username: PHP コード: ---------------------------------- を出力する関数を定義します。 -------------------------------------- クラス my_class { var $ユーザー名 = "深宇宙"; 関数 show_username($username) { echo $username; --------------------------------------------------この時点で混乱している人もいるかもしれませんが、笑、最も重要なことはここです、はっきりと見てください。 $username は 3 つになりました。どっちがどっち?~ 関数の行パラメータについては説明する必要はありませんね。この関数の機能は、line パラメータで受け取った値を出力することです。つまり、次の場合です。 PHP コード:-------------------------- -------- -------------------------------------- --------show_username (「豚の頭のディープスカイ」); ------------------------ --------------------------------------------次に、「Pig Head Deep Space」と印刷されます。それだけです。 この機能にアクセスするにはどうすればよいですか?上で述べたように、これは直接の show_username("Pig Head Deep Space"); ではありません。心配しないでください。さまざまなクラスがあります。以下のように: PHP コード:------------------------------------------ - ---------------------------------- $Name = new my_class(); -------------------------------------------------- ----------------------- これにより、上記の my_class クラスが初期化され、このオブジェクトが変数 $Name に割り当てられます。この変数は、次のように理解できます。クラス全員、笑。 クラス内の関数の使用: PHP コード: --------------------------------------------------- - -------------------------------------- $Name->show_username("豚の頭の深さ空間" ); - - - - - - - - - - - - - - - - - - - - - - - ---------------------------------- 混乱しているのですが、なぜこんなに複雑なのでしょうか?矢が欲しいですか?実際、それはとても鮮やかです。クラスは変数 $Name にすでに与えられていますよね?つまり、$Name はクラスを表し、矢印はクラス内の show_username 関数を指します。それはとても単純です。つまり、この関数はこのクラスにあり、他の関数にはありません。違いを示していると理解できます (笑)。 試しに「Pig's Head Deep Sky」という 4 つの単語を印刷してみてください。なぜそんなに複雑だと思いますか?関数も使えるんじゃないでしょうか?私は、「もちろん、そんな単純なことではメリットがわかりません。拡張を続けましょう」と言いました。 もう 1 つの疑問があります。なぜ今言及した「パブリック変数」は役に立たないのでしょうか。この関数がこのパブリック変数 var $username のデフォルト値を自動的に受け取らないのはなぜですか?それは次のように使用した場合です: PHP コード:----------------------------------------------------- -------------------------------------- $Name->show_username($username); -------------------------------------------------- ------------------------ 結果はどうなるでしょうか? 答えは出力されません。仮パラメータ $username に値を与えていないためです。 では、このパブリック変数をどのように使用するのでしょうか?このクラスを変更しましょう: PHP コード: -------------------------------------- ------ -------------------------------------- クラス my_class { var $username = "Deep Space "; function show_username() { echo $this->username; } -------- -------------------------------------- ----- ああ、いや、今回は顔パラメータがないんですか? $this-> も余分にあるので、めまいがします(笑)。実際、これは授業の最大の利便性の 1 つでもあります。 $this の役割: クラス内のパブリック変数または関数にアクセスします。アクセス?それほどプロフェッショナルですか?実際、$this->username は、var $username の代わりに使用され、パブリックであることを示します。アクセス可能、機能外のもの。 試してみましょう: PHP コード:------------------------------------------ ------ ----------------------------------- $Name->show_username(); ------ -------------------------------------------- ------ ----------------------------- ほら、やっと「深宇宙」って文字が出てきました、わはは。 「Deep Space」という文字を印刷したくないのですが、「Pig Head Deep Space」と印刷したいのですが、どうすればよいですか?それは非常に簡単で、このパブリック変数を再割り当てします。私はあなたに感銘を受けました。 PHP コード:---------------------------------------------- -- ---------------------------------- $Name->username = "Pig Head Deep Sky"; ---------------------------------------------------- ------------------------- この意味わかりますか? $Name->username は、クラス内のこのパブリック変数を表します。等号の割り当てについては説明する必要はありません。 PHP コードをもう一度出力してみましょう: -------------------------------------- -- ----------------------------------------------- $名前->show_username() ---- -------------------------------------- ----------- ------------------------ はは、ついに『Pig Head Deep Space』を印刷しました。悪くない、仮パラメータなしで出力された値を任意に変更できるのは非常に便利です~~。 しかし、名前を出力するだけでは退屈すぎるので、このクラスを拡張して Welcome: PHP code:----- ------ という名前の関数を作成しましょう。 -------------------------------------------- ------ -------- class my_class { var $username = "Deep Space"; function show_username() { echo $this->username } function Welcome() { } } ---- ------ -------------------------------------------- ------ -------------------- さて、どの機能を実装するのが最適でしょうか?簡単にするために、名前の前に「ようこそ」を付けるだけです。PHP コードは次のとおりです。---------------------------- --- --------------------------------------------------- --- - class my_class { var $username = "Deep Space"; function show_username() { echo $this->username; } function Welcome() { echo "Welcome"; } - --- --------------------------------------------------- --- ----------------------------- $this を見るのはこれで 2 回目ですか? $this->show_username(); これは何に使用されますか?実際、これは show_username 関数を呼び出すだけで、 $this を使用して、この関数が他の場所 (Welcome 関数など) ではなくクラス内にあり、Welcome 関数と並行していることを示します。 Welcome 関数によって実装される関数は非常に単純で、最初に 2 つの単語「Welcome」を出力し、次に show_username 関数を実行して名前を出力します。 この関数を試してみましょう: PHP コード:------------------------------------------ --- -------------------------------------- $Name->ようこそ(); -- -------------------------------------------- ----- ------------------------------- ほら、「深宇宙へようこそ」という文字がプリントされていますね。 。 「ピッグヘッド深宇宙へようこそ」を印刷したいのですが、どうすればよいでしょうか?私は確信しているので、パブリック変数 var $username に値を与えてみましょう: PHP コード: ----------------------------- -------------------------------------------------- - $Name->username = "ピッグヘッドディープスカイ" ------------------------------------ ----------- -------------------------------------- ------ 次にウェルカム メッセージを出力します: PHP コード :------------------------------------- -------------- ----------------------------- $Name->ようこそ(); ---------- -------------------------------------------- ------------------------ ------------------- ふふ、やっと『ピッグヘッド深宇宙へようこそ』が印刷できました。 どうでしょうか?クラスの使い方を理解していますか?利点は、$this で指定する限り、クラス内の任意の関数を呼び出すことができ、このパブリック変数の値をクラス内の関数で使用できることです。 ......非常に多くのアプリケーションがあり、あなたが発見するのを待っています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/532176.html技術記事ホームページで更新された Class に関する記事をざっと見てみました (PHPE の記事 http://www.phpe.net/articles/389.shtml を参照) とても良い内容なので、読むことをお勧めします。 カテゴリの探索~~...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。