关于 CodeIgniter 的一些常量

官方网站上列出来了这些常量

  • ENVIRONMENT
  • EXT
  • FCPATH
  • SELF
  • BASEPATH
  • APPPATH
  • CI_VERSION
  • FILE_READ_MODE
  • FILE_WRITE_MODE
  • DIR_READ_MODE
  • DIR_WRITE_MODE
  • FOPEN_READ
  • FOPEN_READ_WRITE
  • FOPEN_WRITE_CREATE_DESTRUCTIVE
  • FOPEN_READ_WRITE_CREATE_DESTRUCTIVE
  • FOPEN_WRITE_CREATE
  • FOPEN_READ_WRITE_CREATE
  • FOPEN_WRITE_CREATE_STRICT
  • FOPEN_READ_WRITE_CREATE_STRICT

但并不是所有的常量都可以直接使用的,这里对这些常量进行一些解释说明

1. ENVIRONMENT 这个是开发环境,你可以通过修改 /index.php 文件来修改这个常量
2. EXT 无法直接通过 VIEW 来 echo 出来
3. -PATH 包括 FCPATH, BASEPATH, APPPATH 等,都是系统性的以磁盘开头的 PATH,如果在 View 中使用就不是很方便了,可以通过 /config/constants.php 文件来定义自己的 URL,比如 BASE_URL 等;当然,你确实可以通过 helpper('url') 来获得 url 信息,不过还是 constants 好用一些。
4. FILE- 我不知道为什么 CI 默认下定义那么多 File 相关的常量,感觉在开发的时候并不会有太多的帮助,不过我们尊重原作者的设定(或许他们做的比较多的项目是文件编辑相关的,对于我这样接触比较多 CMS 的,感觉帮助不大)

题外话

    我觉得 CI 有一个很不友好的地方是 ControllerNames 中的 index 等常用的命名都被 reserved 了,比如以下:

  • Controller
  • CI_Base
  • _ci_initialize
  • Default
  • index

    给人一种很不友好的感觉,StackOverFlow 上给出的方案是说可以通过 $this->router->fetch_class(); 和 $this->router->fetch_method();。第三方还提供 HMVC 的扩展,不过这个还未得到官方的默认支持。在这方面 ThinkPHP 倒是已经支持了 HMVC 的结构了,CI 给人一种要被淘汰的感觉:(,不过因为好上手(下次研究一下 资深一点的 Lavarel,这个需要 Linux 服务器,搭建起来都不是那么容易的事情:()

    其他的... 看官方文档吧 -> https://ellislab.com/codeigniter/user-guide/general/reserved_names.html

你可能感兴趣的:(CodeIgniter)