Как правило, имеет только оператор return в php файле

Как правило, имеет только оператор return в php файле? Если да, может ли кто-нибудь показать мне, как это используется в других файлах?

<?php

return ['someVariable' => 'someValue'];

Прекрасным примером являются файлы конфигурации в структуре Laravel, например database.php.

Ответы

Ответ 1

Нет, не так просто иметь только оператор return, но иногда он используется для хранения информации о конфигурации в отдельном файле 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']);

Ответ 2

Когда включенный файл возвращает значение, include() или require() вернет это значение вместо стандартного 1.

Это не обычное использование, но оно полезно в некоторых ситуациях, например, в примере файла конфигурации. (Ужасная альтернатива, которую я видел во многих приложениях PHP, заключается в хранении значений конфигурации в глобальных переменных или константах.)

Ответ 3

Итак, я делаю что-то подобное этому, когда хочу создать своего рода 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, чтобы вытащить нужную мне информацию; как в вызове AJAX с использованием javascript. Вы можете выполнить итерацию по массиву, чтобы вытащить запрошенную информацию. Например, скажем, я POST параметр Car='Coupe', я мог бы установить условие, подобное следующему:

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

Что бы вывести индекс JSON с массивом Coupe. Я понимаю, что это не использование вызова return, но это один из способов использования массивов в автономных файлах PHP.