代码点火器;库和驱动程序之间的区别

CodeIgniter; difference between libraries and drivers

CodeIgniter libraries 应存储在 application/libraries 目录下,以便在初始化时可以访问。

另一方面,

Drivers 据说是一种特殊的 类型的库 并且可以在 system/libraries/ 目录中找到,在它们自己的子目录中目录。

在它们的 creation(驱动程序)中,它们并未描述为按预期存储在 system/libraries/ 目录下,而是 /application/libraries/,命名为 libraries .

然后 is/are CodeIgniter libraries and drivers 之间的区别是什么?

正如 documentation

中所说

Drivers are a special type of Library that has a parent class and any number of potential child classes.

子 class 可以访问父 class,但不能访问他们的兄弟姐妹。

当您想要创建 abstraction layer.

时,它们很有用

class CI_Cache(在 /system/libraries/Cache/Cache.php 中找到)可能是最容易理解的;它"abstracts"各种缓存系统(apc、memcached、redis等),使不同的缓存系统可以使用同一套功能。

框架中使用抽象(但不是 CI_Driver_Library)的其他示例是 CI_session 和数据库 classes.

这两个教程可能会给您一些想法和额外的背景知识:

  1. Codeigniter Drivers Tutorial
  2. How to Create Custom Drivers in CodeIgniter

所有开发人员创建的 classes(控制器、模型、驱动程序等)应放在 /application 文件夹的适当 sub-directory 中。

您永远不应将开发人员创建的文件放入 /system 文件夹或其 sub-folders。

使用 $this->load->driver('lib_name');

加载驱动程序