2015-12-19 2 views
-1

Я просто новичок в Kohana и ее каскадной файловой системе.Классы Kohana и каскадная файловая система

Из того, что я понимаю, использование каскадной файловой системы позволяет расширить основные классы и сделать ваш модуль используемым подклассом вместо исходного основного класса (вроде как исправление обезьяны). То, что я не совсем понимаю, - это то, почему нам нужно создавать пустые подклассы и ставить всю логику на классы Коханы. Это просто похоже на взломы, и дубликаты классов очень затрудняют отслеживание вызовов.

Основываясь на этом doc on cascading file system, он всегда будет проверять путь приложения сначала перед модулями, так что можно просто полностью перезаписать основные классы новыми версиями на пути приложения? Я не уверен, где здесь подходят пустые классы. Спасибо, спасибо за конкретный конкретный пример.

+0

Вы говорите о своих занятиях? Вам не нужно использовать пустые классы для этого (но вы можете, если вы создаете библиотеку для других пользователей). Эти подклассы полезны, если вы хотите изменить поведение (метод патчей или добавить новый) без изменений в исходных файлах. – biakaveron

ответ

1

Я никогда не понимал необходимости в пустых классах, расширяющих ядро ​​Коханы, поэтому вы не одиноки.

Я часто создавал классы с теми же именами, что и пустые, чтобы полностью их переписать. Это будет сделано либо в модулях, либо в папках приложений.

Kohana компилирует файлы в следующем порядке: system -> modules -> application ... поэтому, если вы должны были создать класс с таким же именем в каталоге приложения, он перепишет любой класс с тем же именем в системе или модулей.

Я часто создаю повторно используемые классы в своих собственных модулях, а затем перезаписываю определенные методы в других модулях, если мне нужно, чтобы они вели себя несколько иначе. Вы можете указать порядок загрузки модулей, изменив файл bootstrap.php в каталоге приложения.

Практически единственная причина, по которой я все еще пользуюсь Коханой, - это возможности Иерархического MVC (HMVC), для которых я не могу найти эквивалентную функциональность в любой из других фреймворков. Он массово мощный и гибкий, особенно для крупных проектов.

Однако, если вы только что попадаете в Кохану, вы можете захотеть пересмотреть, поскольку это похоже на угасающую структуру - разработчики, похоже, потеряли интерес, что является настоящим позором, потому что у него так много потенциала , Тем не менее, это достаточно стабильная структура.

Надеюсь, это вам поможет.

Смежные вопросы