このビデオ「Li Yanhui PHP ビデオチュートリアル シーズン 2」は、「Li Yanhui PHP ビデオ チュートリアル シーズン 1」をベースに、PHP の学習を深め、オブジェクト指向の考え方、実践的な会員登録、CMS 管理システムの詳細な説明を紹介します。これらの知識の学習を通じて、皆さんの力が大幅に向上すると信じています
コース再生アドレス: http://www.php.cn/course/398.html
先生講義スタイル:
先生の講義は鮮やかで、機知に富み、機知に富み、感動的です。鮮やかな比喩は最後の仕上げのようなもので、生徒に知恵への扉を開きます。適切に配置されたユーモアは、まろやかなワインを飲むように、人々に後味と郷愁を与え、哲学者の格言や文化への言及をもたらします。ナレーションの中に時々散りばめられ、人々に考えさせ、警告を与えます。
このビデオのより難しい点は、オブジェクト指向オブジェクトです。
カプセル化は、オブジェクト指向プログラミングの 3 つの主要な特徴の 1 つであり、オブジェクトのプロパティとサービスを独立した同一のものに結合することです。オブジェクトの内部詳細をできるだけ隠すことには 2 つの意味があります:
1. オブジェクトのすべてのプロパティとサービスを結合して、分割不可能な独立したユニット (つまり、オブジェクト) を形成します。
2. 情報の隠蔽、つまり、オブジェクトの内部の詳細を可能な限り隠し、外界との境界を形成し(または障壁を形成し)、外界と接続するための限られた外部インターフェイスのみを保持します。 。
ソフトウェアにおけるカプセル化の原理の反映は、オブジェクト以外の部分がオブジェクトの内部データ (プロパティ) に自由にアクセスできないことを要求し、これにより外部エラーの「相互感染」を効果的に回避し、ソフトウェアを有効にすることです。エラーが局所的に特定されるため、エラーの検出とトラブルシューティングの難しさが大幅に軽減されます。
例を使用して説明しましょう。ある人のオブジェクトに年齢や給与などの属性がある場合、カプセル化を使用しない場合、他の人がそのような個人のプライバシー属性を自由に取得できるようにする必要はありません。あなたはそれを知りたがりますが、それをカプセル化すると、あなたがそれを伝えない限り、他の人はカプセル化された属性を取得する方法がなくなります。
たとえば、すべてのパソコンにはパスワードがあり、他人が勝手にログインしたり、それをコピーして自分のコンピュータに貼り付けたりすることは望ましくありません。また、人間のような物体においては、身長や年齢といった属性は自分自身でのみ増加させることができ、他人等が恣意的に値を割り当てることはできない。
プライベート キーワードを使用してプロパティとメソッドをカプセル化します:
元のメンバー:
<?php var $name; //声明人的姓名 var $sex; //声明人的性别 var $age; //声明人的年龄 function run(){……}
カプセル化された形式に変更:
<?php private $name; //把人的姓名使用private关键字进行封装 private $sex; //把人的性别使用private关键字进行封装 private $age; //把人的年龄使用private关键字进行封装 private function run(){……} //把人的走路方法使用private关键字进行封装
アクセス制御は追加されません。デフォルトは public で、どこからでもアクセスできます。
<?php //这个人可以说话的方法, 说出自己的私有属性,在这里也可以访问私有方法 function say() { echo "我的名子叫:" . $this->name . " 性别:" . $this->sex . " 我的年龄是:" . $this->age; //在这里也可以访问私有方法 //$this->run(); }
メンバーメソッドsay()はpublicなので、上記のコードを変更します:
<?php class Person { //下面是人的成员属性 private $name; //人的名子,被private封装上了 private $sex; //人的性别, 被private封装上了 private $age; //人的年龄, 被private封装上了 //定义一个构造方法参数为私有的属性姓名$name、性别$sex和年龄$age进行赋值 function __construct($name, $sex, $age) { //通过构造方法传进来的$name给私有成员属性$this->name赋初使值 $this->name = $name; //通过构造方法传进来的$sex给私有成员属性$this->sex赋初使值 $this->sex = $sex; //通过构造方法传进来的$age给私有成员属性$this->age赋初使值 $this->age = $age; } //这个人可以说话的方法, 说出自己的私有属性,在这里也可以访问私有方法 function say() { echo "我的名子叫:" . $this->name . " 性别:" . $this->sex . " 我的年龄是:" . $this->age; } } //通过构造方法创建3个对象$p1、p2、$p3,分别传入三个不同的实参为姓名、性别和年龄 $p1 = new Person("张三", "男", 20); $p2 = new Person("李四", "女", 30); $p3 = new Person("王五", "男", 40); //下面访问$p1对象中的说话方法 $p1->say(); //下面访问$p2对象中的说话方法 $p2->say(); //下面访问$p3对象中的说话方法 $p3->say(); ?>
出力結果:
我的名子叫:张三 性别:男 我的年龄是:20我的名子叫:李四 性别:女 我的年龄是:30我的名子叫:王五 性别:男 我的年龄是:40
以上がLi Yanhui の PHP ビデオ チュートリアルの第 2 シーズンに推奨されるリソースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。