예제 #1
0
<?php

header('Content-Type:text/html;charset=utf-8');
/*
 * 建造者模式【造人】
 * Author: Kaysen
 */
define('ROOT_PATH', dirname(__FILE__));
require_once ROOT_PATH . '/../../Loader.php';
$person = new PersonThinBuilder(300, 300);
$pdThin = new PersonDirector($person);
$pdThin->createPerson();
/*
$person = new PersonFatBuilder(300, 300);
$pdThin = new PersonDirector($person);
$pdThin->createPerson();
*/
예제 #2
0
<?php

namespace PDP\Builder\Person;

require_once __DIR__ . '/../../../vendor/autoload.php';
$director = new PersonDirector();
$employedMaleBuilder = new EmployedMaleBuilder();
$unemployedMaleBuilder = new UnemployedMaleBuilder();
//$employedFemaleBuilder   = new EmployedFemaleBuilder();
//$unemployedFemaleBuilder = new UnemployedFemaleBuilder();
/**
 * object(Person)#3 (2) {
 * (
 *   ["employed"] => bool(true)
 *   ["gender"] => string(4) "Male"
 * )
 */
$employedMale = $director->build($employedMaleBuilder);
echo '<pre>';
var_dump($employedMale);
/**
 * object(Person)#5 (2) {
 * (
 *   ["employed"] => bool(false)
 *   ["gender"] => string(4) "Male"
 * )
 */
$unemployedMale = $director->build($unemployedMaleBuilder);
var_dump($unemployedMale);