php 类文件应该如何互相加载

puber 2011-04-27 02:53:27
file.class.php 文件操作函数 类名 file
filecache.class.php 缓存文件,用来将数据存到文本文件中

class filecache
{
//设置缓存
function get(%key)
{
}
//读取缓存
function set($key,$val)
{}

.....
}
这个类中的 get,set 函数 需要加载 file.class.php 文件

1: 写一个公共的inc.php 文件 require_once("file.class.php"); 同时 require_once("filecache.class.php");
2: 在filecache.class.php require_once("file.class.php");
3: 在 get,set 方法中分别 require_once("file.class.php");
4:
增加一个函数
private function readobj()
{
if (!class_exists("File"))
{
require_once("file.class.php");
}
}
在 get,set 方法中 调用此函数

哪种方法 能达到 效率与 结构的最优化呢?
...全文
147 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lazyboy_wu 2011-04-27
  • 打赏
  • 举报
回复
2: 在filecache.class.php require_once("file.class.php");

推荐2

如果可以的话建议

if(!class_exist('file')) {
require("file.class.php");
}
  • 打赏
  • 举报
回复
我用的是第二种,在filecache.class.php 里写一个自动加载函数的代码:

$CLASS=$ROOT.'/class';
function __autoload($class_name){
global $CLASS;
require_once ($CLASS."/".$class_name.".class.php");
}

然后用的时候就在php文件中调用一个filecache.class.php 文件就好了。
所有的类都存在你规定的文件夹下,调用的时候在文本中(以你的为例):
$class=new filecache;
$class->get(参数);
xuzuning 2011-04-27
  • 打赏
  • 举报
回复
已经加载了,还去判断一下干嘛呢?
何况代码结构也不好
puber 2011-04-27
  • 打赏
  • 举报
回复
3 因为 是全局的 所以 使用一次 get 或者 set 后 第二次只是判断了 不用加载了啊
xuzuning 2011-04-27
  • 打赏
  • 举报
回复
1、2 都可以,首选 2
3 不可取,因为包含文件中定义的函数和类都是全局的

另外,定义自动加载函数 __autoload 很机巧,但约束较大,执行效率也是个问题

21,886

社区成员

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

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