ホームページ >バックエンド開発 >PHPチュートリアル >(9) オブジェクト指向設計原則 5
1つ。オブジェクト指向の要約:
1. 高い抽象度は、高い要約につながります。
2. コードはドキュメントです。
2つ。オブジェクト指向の考え方で作成されたゲストブックの例:
message.php
<?php /* * 留言实体类 */ class message{ public $name; public $email; public $content; public function __set($name,$value){ $this->$name = $value; } public function __get($name){ if (!isset($this->$name)){ $this->$name = null; } } }
gbookModel.php
<?php /* * 留言本模型 */ class gbookModel{ private $bookPath; private $data; public function setBookPath($bookPath){ $this->bookPath = $bookPath; } public function getBookPath(){ return $this->bookPath; } public function open(){ } public function close(){ } public function read(){ return file_get_contents($this->bookPath); } //写入留言 public function write($data){ $this->data= self::safe($data)->name."&".self::safe($data)->email."\r\nsaild:\r\n".self::safe($data)->content; return file_put_contents($this->bookPath,$this->data,FILE_APPEND); } public static function safe($data){ $reflect = new ReflectionObject($data); $props = $reflect->getProperties(); $messagebox = new stdClass(); foreach($props as $prop){ $ivar = $prop -> getName(); $messagebox ->$ivar= trim($prop->getValue($data)); } return $messagebox; } public function delete(){ file_put_contents($this->bookPath,'it\'s empty now'); } }leaveModel.php
<?php //业务逻辑 class leaveModel{ public function write(gbookModel $gb,$data){ $book = $gb->getBookPath(); $gb->write($data); } }view.php
<?php include "gbookModel.php"; include "leaveModel.php"; include "message.php"; class authorControl{ public function message(leaveModel $l,gbookModel $g,message $data){ $l->write($g,$data); } public function view(gbookModel $g){ return $g->read(); } public function delete(gbookModel $g){ $g->delete(); echo self::view($g); } } //以下是测试 $message = new message(); $message->name = 'phper'; $message->email = 'test@test.com'; $message->content = 'love php'; $gb = new authorControl(); $pen = new leaveModel(); $book = new gbookModel(); $book->setBookPath('test.txt'); $gb->message($pen,$book,$message); echo $gb->view($book); $gb->delete($book);
著作権表示: この記事は、ブロガーによるオリジナルの記事であり、ブロガーの許可を得て転載を禁止します。
以上、5番目のオブジェクト指向設計原則(9)を内容面も含めて紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。