Как работает такое выражение php

Подскажите как работает такая строка: $app = require('../lib/base.php');

Просто require() понятно как работает. А допустимо ли присвоить результат require переменной?


Ответы (2 шт):

Автор решения: sousage1212

Еще так, например

example.php

class example
{
  public static function getEcho()
  {
    return 'Hello world';
  }

}

index.php

<?
require_once 'path/to/example.php';

$example = new example();
echo $example::getEcho();

?>
→ Ссылка
Автор решения: Максим Степанов

Если во включаемом файле используется оператор return, то в переменную попадет результат, возвращаемый данным оператором. Если же оператора return нет, в переменную попадет либо 1, либо FALSE, в зависимости от того, успешно ли прошло включение файла.

file_b.php

<?php
echo '<p>echo from file_b</p>';
return "I'm returned from file_b";

// этот код выполнен не будет:
echo '<p>echo from file_b</p>';

file_c.php

<?php
echo '<p>echo from file_c</p>';

index.php

<?php
$file_b = require 'file_b.php';
$file_c = require 'file_c.php';
echo $file_b;
echo '<br />'.$file_c;

/* вывод:
echo from file_b
echo from file_c
I'm returned from file_b
1
 */

Стоит также отметить, что в переменную попадает именно то, что указано в return. Если нужно весь вывод из файла сохранить в переменную, можно использовать буферизацию вывода

→ Ссылка