我有一个类,其中包含执行各种数据库检查的方法.然后它返回值,如果存在.
这是一个非常基本的设置示例:
class myClass{
var $aVar1;
var $aVar2;
function myMethod()
{
// database query
// if results from query return **results**
// else return false
}
}
HTML / PHP文件
// setup $myClass object var
<?php if($myClass->myMethod(): ?>
// lots of html
<?php echo $myClass->myMethod() ?>
// lots of html
使用不同的方法在我的文件中多次发生这种情况.我的问题是,我最初调用该方法并检查它是否为假,然后再次调用它来回显输出.
我可以执行以下操作,但最终会在每个方法上使用变量声明.必须有更专业的方法吗?
$myMethod = $myClass->myMethod();
if($myMethod): ?>
// lots of html
// lots of html
有更清洁更有效的方法吗?
解决方法:
古老的问题.一种常见的技术是将返回值存储在临时变量中
$result=$myClass->myMethod();
if($result!=FALSE)
echo $result;
您也可以使用更简单的版本
if($result=$myClass->myMethod())
echo $result;
而你也可以使用最简单的一个!
echo $myClass->myMethod() ?: '';
比最简单的一个简单!
echo $result=$myClass->myMethod();
标签:php,class
来源: https://codeday.me/bug/20190608/1200033.html