Дублирование 1 строки при выводе?

Добрый вечер! Код довольно просто и приземленный, но иллюстрирует суть проблемы, спасибо!

Дерево каталога на изображении.
b40428a790354ad9ba8f0acac58b5a8f.PNG

index.php
<?
ini_set('display_errors', 1);
require_once("applic/bootstrap.php");
?>


bootstrap.php
include 'core/core.php';
include 'core/route.php';

//route::start();
$route = new route;
$route->start();


route.php
<?
class route
{
  public function start(){
    include 'applic/core/core.php';
  }
}
?>


core.php
<?
$r = "string";
echo "$r";
?>


в результате вместо string в браузере получаю stringstring.
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
Akdmeh
@Akdmeh
PHP, Yii2, Music
Вы сначала один раз подключили файл в bootstrap (это привело к выводу), а затем второй раз внутри метода.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@entermix
При первом подключении в файле bootstrap.php:
include 'core/core.php';

Срабатывает код:
$r = "string";
echo "$r";


Потом, когда выполняете $route->start();, вы опять подключаете core.php, т.е. опять срабатывает этот код:
$r = "string";
echo "$r";


Используйте include_once, require_once, чтобы файл не подключался несколько раз
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы