ホームページ  >  記事  >  バックエンド開発  >  100日で楽しくPHPを学ぶ(7)】PHPコンストラクター講座:父と子のわだかまり

100日で楽しくPHPを学ぶ(7)】PHPコンストラクター講座:父と子のわだかまり

WBOY
WBOYオリジナル
2016-08-08 09:31:10730ブラウズ

前戯部分:

1. 一文要約php:

その中でも、Webアプリケーションの作成に非常に適したもので有名なものがこれです。 wordpressはphpによって開発されています。 Web 以外のアプリケーションに php を使用することは考えないでください。

この記事に関連するいくつかのキーワードの説明:

Gaoshangda: 高級な雰囲気と高級感の略。インターネットは人気がありすぎ、ネチズンは全員が不幸だと言います。ただし、このバージョンはオブジェクト指向が弱すぎるため、php4 を無視するのが正しいです。

PHP5 を開発したい場合は、最も広く使用されており比較的安定しているバージョン 5.3 をダウンロードしてください。 5.0~5.2は直接削除してください。5.4以降は注意して使用してください。1つはまだ普及していないため、もう1つは5.4以前のバージョンと互換性がないためです(インターネット上の多くのオープンソースライブラリはバージョンと互換性がありません)。 5.4以降)

PHP6 私からダウンロードできますか?

PHP の学習について:

PHP 構文を簡単に学習したい場合は、Windows での PHP コンパイラーとインストーラーを使用してください。ワンクリックでインストールと構成が簡単に学習を開始できます。 Linux 上で直接 PHP を設定するのを待ちます。これを修正したら、もう php には興味がありません。

商用環境に PHP をインストールする方法を学んだ場合は、Linux で PHP を構成および開発する方法を学ばなければなりません。結局のところ、多くの優れたサードパーティ サポートは Linux にネイティブであり、Linux は効率と安定性の点でも最高です。もちろん、IIS7 での PHP のサポートは優れていると言われていますが、退屈なのであまり真剣に考えないでください。

2. テキスト部分:

コンストラクターとは

各言語(java、c#、phpなど)のコンストラクターの特徴は多少異なります。各オブジェクトの初期化時に自動で実行できる関数です。この関数は特に設定する必要はありませんが、設定しておくと自動的に実行されます。さらに重要なのは、この関数を外部から手動で呼び出すことができないことです。

一般的に、ほとんどの言語ではコンストラクター名とクラス名は同じですが、PHP では以前はこのようでしたが、それでも同じである可能性があります。同じ名前の関数名を使用することは推奨されなくなりました。

なぜコンストラクターが必要なのですか

それが独立した単一クラスの場合。実際、コンストラクターは「便利な」役割も果たします。

例:

class A

{

function A()

{

// ここで実行します いくつかの初期化作業

}

}

これ意味わかりますか?実際、A() 内の内容を外部から呼び出すことは意味がありません。

では、コンストラクターはいつどこで意味をなすのでしょうか?実際、これはオブジェクトとオブジェクトの継承に関するものですが、このクラス ライブラリは中国には類似した製品がありません。他の人に理解されないように、クラス ライブラリの構造を作成しました。非常に複雑です。その後、誤って複数のプログラマーに販売してしまいました。しかし?私は本当に統計を取りたい、つまり、自分のクラス ライブラリを誰が使用したかを知り、自分自身に満足できるようにしたいので、基本クラス ライブラリを次のように設計しました:

class Niu Niu //Thisこれは大きなカテゴリのライブラリ名です {{

Function Niu Niu () {

// ここで現在のユーザーのローカル情報をこっそり収集し、密かに私のメールボックスに送信されます。これは非常に非倫理的です。それは?

}

//以下は、外部から呼び出すことができる他の高レベルの関数とメソッドです。

と省略します }

ここでは、プログラマーが私の関数を使いたい場合、あなたは次のように仮定します。私のクラスライブラリを継承する必要があります。そうしないと、呼び出し方法がまったく理解できなくなります:

Class 牛牛 extends 牛牛 //これは php

{

/ の継承書き込みメソッドであることに注意してください。 /それはあなた次第です。とにかく、親クラスのコンストラクターをすでに設定しているので、それを行う前に情報を収集します。

}

つまり、皆さんは次のことを知っています:

1. コンストラクターは便宜のために作成されたものではありません

2. オブジェクト指向の構造設計に使用されます

3. コンストラクターの主な用途は、その継承、制御性、システム化であり、製品化と商用化が使用の主な目的です

4. 誰もが IOS の開発方法を知っていれば、誰もがあなたに気づくでしょう。作成したビューは UITableView を継承し、インターフェイスは最終的に自動的にテーブルをレンダリングします。 Apple が UITableView をどのように実装しているか知りたいですか?それを行う唯一の方法は、それを正直に継承して、私のものに基づいてコードを書くことです。

5. プログラミングは、それがエレガントで、美しく、芸術的で、または理解しにくいものであれば、そのプログラムが良いという意味ではありません。同様に、賢い上司があなたに言うすべての言葉には目的があり、彼の雄弁さがどれほど優れているかを反映するためではありません

PHP のコンストラクターの特徴

上記の制限を参照してください。 問題ないようですが、それでも破られる可能性があります。つまり、PHP でサブクラスが親クラスを継承した後、サブクラスが独自のコンストラクターを設定すると、親クラスの関数は自動的に実行されません。コードを見てください:

class Mavericks extends Niu Niu //これは直接 PHP の継承記述メソッドであることに注意してください

{

Function Mavericks()

{

/ / I have 独自のコンストラクターを使用すると、親クラスの心配が少なくなります

}

}

このように書くと、次のような汚い行為を実行できなくなります親クラスのコンストラクターで「情報を収集」します。

PHP5のコンストラクタの特徴

ほとんどの言語のコンストラクタは、実はクラス名と同じでなければなりません。実は上記の書き方はPHP4の書き方です。 PHP5 では、創設者は代わりに __construct 関数を使用しました。もちろん、オリジナルの書き方 は今でも互換性があります

そんな究極の書き方を見てみましょう (なぜ究極と呼ばれるのか? 私もそうだからです)。これを書くのに疲れて、私は書くのをやめなければなりません)class father {

function __construct()//

{

; // ここに子が独自のコンストラクターを持っている場合、「Father」は出力されません

" //parent::__construct(); // 父のコンストラクターを実行することを主張する場合、これをする、しない 他に方法はありません

}

}

$child=new child();

上記のコンストラクターを要約します:

1. 父と子は皆、一つの祖先、一つの家族、一つの世代から生まれました。

2. 息子が家族を始めていない場合(彼には建設者がいない)、息子は自分がXXの息子であることをみんなに言わなければなりません、そうしないと誰も息子を知りません(父親の建設者は強制されます)自動的に実行)

3 、息子が大きくなったら、父親に責任を負わせたくありません。それから彼は自分の家族を持ち、ビジネスを始めなければなりません(自分自身のコンストラクターを定義します)。父親が誰なのかを他の人に告げることなく、自分が誰なのかを外の世界に伝えることができるようになりました (自分のコンストラクターを実行するだけです)

4. 息子はキャリアを始めた後、それが不可能であることに気づき、時には可能だった父親に協力してもらい、プロジェクトを手伝ってもらうことにしました。したがって、私は外部で彼の父親の名前を言及し続けることしかできません (parent::__construct() を実行して親クラスのコンストラクターを実行します)

この章の最後のコードを見てみましょう:

class Father

{

function __construct() //ここで、関数 Father() を書くか、__construct

を使用することができる {

echo "Father";

$this ->talk();

}

}

クラスの子は、父親

{

} 関数を拡張します子供()

{

子 Echo "Son"; // Child に独自のコンストラクターがある場合、「father」は出力されません

Parent :: __ Construct () // これを行う他の方法はありません

}

function talk()

{

echo "息子を助けてください";

}

}

$child=new child();

まず親クラスを見てみると、親クラスにはトーク関数がないため、親クラスのみを初期化するとエラーが発生することがわかります。したがって、parent::__construct(); を実行すると、サブクラス内のトークが実行されることがわかりますが、実際には親クラスのコンストラクターによって自動的に実行されます。

これを見た人は間違いなく、PHP コンストラクターについて新しい見方と理解を得るでしょう。実際、これは本当に便利です。上記のリズムを続けて、上記の口調を使ってこのコードを説明します:

1. 父親はついに高齢になり、息子のプロジェクトを手伝うために外に出ることができなくなり、家にいて料理をすることしかできなくなりました。 (親クラスを初期化するだけではエラーになります)

2. 息子は父親が持ってきた資源を頼りに暴れまわり、父親に会いに行くこともほとんどなかったそうです。本当に役に立たず、もう二度と戻りたくないと思っていました

3. ついにある日、息子は自分のキャリアにおいて大きな問題を抱え、この問題を解決できるのは父親の友人だけでした。

4. しかし、年老いた父親は息子のために、過去を気にせずに友人に手紙を書き、それを友人に渡すように頼みました。

5 、息子は父親の友人に手紙を渡しました (サブクラスのコンストラクターは親クラスのコンストラクターを強制します)

6. 父親の友人が手紙を開いて、息子の目はかすみ、その手紙には次のように書かれていました。息子を助けてください (親クラスのコンストラクターがサブクラスのメソッドを自動的に実行します)

さて、PHP コンストラクターについてはほとんど話しましたが、実際にはそうではありません。 PHP に限っても、現在使用されている開発言語には独自性があり、どの言語にも未来はありません。それは、分野が異なり、顧客の要件が異なり、資金が異なるだけです。

ここで皆さんにもう 1 つの提案があります。プログラムを書くことは人間であることと同じです。善良で、賢明で、思いやりのある人は誰からも非常に人気があるはずです。同様に、ユーザーのことを考慮できるプログラマーは間違いなくプログラムを書くでしょう。ユーザー、リーダー、同僚に好かれるコード。

映画「料理の神様」のスティーブン・チョウの言葉: 「心を込めて最高の料理を作る」とはどういう意味ですか? この心は特定の料理の中にあるのではなく、この心は人生の中にあります。世界に対するあなたの理解と認識と同じように。

以上、『100日で楽しく学ぶPHP(その7)』PHPコンストラクター講座:父と子の愚痴』の内容をご紹介しました。PHPチュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。