将PHP标记留在函数中会导致什么问题?
您可能希望此函数在浏览器中打印名称,它会:将PHP标记留在函数中会导致什么问题?,php,Php,您可能希望此函数在浏览器中打印名称,它会: <?php function name(){ $var = 'Doe'; ?> John <?php echo $var; } name(); ?> 约翰 这种类型的函数可以用作PHP类的方法吗?这是一种糟糕的代码实践吗?没有[syntax]问题,但我几乎无法想象我可以使用这种代码的情况 如果您认为使用MVC之类的体系结构或在OOP中编写代码,或软件开发中的任何最佳实践,那么该代码是个坏主意,因为您
<?php
function name(){
$var = 'Doe';
?>
John <?php echo $var;
}
name();
?>
约翰
这种类型的函数可以用作PHP类的方法吗?这是一种糟糕的代码实践吗?没有[syntax]问题,但我几乎无法想象我可以使用这种代码的情况 如果您认为使用MVC之类的体系结构或在OOP中编写代码,或软件开发中的任何最佳实践,那么该代码是个坏主意,因为您将表示与逻辑混为一谈。这在PHP中不是问题或坏做法。当您需要循环具有大输出的事物时,它特别有用。例如,我可以在类中执行此操作:
function print() {
/* Lets say we have an array of questions and answers like this:
$question->$answer
It will be called $qa
*/
foreach($qa as $question->$answer) {
?><h1><? echo $question; ?></h1>
<?php if('' != $answer) ?>
<p> This question has an answer! </p>
<p><? echo $answer; ?> </p>
<?
}
}
函数打印(){
/*假设我们有一系列问题和答案,如下所示:
$问题->$答案
它将被称为$qa
*/
foreach($qa作为$问题->答案){
?>
这个问题有答案
你认为有多少人能在不挠头的情况下弄清楚这是怎么回事?我的电脑上至少有3个WTF。这肯定不是一个好的做法。@netcoder同意,但到处都能看到(几乎)@netcoder-有人问问题你有什么问题?@Owen:你怎么会认为我有问题?o.这个例子没有显示任何业务逻辑,只是演示而已。你为什么需要在演示层中使用这样的函数?(只是好奇)