作者:nuabolalalala6_535 | 来源:互联网 | 2023-08-16 19:07
本文目录一览:
1、thinkphp 5使用require_once的问题
2、php require_once()函数的使用方法
3、如何避免php的require_once
4、php require_once过多是否会导致php性能太差,求各位大大帮助
thinkphp 5使用require_once的问题
你好。
不需要require.
直接实例化命名空间
你这里应该是
$aipface = new \app\index\controller\AipFace;//这样得到控制器对象
php require_once()函数的使用方法
require_once() 为了避免重复加载文件。
意为:加载文件一次
require_once() 语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。
一般都用在包含文件的时候,比如你写了一个类文件a.php,这个文件主要是定义类,代码可能如下:
class p
{
public $a;
function make(}
{
echo $a;
}
}
这个时候你在文件b.php中要使用到该类,就可以再b.php开头加上,require_once(a.php);来加载这个a.php,就相当于把a.php的文件的代码复制到了b.php中。类似的方法还有requeire(),include(),include_once()其中带_once字样的方法都是声明只加载一次,因为你require_once()的别文件中可能已经require_once(a.php)了,如果再加载就造成重复加载,代码量会增加造成解析减慢。
如何避免php的require_once
说一下常用的避免require/include的方法。1、使用魔术函数__autoload
php5可以使用__autoload来避免require,用的好的话,代码里头甚至看不到几个require,真是不错的东西。测试结果表明,使用__autoload之后比 require_once然后再实例化大概要快3倍左右。这个函数最大的用处就是在实例化一个未明确定义的类时去寻找相应的文件并载入(是动态加载哦~)。?php
function __autoload($class_name) {
require_once $class_name . '.php';}$obj = new MyClass1();
$obj2 = new MyClass2();
ps:为了减少与其它第三方类库产生冲突的可能,建议不要直接使用__autoload,而是使用spl_autoload_register(PHP 5 = 5.1.0RC1)。ZEND框架用的就是spl_autoload_register
2、require前检查用class_exists或者function_exists检查一下,确认没有载入过再出手,至少比require_once能快上3倍。php4也可以用上。class_exists('MyClass') or requir('/path/MyClass.class.php'); 还有其他的方法来解决这个问题,但我没使用过。
php require_once过多是否会导致php性能太差,求各位大大帮助
require_once指的是php内部的变量和函数只会用一次;
require_once需要比较php文件是否被包含过了,使用过多_once肯定会降低效率。
建议把所有公用的函数放到一起,直接用require()函数