Kann der Name der benutzerdefinierten Methode mit dem Namen der integrierten PDO-Methode identisch sein?
谭勇2017-10-12 19:26:04
0
1
1247
Kann der benutzerdefinierte Methodenname mit dem vorhandenen Methodennamen im PDO identisch sein? Ist beispielsweise die feach()-Methode im Video nicht angepasst? Allerdings ist feach die Standardmethode in PDO
不知道那个视频是咋讲的,我就按我理解的说吧
自定义的方法名称可以和PDO自带的方法名称相同,首先你搞清楚作用域,如果你自己写的数据库类没有继承PDO类的话,他们两个类里面的成员属性和成员函数即使一模一样,那也是半点关系没有,调用的时候两个类的对象实例会分别调用自己类中的函数。
如果自定义的类继承PDO类,然后声明与PDO类同名的方法就属于重写了,注意fetch是PDOStatement对象的方法,所以即使继承得失PDO类,如果自定义了fetch,那么使用的是自己定义fetch方法,而不是PDOStatement对象的fetch;
还有一种情况是在自定义的类中new了一个PDO对象,包括上面一种情况,就有一个问题,PDO执行query或者execute()之后,返回的是PDOStatement的对象实例,如果在用这个返回的实例执行fetch方法,那就是执行的PDOStatement的fetch。
所以,我也不知道用文字咋说,你实际操作一下就知道了