В core\cake\libs\controller\images_controller.php
у меня есть этот класс:
<?php
class ImagesController extends AppController
{
....................
function view()
{
....................
}
....................
}
?>
Проблема в том, что мне нужно было изменить поведение ImagesController::view()
, но для этого я изменил core\cake\libs\controller\images_controller.php
напрямую. Не очень хорошая практика для модификации core\cake\
. Вместо этого я должен добавить код к app\
, переопределяя классы в Cake PHP. То, что я планирую сделать, - это вернуть сделанные мной изменения в core\cake\libs\controller\images_controller.php
, в частности, в метод ImagesController::view()
. Затем я планирую добавить файл контроллера с именем images_controller.php
в каталог /app/controllers
. Этот класс расширит ImagesController
в core\cake\libs\controller\images_controller.php
, просто добавив новую функцию view()
, которая переопределит функцию view()
в ядре. Я думаю, что использовать одно и то же имя класса в app\
и core\cake\
можно, но я не уверен. Я могу попробовать это. В /app/controllers
все мои занятия начинаются с AppController
. Например:
class UsersController extends AppController{
....................
}
Но теперь мне кажется, что в /app/controllers
я должен был бы создать такой класс:
class ImagesController extends ImagesController{
....................
}
По сути, ImagesController
класс, который я пытаюсь создать в /app/controllers
, должен быть расширен от класса ImagesController
, который есть в core\cake\libs\controller\images_controller.php
, что означает расширение / наследование от этого класса в core\cake\libs\controller\images_controller.php
:
<?php
class ImagesController extends AppController
{
....................
function view()
{
....................
}
....................
}
?>
class ImagesController extends ImagesController
мне не подходит, потому что я не уверен, что Cake PHP поймет, что я пытаюсь сказать, что имя моего класса в /app/controllers
будет ImagesController
и что я пытаюсь расширить его от класс с именем ImagesController
, определенный в core\cake\libs\controller\images_controller.php
. Как ты мог этого достичь? Спасибо.