Php 我不应该在类的函数中编写输出?
最近,我试图适应PSR标准。在报告中指出: 文件应声明符号(类、函数、常量、, 或引起副作用(例如生成输出、更改ini 设置等),但不应同时执行这两项操作Php 我不应该在类的函数中编写输出?,php,psr-1,Php,Psr 1,最近,我试图适应PSR标准。在报告中指出: 文件应声明符号(类、函数、常量、, 或引起副作用(例如生成输出、更改ini 设置等),但不应同时执行这两项操作 这是否意味着在类中的函数中写入输出(比如说,回显“一些粗体文本”;)是我不应该做的事情?这不是什么意思 它所指的是当您包含这些文件时会发生什么。include'foo.php'的结果应该是创建了一堆新符号(类、函数、常量),或者发生了一些副作用(添加了自动加载程序,生成了HTML输出,或者通常发生了一些事情)。这两件事不应该混为一谈,因为您经
这是否意味着在类中的函数中写入输出(比如说,
回显“一些粗体文本”;
)是我不应该做的事情?这不是什么意思
它所指的是当您包含这些文件时会发生什么。include'foo.php'
的结果应该是创建了一堆新符号(类、函数、常量),或者发生了一些副作用(添加了自动加载程序,生成了HTML输出,或者通常发生了一些事情)。这两件事不应该混为一谈,因为您经常希望加载类而不会产生一些不可避免的副作用
如果您1)包含文件,然后2)显式调用产生副作用的函数,那就完全可以了。否则,所有产生副作用的代码都不能用类或函数来编写,这简直是胡说八道。用例子来总结一下
坏例子(混合)
这里有一些文字
好例子#1(类声明)
好的,是的,这一部分我很清楚,但是如果在课堂上有一个写输出的方法,“好例子#1”还会好吗?@vitaliuskuchalski我很惊讶,它仍然被作为一个建议而不是硬规则提到;-)
<?php
namespace Foo;
class Bar
{
// ...
}
?>
<b>some text here</b>
<?php
namespace Foo;
class Bar
{
// ...
}
<b>some text here</b>
<?php echo "hello world"; ?>