大牛们进来解惑

yunprince 2012-03-15 11:07:45
比如写个无限导航类

array(
array(
'id'=>1,
'pid'=>0,
'name'=>'主页'
),
array(
'id'=>2,
'pid'=>0,
'name'=>'新闻'
)


像这样的数据是初始化类的时候存在类属性中还是需要的时候在读取进来(数据库或者文件都行),关键是综合考虑内存效率那种方式比较好
说明:
1、由于是导航,所以会频繁调用
2、此数据会比较的多,树结构大于3,估计在6个的样子
...全文
190 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloyou0 2012-03-16
  • 打赏
  • 举报
回复
懒加载 <= "Lazy loading"
qq120848369 2012-03-16
  • 打赏
  • 举报
回复
你把计算机想的太脆弱了, 磁盘比你脑子转的快多了。
xuzuning 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yunprince 的回复:]
写入类属性中(初始化就存在),和需要时加载(肯定会被加载,只是应该说比类属性稍微晚点),除了时间上的差别,还有其他啥子差别没有?
[/Quote]
我指的是:不建议就数据的代码写入类属性中,一旦这样做了,以后的修改就很麻烦
你的数据是一个导航条的数据,不能想象不会发生变化
后期加载可做到,当导航条发生改变时,你只需从新制作数据文件就可以
coder 2012-03-15
  • 打赏
  • 举报
回复
Lazyload 岂不是更懒
狄默默斯基 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xuzuning 的回复:]

引用 2 楼 laokaizzz 的回复:

在需要的时候读进来比较好,速度性能会比较高
http://baike.baidu.com/view/1617569.htm
Load On Demand 按需加载
居然还发明出一个“懒加载”
[/Quote]


百度百科是不准的,无需介怀
laokaizzz 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xuzuning 的回复:]

引用 2 楼 laokaizzz 的回复:

在需要的时候读进来比较好,速度性能会比较高
http://baike.baidu.com/view/1617569.htm
Load On Demand 按需加载
居然还发明出一个“懒加载”
[/Quote]
哈哈,我也是最近才知道这么个东西。。
黄袍披身 2012-03-15
  • 打赏
  • 举报
回复
这个导航多数跟目录 和文件有关系,而且以后还要维护什么的,所以数据的对应关系应该通过数据库来存储
然后在需要的时候生成文件再include 这个文件。
狄默默斯基 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 yunprince 的回复:]
比如写个无限导航类
PHP code

array(
array(
'id'=>1,
'pid'=>0,
'name'=>'主页'
),
array(
'id'=>2,
'pid'=>0,
'name'=>'新闻'
)

[/Quote]
你以为php是脆弱的语言吗,做好数据库优化就可以了


像这样的数据是初始化类的时候存在类属性……
黄袍披身 2012-03-15
  • 打赏
  • 举报
回复
这个翻译有意思啊 Load On Demand 懒加载 哈哈
音译过来的吧 翻译人士非计算机人士

benz 奔驰.

[Quote=引用 4 楼 xuzuning 的回复:]

引用 2 楼 laokaizzz 的回复:

在需要的时候读进来比较好,速度性能会比较高
http://baike.baidu.com/view/1617569.htm
Load On Demand 按需加载
居然还发明出一个“懒加载”
[/Quote]
yunprince 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xuzuning 的回复:]
但不建议写在类属性中
[/Quote]

写入类属性中(初始化就存在),和需要时加载(肯定会被加载,只是应该说比类属性稍微晚点),除了时间上的差别,还有其他啥子差别没有?



xuzuning 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 yunprince 的回复:]
1、由于是导航,所以会频繁调用
2、此数据会比较的多,树结构大于3,估计在6个的样子[/Quote]
既然是导航条数据,显然变化是不大的。并且变化周期也较长
你可以缓存数据到文件,方便需要时读出
但不建议写在类属性中,因为修改起来很麻烦
yunprince 2012-03-15
  • 打赏
  • 举报
回复
看了#2链接,差不多,就是这样的,由于数据会比较的大(其实也没多大,不过到后期的话会越来越大),所以说比较的难搞,但是感觉需要的时候读也差不多吧,因为每次进入页面都要加载这个数据(项目需要,不能搞成死的,必须动态的),所以说放入类属性中和要的时候载入感觉差不多...
下面的继续
xuzuning 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 laokaizzz 的回复:]

在需要的时候读进来比较好,速度性能会比较高
http://baike.baidu.com/view/1617569.htm
[/Quote]Load On Demand 按需加载
居然还发明出一个“懒加载”

  • 打赏
  • 举报
回复
把导航数据放在一个begin.php页面中,在每个分页include()不就好了吗?我看到一个成品项目就是在代码中直接写着的。你也可以存入文件/数据库,感觉直接写挺好啊。
laokaizzz 2012-03-15
  • 打赏
  • 举报
回复
在需要的时候读进来比较好,速度性能会比较高
http://baike.baidu.com/view/1617569.htm
大师兄 2012-03-15
  • 打赏
  • 举报
回复
写缓存啊,如果有memcached的话,直接写进去去,要不然文件缓存也可以
yunprince 2012-03-15
  • 打赏
  • 举报
回复
没人气了,有人回答我#7问题木有?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧