我一直在使用PHP短回显代码,但意识到它不会打印出方法的返回值。也就是说,以下内容将起作用
<?= $my_variable ?>
<?php echo $my_object->get_value(); ?>
但这不会返回任何内容
<?= $my_object->get_value() ?>
为什么调用一个返回值的方法不能用短手打印到屏幕上?
答案 0 :(得分:5)
在正常情况下,它应该有效。
参见并测试:
<?php
class A {
public function a() {
return 1;
}
}
$a = new A;
?>
<?= $a->a() ?>
输出:1
所以,我认为你的问题伴随着get_value()
方法,似乎该方法没有返回可打印的值。
答案 1 :(得分:5)
看起来没有经过良好测试的代码。您可以运行此代码(可能在sandbox)
<?php
class MyClass {
public function getValue() {
return 'Hello';
}
}
$my_object = new MyClass();
?>
<?= $my_object->getValue() ?>
并看到它输出&#34; Hello&#34;
答案 2 :(得分:2)
<?=
是<?php echo
的短代码,所以它应该以相同的方式。请显示使用get_value()
方法的代码。也许它确实返回空字符串或null :)