Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我不应该在类的函数中编写输出?_Php_Psr 1 - Fatal编程技术网

Php 我不应该在类的函数中编写输出?

Php 我不应该在类的函数中编写输出?,php,psr-1,Php,Psr 1,最近,我试图适应PSR标准。在报告中指出: 文件应声明符号(类、函数、常量、, 或引起副作用(例如生成输出、更改ini 设置等),但不应同时执行这两项操作 这是否意味着在类中的函数中写入输出(比如说,回显“一些粗体文本”;)是我不应该做的事情?这不是什么意思 它所指的是当您包含这些文件时会发生什么。include'foo.php'的结果应该是创建了一堆新符号(类、函数、常量),或者发生了一些副作用(添加了自动加载程序,生成了HTML输出,或者通常发生了一些事情)。这两件事不应该混为一谈,因为您经

最近,我试图适应PSR标准。在报告中指出:

文件应声明符号(类、函数、常量、, 或引起副作用(例如生成输出、更改ini 设置等),但不应同时执行这两项操作


这是否意味着在类中的函数中写入输出(比如说,
回显“一些粗体文本”;
)是我不应该做的事情?

这不是什么意思

它所指的是当您
包含这些文件时会发生什么。
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"; ?>