ホームページ php教程 php手册 PHP デザインモード Builder (ビルダーモード)

PHP デザインモード Builder (ビルダーモード)

Jun 21, 2016 am 08:54 AM
color config gt public this

复制代码代码如下:


<?php
/**
* ビルダー パターン
*
* 複雑なオブジェクトの構築をその表現から分離し、同じ構築プロセスを使用して異なる表現を作成します
*/
class Product
{
public $_type = null;
パブリック $_size = null;
パブリック $_color = null;

public function setType($type)
{
echo "製品タイプを設定<br/>";
$this->_type = $type;
}

public function setSize($size)
{
echo "商品サイズの設定<br/>";
$this->_size = $size;
}

public function setColor($color)
{
echo "製品の色を設定<br/>";
$this->_color = $color;
}
}

$config = array(
"タイプ"=>"シャツ",
"サイズ"=>"xl",
"カラー"=>"赤",
);

// bulider を使用する前の処理はありません
$oProduct = new Product();
$oProduct->setType($config['type']);
$oProduct->setSize($config['size']);
$oProduct->setColor($config['color']);


// 创建一ビルダー类
class ProductBuilder
{
var $_config = null;
var $_object = null;

パブリック関数 ProductBuilder($config)
{
$this->_object = new Product();
$this->_config = $config;
}

public function build()
{
echo "--- ビルダー内 ---<br/>";
$this->_object->setType($this->_config['type']);
$this->_object->setSize($this->_config['size']);
$this->_object->setColor($this->_config['color']);
}

public function getProduct()
{
return $this->_object;
}
}

$objBuilder = new ProductBuilder($config);
$objBuilder->build();
$objProduct = $objBuilder->getProduct();



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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

Huawei GT3 ProとGT4の違いは何ですか?

.NET パーサーによって返されるエラー 0xC00CE556 を修正する方法 .NET パーサーによって返されるエラー 0xC00CE556 を修正する方法 Apr 25, 2023 am 08:34 AM

.NET パーサーによって返されるエラー 0xC00CE556 を修正する方法

修正: Windows 11 で Snipping ツールが機能しない 修正: Windows 11 で Snipping ツールが機能しない Aug 24, 2023 am 09:48 AM

修正: Windows 11 で Snipping ツールが機能しない

iOS の開発者バージョンとパブリック バージョンの違いは何ですか? iOS の開発者バージョンとパブリック バージョンの違いは何ですか? Mar 01, 2024 pm 12:55 PM

iOS の開発者バージョンとパブリック バージョンの違いは何ですか?

iPhoneでApp Storeに接続できないエラーを修正する方法 iPhoneでApp Storeに接続できないエラーを修正する方法 Jul 29, 2023 am 08:22 AM

iPhoneでApp Storeに接続できないエラーを修正する方法

PHP での構成管理に ThinkPHP\Config を使用するにはどうすればよいですか? PHP での構成管理に ThinkPHP\Config を使用するにはどうすればよいですか? May 31, 2023 pm 02:31 PM

PHP での構成管理に ThinkPHP\Config を使用するにはどうすればよいですか?

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

PHP は構成管理に CodeIgniter\Config をどのように使用しますか? PHP は構成管理に CodeIgniter\Config をどのように使用しますか? Jun 02, 2023 pm 06:01 PM

PHP は構成管理に CodeIgniter\Config をどのように使用しますか?

See all articles