#1 jake

在日常开发中,我们经常需要在整个程序的范围内进行一些“全局”的操作。


全局操作的作用

  • 载入文件:函数定义文件,部分类定义文件(通常是文件名与类名不相同的),过程操作文件(如GZIP压缩或输出处理等)。
  • 定义常量:定义在整个程序中使用到的静态常量,如路径的定义、数值的定义等。
  • 执行某些代码:如进行应用程序配置的合并、执行全局函数等。
  • 框架的部分执行过程,如扩展机制启动的操作,权限认证、路由系统等。
  • 控制器父类构造函数操作,如菜单构造、全局跳转等。(作用范围限于控制器)
  • 数据库模型类构造函数操作,如多数据库切换、读写分离等。(作用范围限于模型类)
全局操作的建议及限制

全局操作是比较方便的编程技巧之一,通常可以让开发者无需重复编写代码就可以在多个页面中执行代码,尤其在单入口程序中,这点更为明显。

建议在SpeedPHP框架推荐的位置进行全局操作,这些位置包括:入口文件全局定义位置、控制器父类构造函数、数据模型类构造函数。

全局操作的限制,主要是尽可能衡量一个操作是否应该加入到全局操作中,如果将一些并非太有必要全局操作的代码加入全局操作,反而会造成资源浪费。


2012-08-05 11:51:45