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 方法中 调用此函数哪种方法 能达到 效率与 结构的最优化呢?

解决方案 »

  1.   

    1、2 都可以,首选 2
    3 不可取,因为包含文件中定义的函数和类都是全局的另外,定义自动加载函数 __autoload 很机巧,但约束较大,执行效率也是个问题
      

  2.   

    3 因为 是全局的  所以 使用一次 get 或者 set 后 第二次只是判断了 不用加载了啊 
      

  3.   

    我用的是第二种,在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(参数);
      

  4.   

    2: 在filecache.class.php require_once("file.class.php");推荐2如果可以的话建议if(!class_exist('file')) {
        require("file.class.php");
    }