关注LAMP|PHP源代码分析|web架构|PHP扩展|Erlang|服务端架构

PHP单例模式的必要性

  多数人都是从单例模式的字面上的意思来理解它的用途, 认为这是对系统资源的节省, 可以避免重复实例化, 是一种"计划生育".  而PHP每次执行完页面都是会从内存中清理掉所有的资源. 因而PHP中的单例实际每次运行都是需要重新实例化的, 这样就失去了单例重复实例化的意义了. 单单从这个方面来说, PHP的单例的确有点让各位失望. 但是单例仅仅只有这个功能和应用吗? 答案是否定的,我们一起来看看.

1.
php的应用主要在于数据库应用, 所以一个应用中会存在大量的数据库操作, 在使用面向对象的方式开发时(废话), 如果使用单例模式, 则可以避免大量的new 操作消耗的资源.

2.
如果系统中需要有一个类来全局控制某些配置信息, 那么使用单例模式可以很方便的实现. 这个可以参看zend Framework的FrontController部分.

3.
在一次页面请求中, 便于进行调试, 因为所有的代码(例如数据库操作类db)都集中在一个类中, 我们可以在类中设置钩子, 输出日志.避免到处var_dump, echo.

cygwin导入windows用户

系统重装后,发现cygwin许多不能用了,进入系统path设置,添加 {%cygwinroot%}/bin ,其中{%cygwinroot%}是cygwin的安装目录.
发现可以用了, 由于之前很多设置都是和帐户有关的, 所以需要再导入之前的用户. cygwin没有adduser命令, 只能通过先windows添加用户, 然后通过如下命令来实现:
mkpasswd -l [-d] > /etc/passwd
mkgroup  -l [-d] > /etc/group
-d 用于导入域用户.
 

2009年03月6日HTML/CSS/JS

0 Comments

设置body高度为浏览器页面高度

在ie6下直接设置

body {height: 100%;}   

以上代码在ie7和ff下无效, 需如下设置:
html, body {height:100%; overflow:hidden;}  

overflow:hidden是为了避免ff下可能出现的竖向滚动条(在使用frame的情况下)

返回顶部