zblogphp icon indicating copy to clipboard operation
zblogphp copied to clipboard

zblogphp.php 中 Load()的一点小疑问

Open mbzshare opened this issue 2 years ago • 2 comments

zblog版本号1723040,在zblogphp.php文件中的 Load() 方法中: $this->isloadcategories || $this->LoadCategories(); isloadcategories不论是false还是true都会执行后面的 $this->LoadCategories(),感觉isloadcategories没啥意义啊 之所以有这个疑问是因为:主题开发时,分类模块等是主图按需进行处理,所以不想让在这里就进行加载,所以想通过 Filter_Plugin_Zbp_Load_Pre hooks 将isloadcategories设置为false,发现设置为false是没啥用的...

mbzshare avatar Apr 08 '22 02:04 mbzshare

PHP中的逻辑运算会惰性求值,就是当能求出值时,就不会继续运算。所以当$this->isloadcategories == true时,可以求出表达式的值为true,将不会再求$this->LoadCategories()的值。 具体可以参考官方文档:https://www.php.net/manual/zh/language.operators.logical.php#example-121

vainl avatar Apr 19 '22 09:04 vainl

谢谢解答,晓得了

mbzshare avatar Apr 20 '22 04:04 mbzshare