注意说明运行环境。
__autoload 只在php5起才有,以下表述也基于php5方法定义于类中,所以并不存在自动加载的问题如果是想动态的增加对象的方法,可以利用__call变相完成

解决方案 »

  1.   

    感谢唠叨~我的意思是: 
        比如自己写了好多函数! 每个函数一个文件!
        我不想在每一个页面中把所有函数都包含一次! 也不希望在用函数之前include,所以出自下策~
        如果用__call的,那么必须要把函数写在类里了! 可是我的函数是独立开的啊    用的是php5
      

  2.   

    “如果用__call的,那么必须要把函数写在类里了”
    那肯定不是了!
    __call方法的第一个参数就是方法名,如何动作完全有你决定
    你可以把他看作函数并动态加载和执行只是__call只能作用于对象不能作用与类
      

  3.   

    对的`    __call只能作用于对象不能作用于方法
    ----------------------------那我的那种想法实现不了了吗?  
    如果有自动加载函数的方法就好了~~
      

  4.   

    不好意思  写错了:(---------------应该是: 只是__call只能作用于对象不能作用与类
      

  5.   

    你或许可以利用错误处理机制来完成这个工作另类的做法是将自定义函数交给统一的接口去调用
    myfunc(函数名, 参数....)
      

  6.   

    你或许可以利用错误处理机制来完成这个工作
    -------------------
    PHP可以抓取错误并判断错误类型然后进行特殊处理吗?
    用什么函数呢? trigger_error等几个函数我都看了好像没有这种用法! 
    另类的做法是将自定义函数交给统一的接口去调用
    myfunc(函数名, 参数....)
    -------------------
    这几方法不怎么喜欢, 看起来不怎么顺眼
      

  7.   

    通过set_error_handler将php的错误处理转向到自定义的错误处理函数
    手册中有例子
      

  8.   

    set_error_handler好像只适用于 E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE 三种错误对于E_ERROR等无能为力 :(