ホームページ > バックエンド開発 > PHPチュートリアル > 【楽しいPHP学習100日(7)】PHPコンストラクター講座:父と子の軋轢_PHPチュートリアル

【楽しいPHP学習100日(7)】PHPコンストラクター講座:父と子の軋轢_PHPチュートリアル

WBOY
リリース: 2016-07-13 10:37:27
オリジナル
964 人が閲覧しました

前戯部分:


1. 一文要約php:

その中でも、有名なwordpressはウェブサイトに非常に適しています。 Web 以外のアプリケーションに php を使用することは考えないでください。

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

Gaoshangda: ハイエンドとハイエンドの略。インターネットは人気がありすぎて、ネチズンは怠惰すぎて、自分たちは皆不幸だと言います


Php のいくつかのバージョン:

PHP4 は、PHP のマイルストーン バージョンと言うべきです。 zend エンジンとさまざまなハイエンド アクセラレーション。ただし、このバージョンはオブジェクト指向すぎるため、php4 を無視するのが正しいです。

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

PHP6 をダウンロードしてくれたことに感心します。


PHP の学習について:

PHP の構文をすぐに学習したい場合は、Windows での PHP コンパイラーとインストーラーを使用してください。ワンクリックでインストールと設定が簡単です。PHP の学習を開始することはお勧めしません。 Linux 上で直接実行してください。正しく設定されるまで待ちます。最終的には、php には興味がなくなりました。

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


2. テキスト部分:

コンストラクターとは

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

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

独立した単一クラスである場合、なぜコンストラクターが必要なのですか

。実際、コンストラクターは「便利な」役割も果たします。

例:

class A

{

function A()

{

// ここで初期化作業を行います

}

}

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

では、コンストラクターはいつどこで意味をなすのでしょうか?実際、それはオブジェクトとオブジェクトの継承に関するものです 物語のような例をあげましょう:

例: 1 年後、私はついに非常にハイエンドな関数クラス ライブラリを開発しました。このクラス ライブラリは中国に同様の製品がありません。他の人に理解されないように、クラス ライブラリの構造を非常に複雑にしました。その後、誤って複数のプログラマーに販売してしまいました。しかし?私は本当に統計をとりたい、つまり、自分のクラス ライブラリを誰が使用したかを知り、自分自身に満足できるようにしたいので、基本クラス ライブラリを次のように設計しました。

class 牛牛 // これは高レベルのクラス ライブラリの名前です

{

function 牛牛()

{

// ここで、現在のユーザーのローカル情報を密かに収集し、密かに私のメールボックスに送信します、それは非常に不謹慎ですか?

}

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

}

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

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

{

//ここでは何をしても構いません。とにかく、親クラスのコンストラクターをすでに設定しているので、それを行う前に情報を収集します。

}

つまり、誰もが知っていることです:

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

2. コンストラクターはオブジェクト指向の構造設計に使用されます

3. コンストラクターの主な用途は、安全性とシステム性です。コンストラクターであり、製品化と商用化がそれを使用する主な目的です

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

5. プログラムは、エレガント、美しい、芸術的、または理解しにくいものであれば良いというわけではありません。マスターは独自の目的を持ってプログラムを作成します。同様に、賢い上司があなたに言うすべての言葉には目的があり、その雄弁さを反映するものではありません

上記の制限は、実際にはまだ破られる可能性があります。 。つまり、PHP でサブクラスが親クラスを継承した後、サブクラス が独自のコンストラクター

を設定すると、親クラスの関数は自動的に実行されなくなります。コードを見てください:

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

{

function Mavericks()

{

// 親クラスではなく、独自のコンストラクターがあります。心配です

}

}

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

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

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

そんな究極の書き方を見てみましょう (なぜ究極と呼ばれるのか? 書くのに疲れたので) 、ワンステップで書き込みを停止して終了する必要があります)

class Father

{

function __construct() //ここでは、関数 Father() を書くか、__construct を使用することができます

{

echo "Father";

}

}

class child extends Father

{

function child()

{

echo "son"; //ここに child が独自のコンストラクターを持っている場合、"father" は出力されません

//parent:: __construct( ); //どうしても父親のコンストラクタを実行したい場合はこうするしかない

}

}

$child=new child();

以上をまとめます構築者 :

1. 父と子は同じ祖先から生まれ、同じ家系から受け継がれた一つの家族です。

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

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

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

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

class Father

{

function __construct() //ここで、関数 Father() を書くか、__construct を使用することができます

{

echo "Father";

$this->talk();

}

}

class child extends Father

{

function child()

{

echo "son"; //ここで child が独自のコンストラクタを持っている場合、"father" は出力されない

parent::__construct( ) ; //どうしても父親のコンストラクターを実行したい場合は、このようにするしかありません

}

function talk()

{

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

}

}

$child=new child();

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

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

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

2. 息子は父親が持ってきた資源を頼りに暴れまわり、父親の見舞いにはほとんど戻らなかった。父親は本当に役に立たず、二度と父親に会いに行きたくないと言っていた。 3. ついにある日、息子は自分のキャリアに大きな問題を抱えていましたが、それは父親の友人たちだけが解決できる問題でした。

4. しかし、年老いた父親は息子のために、過去とは関係なく友人に手紙を書き、それを直接友人に渡すよう息子に頼みました。彼はそれを開くことができました

5. 息子はその手紙を父親の友人に渡しました(

サブクラスのコンストラクターは親クラスのコンストラクターを強制します

)6. 父親の友人は手紙を開けました、そして息子の目は手紙には次のように書かれていました: 息子を助けてください (

親クラスのコンストラクターはサブクラスのメソッドを自動的に実行します

) さて、これは PHP コンストラクターに関するほぼすべてです。現在も使用されている開発言語にはそれぞれ独自の機能があります。どちらの言語に未来があり、どの言語に未来がないのかは、分野、顧客の要件、金額が異なるだけです。

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


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


---------------------------------

私のWeChat公式アカウントをフォローして成人してください毎日クリック

手順に従ってください: 非常に直接、携帯電話を取り出します -> WeChat を開きます -> スキャンをクリックし、下の QR コードをスキャンします

WeChat で表示するには php1、php2、php3、php4 を入力してください。


http://www.bkjia.com/PHPjc/735869.html

www.bkjia.com

http://www.bkjia.com/PHPjc/735869.html技術記事前戯部分: 1. PHP を一言で要約します: PHP は Web アプリケーションに使用されますが、その中でも有名な Wordpress は PHP によって開発されています。ウェブ以外のアプリケーションは使用しないでください...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート