Как правило, имеет только оператор 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.