Мой первый модуль под Drupal заработал
Самому не верится.
![](https://geniy1s.ru/wp-content/uploads/2023/02/image-90.png)
Там было много шаманства с регистром букв. Имя файла контроллера тоже важно. Сначала не работало, выдавало ошибку:
ReflectionException: Class «\Drupal\zohobooks\Controller\ZohoBooksController» does not exist in ReflectionMethod->__construct() (line 135 of /var/www/myfirm/data/www/zohobooks.myfirm.com/web/core/lib/Drupal/Core/Entity/EntityResolverManager.php).
Но я победил!
Код контроллера:
![](https://geniy1s.ru/wp-content/uploads/2023/02/image-91.png)
Код роутинга:
![](https://geniy1s.ru/wp-content/uploads/2023/02/image-92.png)
Описание модуля:
![](https://geniy1s.ru/wp-content/uploads/2023/02/image-93.png)
Файлы в папке модуля:
![](https://geniy1s.ru/wp-content/uploads/2023/02/image-94.png)
Файл в папке контроллера:
![](https://geniy1s.ru/wp-content/uploads/2023/02/image-95.png)
Тут важно, что имя файла класса должно соответствовать тому, как оно объявлено!
Чтение документации существенно ускоряет процесс обучения. И никакого шаманства не будет
Где об этом в документации написано? В Drupal плохая диагностика ошибок, вот в чем дело.
В доках по ООП http://www.drupal.org/node/608152
спасибо, но слишком много букв. Вместо 100500 слов дайте нормальную диагностику. Почему ее нет в Drupal? Или нормальное программирование и мазохизм — это синонимы?
Дело в умении читать диагностику. Ты мало писал на других языках просто. Приходит с опытом, так что продолжай. Знания дело наживное.
Не надо демагогии. Диагностика в данном случае плохая — могли бы и отметить что файл не соответствует имени класса, для этого все есть.