最近我试图适应PSR标准。在PSR-1 document上声明:
文件应该声明符号(类,函数,常量, 等)或引起副作用(例如产生输出,改变.ini 设置等)但不应该两者兼而有之。
这是否意味着在类中的函数中编写输出(比如说echo '<b>some bold text</b>';
)是我不应该做的事情?
答案 0 :(得分:5)
那不是那个意思。
所有它指的是当你include
这些文件时会发生什么。 include 'foo.php'
的结果要么要么已经创建了一堆新符号(类,函数,常量),或发生了一些副作用(自动加载器)添加,生成HTML输出,或者通常发生)。这两件事情不应该混在一起,因为你经常想要加载类而不会造成一些不可避免的副作用。
如果您1)include
该文件,然后2)明确调用产生副作用的函数,那就完全没问题了。否则产生副作用的所有代码都不能写在类或函数中,这简直就是无意义。
答案 1 :(得分:0)
总结一下例子。
<?php
namespace Foo;
class Bar
{
// ...
}
?>
<b>some text here</b>
<?php
namespace Foo;
class Bar
{
// ...
}
<b>some text here</b>
<?php echo "hello world"; ?>