Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Создание объекта класса
Форумы портала PHP.SU » » Вопросы новичков » Создание объекта класса

Страниц (1): [1]
 

1. psevdo - 07 Сентября, 2017 - 11:41:11 - перейти к сообщению
Здравствуйте. Есть такой код:
PHP:
скопировать код в буфер обмена
  1.  
  2. class Program {
  3.    public function start() {
  4.       $reportBuilder = new ReportBuilder();
  5.  }
  6. }
  7.  
  8. interface IReportBuilder {
  9.  public function createReports();
  10. }
  11. class ReportBuilder implements IReportBuilder {
  12.    public function createReports() {
  13.       return [
  14.         'report1',
  15.         'report2',
  16.         'report3',
  17.         'report4'
  18.     ];
  19.   }
  20. }
  21.  

Кто-нибудь подскажет почему я не могу создать экземпляр класса ReportBuilder?
Цитата:
Fatal error: Uncaught Error: Class 'test\ReportBuilder' not found
2. Мелкий - 07 Сентября, 2017 - 12:10:41 - перейти к сообщению
Потому что код который вы показали и код который вы пытаетесь запустить - различаются. Согласно тексту ошибки у вас используются пространства имён.
3. psevdo - 07 Сентября, 2017 - 12:20:25 - перейти к сообщению
Мелкий пишет:
Потому что код который вы показали и код который вы пытаетесь запустить - различаются. Согласно тексту ошибки у вас используются пространства имён.


Пространство имен не используется. Весь код находится в одном файле.
(Добавление)
Разнес классы по разным файлам и пошло.. Разве так нельзя делать?
4. Мелкий - 07 Сентября, 2017 - 12:51:05 - перейти к сообщению
psevdo пишет:
Fatal error: Uncaught Error: Class 'test\ReportBuilder' not found

psevdo пишет:
Пространство имен не используется.

Одно из двух.
5. psevdo - 07 Сентября, 2017 - 13:02:51 - перейти к сообщению
Мелкий пишет:
psevdo пишет:
Fatal error: Uncaught Error: Class 'test\ReportBuilder' not found

psevdo пишет:
Пространство имен не используется.

Одно из двух.


Это я экспериментировал с пространствами имен. Думал поможет избавиться от проблемы. В итоге разнес классы по файлам.

 

Powered by ExBB FM 1.0 RC1