Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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_Scope_Return_Require - Fatal编程技术网

Php 返回所需文件中的对象并引用它

Php 返回所需文件中的对象并引用它,php,scope,return,require,Php,Scope,Return,Require,假设我们有一个文件foo.php: 及 我的问题是,为什么真的需要返回语句和第二种方法?在实际效果或表现上有什么不同吗 -编辑- 作为参考框架,至少在CodeIgniter和Laravel的某些版本中都可以找到这种返回策略。没有实际的区别 在这两种情况下,$a变量最终将在主脚本中定义 两种设计都不太理想。要包含的文件中不应有任何逻辑,只有声明 如果有什么不同的话,这只会稍微好一点: <?php //foo.php return new Foo(); 通过这种方式,您至少可以在消费脚本中定

假设我们有一个文件foo.php:

我的问题是,为什么真的需要返回语句和第二种方法?在实际效果或表现上有什么不同吗

-编辑-
作为参考框架,至少在CodeIgniter和Laravel的某些版本中都可以找到这种返回策略。

没有实际的区别

在这两种情况下,$a变量最终将在主脚本中定义

两种设计都不太理想。要包含的文件中不应有任何逻辑,只有声明

如果有什么不同的话,这只会稍微好一点:

<?php
//foo.php
return new Foo();

通过这种方式,您至少可以在消费脚本中定义任何您想要的变量,并且不需要知道foo.php定义的变量的名称。

正如我添加到我的帖子中一样,我在Laravel和CodeIgniter中都看到了这一点,所以它一定是对的,是吗?谢谢
//in this case, bar.php doesn't have the "return" statement
require('foo.php');
$a->run();
$a = require('foo.php');
$a->run();
<?php
//foo.php
return new Foo();
//bar.php
$foo = require 'foo.php';