Задать вопрос
@jef0
Web-developer

В чем проблема?

Изучаю PHP, и вот возникла проблема:

Есть 2 файла: index.php и theme/index.php

Вот содержание index.php

<?php
require_once 'theme/index.php';
Header::create()->AddLink();
?>


И theme/index.php

<?php
<?php
Class Header
{
public static function create()
{
echo file_get_contents('theme/header.html');
}

public function AddLink($text,$url)
{
echo ''.$text.'';
}
}
?>


И при выполнении index.php вылазит ошибка:


Fatal error: Call to a member function AddLink() on a non-object in .../index.php on line 3
  • Вопрос задан
  • 157 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
Такая
Header::create()->AddLink();
запись сработает, если сreate() вернет new Header();
Ответ написан
Комментировать
BuriK666
@BuriK666
Компьютерный псих
у Вас public static function create ничего не возвращает

Class Header
{
public static function create()
{
echo file_get_contents('theme/header.html');
return new Header();
}

public function AddLink($text,$url)
{
echo ''.$text.'';
}
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
soprun
@soprun
Software Architecture
$header = new Header();
$header->AddLink('title', 'href');
Ответ написан
Ваш ответ на вопрос

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

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