__get:获取私有属性值的时候调用
$this->成员属性:在类里面访问自己的成员属性和方法。
public:公共的,在类内和类外都可以直接访问
private:私有的一般在类外不能访问。
2.魔术方法:
(1)__unset():用unset销毁一个私有的成员属性的时候调用,参数:属性名。
(2)__isset():当判断一个私有的成员属性是否被设置时调用,参数:属性名。
(3)__invoke:当将一个对象当做函数时被调用,参数任意多个,调用时传递多少个这里就写多少个。
(4)__toString:当echo一个对象的时候调用,这个函数里面返回什么字符串echo的时候就打印出什么。没有参数,但是有返回值,返回一个字符串,该字符串需要自己定制。
(5)__debugInfo():触发时机:当使用var_dump()打印对象的时候会调用。返回一个自定义的数组,数组里面是需要打印的东西,没有参数。
(6)__call():调用不存在的成员方法时会自动调用该方法。参数:方法名,参数数组。
(7)__callStatic():调用不存在的静态方法时
3.连贯操作(链式操作):
数据库操作类查询的时候有很多条件:
$model->limit()->where()->filed()->table()->select()
4.通过__call实现单字段的查询:
5.继承:
(1)继承:考虑的是从相同的属性来理解,子类的特征一般多于父类。
派生:其实和继承描述的是同一个东西,但是从两个不同的方面来理解的,继承考虑的是相同的属性来考虑的,派生是从不同的属性来理解的。
父子类的叫法:父类(基类)、子类(派生类)
单继承:php是单继承的,子类只能有一个父类。
(2)继承的基本语法:
在代码中子类如果继承父类,那么就拥有父类的属性和行为(某些访问控制除外)。
6.访问权限:
public:公共的,类外类内都可以直接访问
private:私有的,类外不可以直接访问
protected:受保护的,类外不可直接访问,类内可以
7.静态属性和静态方法
静态属性是属于整个类的,而不是属于某个对象的
静态方法的调用
注意事项:(1)静态方法中不能出现$this关键字,
$this是属于某个对象的,但是该静态方法是属于整个类的而不是属于某个对象的。
(2)静态属性和方法前面可以加属性修饰符。
(3)使用静态属性和方法可以提高效率,通过类名就可以使用里面的属性和方法。
(4)可以实现单例(单一实例)
8.自动加载
规则:一个类就是一个文件,文件名要和类名相同。
__autoload:当在当前脚本中去加载一个不存在的类的时候会调用这个方法。
当加载一个类,这个类继承了其他的类,只要找不到就可以调用__autoload(),参数就是要加载的类名。
M:model 模型 和数据库打交道
V:View 视图,html文件(模板)
C:controller控制器(数据和模板之间的桥梁)
注意:这个方法是唯一的一个写在类外的方法。
目录结构(文件夹)结构:
model存放数据库文件
view存放界面视图文件
controller存放控制器文件
vendor:第三方的库文件
入口文件:index.php(mvc下面)