//设置加载路径 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');
$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