php的全局问题

lonelybug 2009-06-01 12:11:03
到目前php5位置,我想知道,仍然不能实现真正的全局变量么?或者说是真正的singleton设计模式。

每次页面加载,不论是static还是global都一样归零。

娜这样子php引入面向对象的理念也是一点意义没有,因为根本没有办法应用基本的一些设计模式,比如singleton或者工厂类。

只能说,在一个页面上,是可以实现唯一对象引用,但是,一旦访问另一个页面,这个对象要从新加载,相对的,如果另一个用户访问,那更是不可能共享。

总的来说,php到底为什么引入面向对象呢?难道就是因为,别人都有,所以也做一个糊弄自己么?

php的作者也太可悲了,说实话。本身就是解释性语言,从根本就实现不了的事情,何必做这个强弩之功呢!?

我再次请求各位高手,是不是我说错了,我当然希望我有错误,这样说明,我做的东西还能实现,不然,真是欲哭无泪。
...全文
147 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shagoo 2009-06-02
[Quote=引用楼主 lonelybug 的帖子:]
到目前php5位置,我想知道,仍然不能实现真正的全局变量么?或者说是真正的singleton设计模式。

每次页面加载,不论是static还是global都一样归零。

娜这样子php引入面向对象的理念也是一点意义没有,因为根本没有办法应用基本的一些设计模式,比如singleton或者工厂类。

只能说,在一个页面上,是可以实现唯一对象引用,但是,一旦访问另一个页面,这个对象要从新加载,相对的,如果另一个用户访问,那更是不可能共享。…
[/Quote]

要弄清楚 PHP 是一门解释性语言~ 在页面范围内使用 static 变量还是有效果的~
我们以前的项目中也经常使用这类模式~ 如果要实现真正的单例模式(全局范围内)那估计只能借助内存函数实现了 哈哈~~
  • 打赏
  • 举报
回复
lonelybug 2009-06-02
首先谢谢各位的耐心解答,我非常高兴确定了我的判断。

那相对的来说,用php写一些大型的商业逻辑关系复杂的程序,我估计那基本上是不可能了,当然,写是可以写出来的。
  • 打赏
  • 举报
回复
xuzuning 2009-06-01
[Quote=引用楼主 lonelybug 的帖子:]
到目前php5位置,我想知道,仍然不能实现真正的全局变量么?或者说是真正的singleton设计模式。

每次页面加载,不论是static还是global都一样归零。

娜这样子php引入面向对象的理念也是一点意义没有,因为根本没有办法应用基本的一些设计模式,比如singleton或者工厂类。

只能说,在一个页面上,是可以实现唯一对象引用,但是,一旦访问另一个页面,这个对象要从新加载,相对的,如果另一个用户访问,那更是不可能共…
[/Quote]
恭喜你获得了真谛。
任何事物都要还其本原,而发挥其长处
不过,适当的引入基本的oo,还是有助于编程的
  • 打赏
  • 举报
回复
dhgdmw 2009-06-01
PHP的特点就是全部加载全部释放,程序编的再烂也极难出现严重的内存泄露问题,如果要应用设计模式,可以参考下那些PHP的构架
  • 打赏
  • 举报
回复
fxs_2008 2009-06-01
首先弄清一点,php是单线程的
一次加载全部,然后释放全部!

没有常驻内内存的对象!

所以,对象,框架都会影响效率
  • 打赏
  • 举报
回复
发帖
基础编程

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
帖子事件
创建了帖子
2009-06-01 12:11
社区公告
暂无公告