index.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <?php
  2. /**
  3. * 定义根目录常量 /www
  4. */
  5. define('BASEDIR',__DIR__);
  6. /**
  7. * 载入自动加载
  8. */
  9. include BASEDIR.'/Core/Loader.php';
  10. /**
  11. * 自动载入类 传入方法名
  12. * 当实例化或者调用不存在的类时,会回调该方法
  13. */
  14. spl_autoload_register('\\Core\\Loader::autoload');
  15. /**
  16. * 面向对象--链式操作
  17. */
  18. //$db = new Core\Database();
  19. //$db->where()->order()->limit();
  20. /**
  21. * 工厂模式
  22. */
  23. //$db = Core\Factory::createDatabase();
  24. //$db->where()->order()->limit();
  25. /**
  26. * 注册树模式
  27. */
  28. //Core\Register::set('db',Core\Database::getInstance()); //这里只是演示,实际上需要在初始化时就要注册。
  29. //$db = Core\Register::get('db');
  30. //$db->where()->order()->limit();
  31. /**
  32. * 适配器模式
  33. * desc 定义一个接口
  34. */
  35. //$db = new Core\Databases\Mysql();
  36. //db->connect('39.100.75.63:33060','root','mysql57-2020!d','prictice');
  37. //$db->query('sql');
  38. //$db->close();
  39. /**
  40. * 策略模式
  41. * desc 通过动态参数调用的方式--控制反转。同适配器模式。
  42. */
  43. /**
  44. * 数据对象映射模式
  45. */
  46. //$user = new Core\User();
  47. //$user->getUserById(1);
  48. //$user->name = 'chen';
  49. //$user->mobile = '13676666666';
  50. //$user->regtime = date('Y-m-d H:i:s');
  51. //$user->save();
  52. /**
  53. * 观察者模式
  54. */
  55. //class event extends Core\EventGenerator
  56. //{
  57. // public function trigger(){
  58. // $this->notify();
  59. // }
  60. //}
  61. //class Observer1 implements \Core\Observer
  62. //{
  63. // function update($event_info = null)
  64. // {
  65. // // TODO: Implement update() method.
  66. // echo '观察者1';
  67. // }
  68. //}
  69. //class Observer2 implements \Core\Observer
  70. //{
  71. // function update($event_info = null)
  72. // {
  73. // // TODO: Implement update() method.
  74. // echo '观察者2';
  75. // }
  76. //}
  77. //$event = new event();
  78. //$event->addObserver(new Observer1());
  79. //$event->addObserver(new Observer2());
  80. //$event->trigger();
  81. /**
  82. * 原型模式
  83. * 通过clone方法,将初始化的工作只做一次,节省开销
  84. */
  85. /**
  86. * 装饰器模式
  87. * 可以动态添加修改类的功能
  88. * https://www.cnblogs.com/onephp/p/6108940.html
  89. */
  90. /**
  91. * 迭代器模式
  92. * 在不需要了解内部实现情况下,遍历一个聚合对象的内部元素
  93. * 需要继承Iterater
  94. */
  95. //$allUser = new Core\AllUser();
  96. //foreach ($allUser as $user){
  97. // var_dump($user->mobile);
  98. // $user->name = 'lisi';
  99. // $user->save();
  100. //}
  101. /**
  102. * 代理模式
  103. * 相当于把功能委派给代理对象来判断执行
  104. */