问个2b问题,在C++里,写在不同的文件里的函数要使用前要把它对应的头文件引入,在php里好像有些是不用的,比如array,mysql_query这些,还有我看一些别人写的代码里也是可以直接用一些自己定义的函数(不在同个文件的),请问这是为什么,如果一个文件里的函数在其他文件里是可见的,那这个可见范围是怎么确定的?

解决方案 »

  1.   

    一样的,php 也是 “写在不同的文件里的函数要使用前要把它对应的头文件引入”你示例的 array,mysql_query这些 是 php 预加载的,所以不需要你在加载
      

  2.   

    mysql_query这种,是php的动态链接库(dll或so)。在php进程启动时,会自动加载。所以你可以直接使用。
    而你自己写的代码,如果和当前环境不在同一个文件,也是需要include的。
      

  3.   

    你所谓看到别人的代码自己定义的函数也不用事先引用就可以用。那只是通过某些特殊方法掩盖了引用。
    比如实现autoload。
    或者b引用了a,c引用a的同时也会自动引用b,反之亦然。无论什么方法,说到底,他其实还是要引用。只不过有时是隐式的,需要了解php的很多技巧或特性才能看出来。