设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
Developers
›
Web 开发综合讨论
›
ci中使用静态变量的问题
返回列表
查看:
4102
|
回复:
5
ci中使用静态变量的问题
[复制链接]
zfgf
zfgf
当前离线
积分
2
IP卡
狗仔卡
发表于 2010-12-31 10:36:02
|
显示全部楼层
|
阅读模式
我的代码如下
PHP
复制代码
function
test
(
)
{
static
$mystr
;
$mystr
.=
"xxxx"
;
echo
$mystr
.
"<br>"
;
}
复制代码
在ci中永远只输出一次xxxx,字符串没有加上去。
我的ci中有很多方法需要调用同一个变量,我需要将这个变量弄成静态的(静态属性我也写过但是没用),我想问下这个问题要怎么解决?如果不能这样用静态变量,有没有什么处理办法?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
Hex
Hex
当前离线
积分
50169
IP卡
狗仔卡
发表于 2010-12-31 11:03:43
|
显示全部楼层
你这是类方法,还是普通的函数?
还有,你是在一次请求内,还是多次请求内?
静态变量,也只是在同一个请求内的同一个函数中使用有效果。
回复
支持
反对
使用道具
举报
显身卡
zfgf
zfgf
当前离线
积分
2
IP卡
狗仔卡
楼主
|
发表于 2010-12-31 17:09:04
|
显示全部楼层
只是普通的函数,是多次请求,那么应该怎么做?用缓存?
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50169
IP卡
狗仔卡
发表于 2011-1-2 03:52:50
|
显示全部楼层
PHP 本身不支持跨请求保存任何资源(包括变量,对象实例),也就是说每次请求完释放所有内存。
一般跨请求可以用 Session、数据库等保存数据。
当然第三方的缓存系统也是可以的,比如 memcached 等。
回复
支持
反对
使用道具
举报
显身卡
zfgf
zfgf
当前离线
积分
2
IP卡
狗仔卡
楼主
|
发表于 2011-1-3 09:05:05
|
显示全部楼层
ok
明白了
回复
支持
反对
使用道具
举报
显身卡
lcnphp
lcnphp
当前离线
积分
545
IP卡
狗仔卡
发表于 2011-1-6 15:45:29
|
显示全部楼层
这个解释好,开始我也有点模糊
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页