|
@@ -19,4 +19,101 @@ spl_autoload_register('\\Core\\Loader::autoload');
|
|
|
* 面向对象--链式操作
|
|
|
*/
|
|
|
//$db = new Core\Database();
|
|
|
-//$db->where()->order()->limit();
|
|
|
+//$db->where()->order()->limit();
|
|
|
+
|
|
|
+/**
|
|
|
+ * 工厂模式
|
|
|
+ */
|
|
|
+//$db = Core\Factory::createDatabase();
|
|
|
+//$db->where()->order()->limit();
|
|
|
+
|
|
|
+/**
|
|
|
+ * 注册树模式
|
|
|
+ */
|
|
|
+//Core\Register::set('db',Core\Database::getInstance()); //这里只是演示,实际上需要在初始化时就要注册。
|
|
|
+//$db = Core\Register::get('db');
|
|
|
+//$db->where()->order()->limit();
|
|
|
+
|
|
|
+/**
|
|
|
+ * 适配器模式
|
|
|
+ * desc 定义一个接口
|
|
|
+ */
|
|
|
+//$db = new Core\Databases\Mysql();
|
|
|
+//db->connect('39.100.75.63:33060','root','mysql57-2020!d','prictice');
|
|
|
+//$db->query('sql');
|
|
|
+//$db->close();
|
|
|
+
|
|
|
+/**
|
|
|
+ * 策略模式
|
|
|
+ * desc 通过动态参数调用的方式--控制反转。同适配器模式。
|
|
|
+ */
|
|
|
+
|
|
|
+/**
|
|
|
+ * 数据对象映射模式
|
|
|
+ */
|
|
|
+//$user = new Core\User();
|
|
|
+//$user->getUserById(1);
|
|
|
+//$user->name = 'chen';
|
|
|
+//$user->mobile = '13676666666';
|
|
|
+//$user->regtime = date('Y-m-d H:i:s');
|
|
|
+//$user->save();
|
|
|
+
|
|
|
+/**
|
|
|
+ * 观察者模式
|
|
|
+ */
|
|
|
+//class event extends Core\EventGenerator
|
|
|
+//{
|
|
|
+// public function trigger(){
|
|
|
+// $this->notify();
|
|
|
+// }
|
|
|
+//}
|
|
|
+//class Observer1 implements \Core\Observer
|
|
|
+//{
|
|
|
+// function update($event_info = null)
|
|
|
+// {
|
|
|
+// // TODO: Implement update() method.
|
|
|
+// echo '观察者1';
|
|
|
+// }
|
|
|
+//}
|
|
|
+//class Observer2 implements \Core\Observer
|
|
|
+//{
|
|
|
+// function update($event_info = null)
|
|
|
+// {
|
|
|
+// // TODO: Implement update() method.
|
|
|
+// echo '观察者2';
|
|
|
+// }
|
|
|
+//}
|
|
|
+//$event = new event();
|
|
|
+//$event->addObserver(new Observer1());
|
|
|
+//$event->addObserver(new Observer2());
|
|
|
+//$event->trigger();
|
|
|
+
|
|
|
+/**
|
|
|
+ * 原型模式
|
|
|
+ * 通过clone方法,将初始化的工作只做一次,节省开销
|
|
|
+ */
|
|
|
+
|
|
|
+/**
|
|
|
+ * 装饰器模式
|
|
|
+ * 可以动态添加修改类的功能
|
|
|
+ * https://www.cnblogs.com/onephp/p/6108940.html
|
|
|
+ */
|
|
|
+
|
|
|
+/**
|
|
|
+ * 迭代器模式
|
|
|
+ * 在不需要了解内部实现情况下,遍历一个聚合对象的内部元素
|
|
|
+ * 需要继承Iterater
|
|
|
+ */
|
|
|
+//$allUser = new Core\AllUser();
|
|
|
+//foreach ($allUser as $user){
|
|
|
+// var_dump($user->mobile);
|
|
|
+// $user->name = 'lisi';
|
|
|
+// $user->save();
|
|
|
+//}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 代理模式
|
|
|
+ * 相当于把功能委派给代理对象来判断执行
|
|
|
+ */
|
|
|
+
|
|
|
+
|