在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在C和C++里,父类都不允许调用子类的方法,但在php里可以。下面是一个调用的例子: <?php abstract class Animal { protected $name; public function run() { echo 'Aniaml run'; $this->swim(); 输出: Fish swim Aniaml run Fish swim 10 我们在父类的run()方法里面调用了 $this->swim();swim是子类定义的方法(注意,我们并没有在父类中定义abstract function swim()),说明了这不是多态。 class A { private $b; function __construct($a){ $this->b = $a; } function func1(){ var_dump($this->b); } function func2(){ $this->funcb(); } } class B extends A { function funcb(){ var_dump("b"); } } $a = new B('a'); $a->func1(); $a->func2(); 这几行代码是没有错误的,在父类中调用子类的方法,子类实例化之后可以正常工作。 CI的DB部分正是使用了这种方式来封装数据库操作。 CI的DB函数的写法正是先加载
然后
否则
最后在require相应数据库的driver,如mysql,
在这几个类中,只有 DB函数中这样写的:
$params正是传给 然后检查是否自动初始化:如果是
而initialize方法位于
如mysql的实现位于 function db_connect() { if ($this->port != '') { $this->hostname .= ':'.$this->port; } return @mysql_connect($this->hostname, $this->username, $this->password, TRUE); }
|
2022-07-22
2022-07-29
2022-08-30
2022-08-17
2022-08-15
请发表评论