php文件中只有一个return语句是常见的吗


Is it common to have just a return statement in a php file

php文件中只有一个return语句是常见的吗?如果是,有人能告诉我这是如何在其他文件中使用的吗?

<?php
return ['someVariable' => 'someValue'];

一个完美的例子是Laravel框架中的配置文件,例如database.php。

不,只有返回语句并不常见,但有时它用于将配置信息存储在单独的config.php文件中,以便配置可以与php require一起包含在其他位置。

//config.php
<?php
return [
    'app_key' => 'SomeRandomString',
    'app_secret' => 'SomeRandomString',
]; 

// other-file.php
<?php
$config = require 'path/to/config.php';
$facebook = new Facebook($config['app_key'], $config['app_secret']);

当包含的文件返回值时,include()require()将返回该值,而不是默认的1

这不是常见的用法,但在某些情况下很有用,比如您给出的配置文件示例。(我在许多PHP应用程序中看到过的更丑陋的替代方案是将配置值存储在全局变量或常量中。)

因此,当我想创建一种类似于API的方式来访问某些php文件中的数据时,我会做类似的事情。例如,我可能有一个php文件,它有以下数组:

<?php 
$cars = array(
    'Coupe' => array(
        'Make' => 'Acura',
        'Model' => 'Integra',
        'Doors' => 2,
        'HorsePower' => 150
    )
    'Sedan' => array(
        'Make' => 'Toyota',
        'Model' => 'Camry',
        'Doors' => 4,
        'HorsePower' => 115
    )
)
?> 

然后,我可以在该文件的末尾添加一些内容,这些内容深入到$cars数组中,以提取出我想要的信息;就像在使用javascript的AJAX调用中一样。您可以在数组中进行迭代以提取所请求的信息。例如,假设参数Car='Coupe'POST,则可以设置如下条件:

if(isset($_POST['Car'])) {
    foreach($cars as $k => $type) {
        if($type == $_POST['Car']) {
            echo json_encode($type);
        }
    }
}

它会输出一个带有Coupe数组的JSON索引。我意识到这不是使用return调用,但这是我在独立PHP文件中使用数组的一种方式。