在最近做的项目之中,用到了php的include方法来使得庞大的类的成员函数的内容独立出来,我们都知道include方法是将外部的一个文件引用进来,但是include有一些特殊的地方就是,它并不像C语言的宏那样是在程序运行前将需要的文件替换进来的,所以这样会导致一些问题,请看下面的代码:

请注意这个类中的三个方法,Test1用作对照。
inc.php中的代码是这样的:

那么猜测一下Test2的运行结果会是怎样的?很显然,这样做是不正确的,在include后引用文件的代码会作为单独的一个代码区运行(但是很显然,这部分代码区会和引用处的代码区共享内存),但是在include语句中的return语句并不会被认为是外部函数的return,这使得include可以像无参数的一样使用,我们加入Test3

然后再来看看结果吧!

1

关于这一功能,我在PHP手册中也查到了相关说明,具体请参看PHP:include – Munual: Example #5

说点什么

您将是第一位评论人!

提醒