Exemple #1
0
//设置加载路径
spl_autoload_extensions('.php');
//设置加载后缀名
function myAutoload($className)
{
    require_once $className . '.php';
    //直接根据类名跟文件关系包含文件
}
spl_autoload_register("myAutoload");
//注册自动加载函数
//测试代码开始
$duck = new DuckMallard();
//先创建一只鸭子
$turkey = new TurkeyWild();
//创建一只火鸡
$turkeyAdapter = new TurkeyAdapter($turkey);
//将火鸡包装进一个火鸡适配器中,使它看起来像是一只鸭子
echo "<hr>The Turkey says...<br>";
$turkey->gobble();
$turkey->fly();
echo "<hr>The Duck says...<br>";
testDuck($duck);
echo "<hr>The TurkeyAdapter says...<br>";
testDuck($turkeyAdapter);
function testDuck(Duck $duck)
{
    $duck->quack();
    $duck->fly();
}
echo '<hr>';
echo file_get_contents('./read.txt');
Exemple #2
0
    $duck->quack();
    $duck->fly();
}
println(SEPARATE, '适配器模式和外观模式', SEPARATE);
showImgs('7.png', '7_1.png', '7_2_.png');
$wildTurkey = new WildTurkey();
println('The Turkey says:');
$wildTurkey->gobble();
$wildTurkey->fly();
println();
$mallard1Duck = new Mallard1Duck();
println('The Duck says:');
testDuck($mallard1Duck);
$adapter = new TurkeyAdapter($wildTurkey);
println('The TurkeyAdapter says:');
testDuck($adapter);
println(SEPARATE, 'END', SEPARATE);
/**
* 输出:
 The Turkey says:
 gobble
 i'm flying a short distance

 The Duck says:
 quack
 i'm flying
 The TurkeyAdapter says:
 gobble
 i'm flying a short distance
 i'm flying a short distance
 i'm flying a short distance