将 if 语句放入 javascript 标记内的 phtml 文件的有效方法
Valid way to put if statement into the phtml file within a javascript tag
我有以下代码需要检查用户是否登录到系统。它自身的对象属于以下类型:
$signInUser = new Zend\Session\Container("signInUser");
$signInUser = $signInUser->user;
现在我要做的是检查用户是否登录:
if(<?!empty($signInUser['id'])?>)
{
mixpanel.track("landing_page", {
"brand":"<?= $this->config()['brandName'] ?>",
"journey": j,
"mission": m
});
console.log('user is logged in');
}
else{
console.log('user is not logged in');
}
这是混合 JS 和 PHP 代码的有效方法吗??我注意到有些人确实喜欢这样做,但我不太清楚为什么;
<?=!empty(something)?>
我上面的 if 语句可以吗?这是正确的做法吗?
Uncaught SyntaxError: Unexpected token )
为什么??
让我尝试修复代码中的问题:
if (<?php echo !empty($signInUser['id']) ? 'true' : 'false'; ?>)
{
mixpanel.track("landing_page", {
"brand":"<?php echo $this->config()['brandName']; ?>",
"journey": j,
"mission": m
});
console.log('user is logged in');
}
else{
console.log('user is not logged in');
}
我建议避免使用短标签并写 <?php echo '...'; ?>
而不是 <?= ...?>
。关于这一点有 many different opinions 但至少你应该准确地了解你在做什么。
在你的例子中我认为问题出在这里if(<?!empty($signInUser['id'])?>
你打算在这里做什么?现在它应该输出 if()
这是损坏的 JS 代码并导致 JS 错误。
而且错误应该像你显示的那样
Uncaught SyntaxError: Unexpected token )
我有以下代码需要检查用户是否登录到系统。它自身的对象属于以下类型:
$signInUser = new Zend\Session\Container("signInUser");
$signInUser = $signInUser->user;
现在我要做的是检查用户是否登录:
if(<?!empty($signInUser['id'])?>)
{
mixpanel.track("landing_page", {
"brand":"<?= $this->config()['brandName'] ?>",
"journey": j,
"mission": m
});
console.log('user is logged in');
}
else{
console.log('user is not logged in');
}
这是混合 JS 和 PHP 代码的有效方法吗??我注意到有些人确实喜欢这样做,但我不太清楚为什么;
<?=!empty(something)?>
我上面的 if 语句可以吗?这是正确的做法吗?
Uncaught SyntaxError: Unexpected token )
为什么??
让我尝试修复代码中的问题:
if (<?php echo !empty($signInUser['id']) ? 'true' : 'false'; ?>)
{
mixpanel.track("landing_page", {
"brand":"<?php echo $this->config()['brandName']; ?>",
"journey": j,
"mission": m
});
console.log('user is logged in');
}
else{
console.log('user is not logged in');
}
我建议避免使用短标签并写 <?php echo '...'; ?>
而不是 <?= ...?>
。关于这一点有 many different opinions 但至少你应该准确地了解你在做什么。
在你的例子中我认为问题出在这里if(<?!empty($signInUser['id'])?>
你打算在这里做什么?现在它应该输出 if()
这是损坏的 JS 代码并导致 JS 错误。
而且错误应该像你显示的那样
Uncaught SyntaxError: Unexpected token )