$db->where('test=1')->where('test=2')->order('test desc')->limit(10); $obj = new IMooc\Object(); $obj->title = "hello"; // 对不存在的属性进行赋值时,会调用Object中的__set方法 echo $obj->title; // 对不存在的属性进行取值时,会调用Object中的__get方法 // 调用未定义的方法,会调用__call方法 echo $obj->te(123, "dsa"); // 调用未定义的静态方法,会调用__callStatic方法 echo IMooc\Object::test123("hel1,123"); // 打印对象,调用__toString方法,打印返回的字符串 echo $obj; // 把一个对象当成一个方法,会调用__invoke方法 echo $obj("123"); /** * 工厂模式 * 好处:如果工厂方法变更,主调文件不用修改 */ $db = IMooc\Factory::createDatabase(); /** * 单列模式 * 不管创建多少个实例,连接到数据库都是一个连接 */ $db2 = IMooc\Database::getInstance(); $db2 = IMooc\Database::getInstance(); $db2 = IMooc\Database::getInstance(); /** * 注册模式 * */ $db2 = IMooc\Register::get('db1');
function test() { $user = IMooc\Factory::getUser(1); var_dump($user); $user->mobile = '18933334444'; }