ホームページ > バックエンド開発 > PHPチュートリアル > PHPクラス(クラス)入門チュートリアル ページ1/2_PHPチュートリアル

PHPクラス(クラス)入門チュートリアル ページ1/2_PHPチュートリアル

WBOY
リリース: 2016-07-21 15:44:25
オリジナル
1015 人が閲覧しました

私の観点からは、PHP のクラスに関しては、それを表現するために使用されている言語が非公式であり、それが正しいかどうかはわかりません。

クラスの作成は簡単です。

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

class my_class{}
?>

このクラスは正確に何をするのでしょうか?多くの人はそれをブラックボックスだと言いますが、私はここではそれを独立した全体と呼んでいます。クラス名だけはわかりますが、その中身はわかりません。では、このクラスをどのように使用するのでしょうか?
まず第一に、その中に定義されたパブリック変数 (専門用語では「プロパティ」と呼ばれます) があるかどうかを知る必要があります。
2 番目: その中でどのような関数が定義されているかを知る必要があります。それは専門用語で「メソッド」と呼ばれます。
専門用語ばかりで混乱したので、無視しました。

クラス内でパブリック変数を定義する方法とその機能?

とても簡単です。my_class クラスを拡張しましょう
コードをコピーします コードは次のとおりです:

class my_class
{
var $username
}
?>

上記の「非常に簡単」を見て、var + スペース + 通常の変数名だけで構成されるパブリック変数を定義しました。何に使われますか?関数について考えてみましょう。関数の外の変数にアクセスしたい場合、まずそれをグローバルにする必要がありますか?この効果についても同様で、このクラス内のすべての関数がアクセスできるようにする必要があります。関数と異なる点の 1 つは、この変数にはクラスの外部からもアクセスできることです。アクセス方法については後ほど説明します。後で外側から。もう 1 つの違いがあります。複雑なステートメントを使用してこの変数に値を割り当てることはできません (クラスを理解した後でルールを確認してください)。デフォルト値を指定します
コードをコピーします コードは次のとおりです:

class my_class
{
var $username="deep space"
}
?>
;
OK、定義 パブリック変数ができたので、関数 (いわゆる「メソッド」) を定義します。
コードをコピー コードは次のとおりです:

class my_class
{
var $username="deep space"

function show_username()
{
//関数: メソッド-> 達成される効果
}
}
?>

この定義関数は、形式的には通常の定義関数と変わりません。シンプルにして、$username を出力する関数を定義します。
コードをコピー コードは次のとおりです:


class my_class
{
var $username="deep space";
function show_username( $username)
{
//Print
echo $username;
}
}

?>

この時点で混乱している人もいるかもしれません(笑)、最も重要なことはここです。 。 $username は 3 つになりました。どれだ~~
関数の行パラメータについては説明する必要はありませんね。この関数の機能は、line パラメータで受け取った値、つまり次の場合を出力することです:
コードをコピー コードは次のとおりです:

show_username("Pig Head Deep Sky");
?>

すると、「Pig Head Deep Space」と単純に印刷されます。
この機能にアクセスするにはどうすればよいですか?上で述べたように、これは直接の show_username("Pig Head Deep Space"); ではありません。心配しないでください。さまざまなクラスがあります。以下のように:
コードをコピーします コードは次のとおりです:

$Name=new my_class()
?> これにより、上記の my_class クラスが初期化され、次のようになります。このように、オブジェクトは変数 $Name に割り当てられます。この変数はクラス全体を表します。
クラスで関数を使用します:



コードをコピーします
コードは次のとおりです: $Name->show_username("Pig Head Deep Space")
?>


混乱しているのですが、なぜそんなに複雑なのでしょうか?矢が欲しいですか?実際、それはとても鮮やかです。クラスは変数 $Name にすでに与えられていますよね?つまり、$Name はクラスを表し、矢印はクラス内の show_username 関数を指します。それはとても単純です。つまり、この関数はこのクラスにあり、他の関数にはありません。違いを示していると理解できます (笑)。
「Pig Head Deep Sky」という 4 つの単語を印刷してみてください。なぜそんなに複雑だと思いますか?関数も使えるんじゃないでしょうか?私は、「もちろん、そんな単純なことではメリットがわかりません。拡張を続けましょう」と言いました。
別の質問: 先ほど述べた「パブリック変数」はなぜ役に立たないのですか?この関数がこのパブリック変数 var $username のデフォルト値を自動的に受け取らないのはなぜですか?つまり、次のようにします:
コードをコピー コードは次のとおりです:

$Name->show_username($username)?>結果は? 回答 出力はありません。仮パラメータ $username に値を与えていないためです。では、このパブリック変数をどのように使用するのでしょうか?
このクラスを変更しましょう:


コードをコピーします
コードは次のとおりです: class my_class
{
var $username="deep space";
function show_username()
{
echo $this->username;
}
}


今回は顔パラメータがありませんね。 $this->も余分にあるので、めまいがします(笑)。実際、これは授業の最大の利便性の 1 つでもあります。
$this の役割: クラス内のパブリック変数または関数にアクセスします。
訪問しますか?それほどプロフェッショナルですか?実際、$this->username は、var $username の代わりに使用され、パブリックであることを示します。アクセス可能、機能外のもの。
試してみましょう:



コードをコピーします

コードは次のとおりです:
$Name->show_username() ?> を見て、最後に「Deep」を出力します。スペース」 この二文字、わはは。
「深宇宙」という言葉を印刷したくないのですが、「豚の頭の深宇宙」と印刷したいのですが、どうすればよいですか?それは非常に簡単で、このパブリック変数を再割り当てします。私はあなたに感銘を受けました。



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


$Name->username="Pig Head Deep Space" の意味が理解できますか?これ? $Name->username は、クラス内のこのパブリック変数を表します。等号の割り当てについては説明する必要はありません。 もう一度印刷しましょう


コードをコピーします

コードは次のとおりです:


$Name->show_username()?>
ヘッドディープスペース」。悪くないです、とても便利です、仮パラメータなしで出力された値を任意に変更できます~~。 しかし、名前を出力するだけでは退屈すぎるので、このクラスを拡張して Welcome という関数を作成しましょう:

コードをコピーします

コードは次のとおりです:

class my_class
{
var $username="深宇宙"; function show_username() { echo $this->username; function Welcome()
{
}
}
?> 、どのような機能が実装できるのでしょうか?簡単にするには、名前の前に「ようこそ」という単語を付けます



コードをコピーします

コードは次のとおりです:


class my_class
{
var $username="深宇宙" ;
function show_username()
{
echo $this->username;
} function Welcome() { echo "ようこそ"; $this->show_username();
}
}
?>


$this を見るのはこれが 2 回目ですか? $this->show_username(); 何に使用されますか?実際、これは show_username 関数を呼び出すだけで、$this を使用して、この関数が他の場所 (Welcome 関数など) ではなくクラス内にあり、Welcome 関数と並行していることを示します。
Welcome 関数によって実装される関数は非常に単純で、まず「ようこそ」という 2 つの単語を出力し、次に show_username 関数を実行して名前を出力します。
この機能を試してみましょう:



コードをコピーします

コードは次のとおりです:

$Name->Welcome();
?>

見てください、「深宇宙へようこそ」という4つの文字が出力されています。
しかし、「ピッグヘッド深宇宙へようこそ」を印刷したいのですが、どうすればよいでしょうか?私は確信しているので、パブリック変数 var $username に値を与えましょう:
コードをコピー コードは次のとおりです:

$Name->username="Pig Head Deep Space";
?>

次に、ウェルカム メッセージを出力します:
コードをコピーします コードは次のとおりです:

$Name->Welcome();
?>

ねえ、最後に「深宇宙へようこそ」を印刷してください。
どうですか?クラスの使い方を理解していますか?利点は、$this で指定する限り、クラス内の任意の関数を呼び出すことができ、このパブリック変数の値をクラス内の関数で使用できることです。 ......非常に多くのアプリケーションがあり、あなたが発見するのを待っています。
以下は非常に古い記事ですので、読んでいただくことをお勧めします。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/320548.html技術記事私の観点からは、PHP の Class に関しては、それを表現するために使用されている言語が非公式であり、それが正しいかどうかはわかりません。 クラスの作成は簡単です。 コードをコピーします コードは次のとおりです: ?php c...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート