搜索

首页  >  问答  >  正文

自定义的方法名称可以和PDO自带方法名相同吗?

自定义的方法名可以和PDO已经存在的方法名相同吗?比如视频里面不是自定义了feach()方法吗,然而feach是PDO里面的默认方法啊

谭勇谭勇2658 天前1308

全部回复(1)我来回复

  • 寻觅 beyond

    寻觅 beyond2017-10-13 10:08:24

    不知道那个视频是咋讲的,我就按我理解的说吧

    自定义的方法名称可以和PDO自带的方法名称相同,首先你搞清楚作用域,如果你自己写的数据库类没有继承PDO类的话,他们两个类里面的成员属性和成员函数即使一模一样,那也是半点关系没有,调用的时候两个类的对象实例会分别调用自己类中的函数。

    如果自定义的类继承PDO类,然后声明与PDO类同名的方法就属于重写了,注意fetch是PDOStatement对象的方法,所以即使继承得失PDO类,如果自定义了fetch,那么使用的是自己定义fetch方法,而不是PDOStatement对象的fetch;

    还有一种情况是在自定义的类中new了一个PDO对象,包括上面一种情况,就有一个问题,PDO执行query或者execute()之后,返回的是PDOStatement的对象实例,如果在用这个返回的实例执行fetch方法,那就是执行的PDOStatement的fetch。

    所以,我也不知道用文字咋说,你实际操作一下就知道了

    回复
    0
  • 取消回复