1
lamengao 2011-01-05 17:11:48 +08:00
call_user_func
|
3
iloveyou OP 再追加一个问题:
刚你说的函数是调用类动作的,如果我想给一个未知名称的类中的一个公共静态变量赋值怎么办? 示例: $className = '未知类名称'; $className :: parameter = 'test'; //这行报错。 |
4
fmfsaisai 2011-01-05 17:52:50 +08:00
$className :: method();
你确定这样会报错?PHP什么版本的? 以下代码可以运行PHP 5.3.3 <?php class aa{ public static $var; public static function a(){ echo self::$var; } } $cc = 'aa'; $cc::$var = 123; $cc::a(); |
5
iloveyou OP |
7
iloveyou OP @fmfsaisai 看来你是php高手了,一下子就明白我的问题,还写出示例。我就是因为因为php水平遇到瓶颈才决定自己开发个框架练练,好多概念方法都不懂。不过目前还算顺利,控制器和视图部分基本完成了,现在正在弄model部分,这部分最麻烦。打算以后一直完善这个框架,等完善了就作为自己的主力开发框架。
|
8
iloveyou OP 好了,要下班了。改天聊,再次说声谢谢。
|
9
lamengao 2011-01-05 18:32:36 +08:00
@iloveyou 在PHP 5.3 中 $classname::$static_var 已经可以正常工作了。(注意静态变量前面的'$')
|
10
ayanamist 2011-01-05 18:54:29 +08:00
你可以去看看RefectionClass这个类的使用
|
11
summic 2011-01-05 19:05:19 +08:00
类反射全部搞定lz的需求
|
12
CupTools 2011-01-05 23:22:18 +08:00
顺便说句...用 PHP 5.2的同学写Daemon会抓狂的...内存直线上升。5.3才是王道
http://www.php.net/manual/en/features.gc.performance-considerations.php 我表示下面的图很有爱 |
13
ayanamist 2011-01-06 00:24:30 +08:00
@CupTools 你大概没有弄明白官方这个图是什么意思吧。写Daemon要自己做unset的,官方那个图代表5.3的垃圾收集更智能而已,在5.2中可以通过手工代码实现的
|
14
napoleonu 2011-01-06 00:30:54 +08:00
写网站,为什么不用C
|
15
liruqi 2011-01-06 01:37:15 +08:00
腾讯才用C
企鹅全家都用C |
16
TheOnly92 2011-01-06 07:14:23 +08:00
写网站而已,为什么要用到 C?
|
18
CupTools 2011-01-06 11:58:24 +08:00
@ayanamist 我确定一定以及肯定,我将全部变量重设了。我亲身做试验,在5.2下面,每完成一个while,5.2都会增加200kb内存;然后5.3维持在3.4M,100000个while也没有太大的内存变动。在5.2有gc_collect_cycles()?
|
21
TheOnly92 2011-01-06 12:24:02 +08:00
PHP 5.2 才刚刚普遍起来而已,况且我个人的代码有许多功能被 5.3 砍掉了呢,要阅读,修改,重写需要一定时间,所以暂时放着。而且 5.3 才刚出,难保没有什么问题,所以还是静观其变吧。
|
26
ayanamist 2011-01-06 21:02:11 +08:00
|
28
ayanamist 2011-01-07 14:41:27 +08:00
@CupTools 看来你没看到我发的链接的点子上。那个评论说了,确实有的时候unset是没有用的,要自己设NULL改写内存。不过PHP的内存控制一直很不好。我现在已经转向Python开发了
|
32
TheOnly92 2011-01-08 11:19:21 +08:00
5.3 集合了 APC 吧。
|