Я новичок в Kohana и его каскадной файловой системе.
Из того, что я понимаю, использование каскадной файловой системы позволяет расширять базовые классы и заставлять ваш модуль использовать подкласс вместо исходного базового класса (что-то вроде патчей обезьян). Я не совсем понимаю, почему нам нужно создавать пустые подклассы и помещать всю логику в классы Kohana. Это просто похоже на взлом, а дублирующиеся классы усложняют отслеживание вызовов.
Исходя из этого документ по каскадной файловой системе, он всегда будет проверять путь приложения перед модулями, поэтому возможно ли просто полностью перезаписать базовые классы новыми версиями в пути приложения? Я не уверен, где здесь пустые классы. Фактический конкретный пример поможет, спасибо.
Я никогда не понимал, что пустые классы расширяют основные классы Kohana, поэтому вы не одиноки.
Я часто создавал классы с теми же именами, что и пустые, чтобы полностью перезаписать их. Это будет сделано либо в модулях, либо в папках приложений.
Kohana компилирует файлы в следующем порядке: система -> модули -> приложение … поэтому, если вы создадите класс с тем же именем в каталоге приложения, он перезапишет любой класс с таким же именем в системе или модулях.
Я часто создаю повторно используемые классы в своих собственных модулях, а затем перезаписываю определенные методы в других модулях, если мне нужно, чтобы они вели себя немного иначе. Вы можете указать порядок загрузки модулей, изменив файл bootstrap.php в каталоге приложения.
Практически единственная причина, по которой я все еще использую Kohana, заключается в возможностях Hierarchical MVC (HMVC), для которых я не могу найти эквивалентную функциональность ни в одной из других платформ. Это очень мощный и гибкий инструмент, особенно для крупных проектов.
Однако, если вы только попадаете в Kohana, вы можете пересмотреть, поскольку это кажется умирающей структурой — разработчики, похоже, потеряли интерес, что является настоящим позором, потому что у него такой большой потенциал. Это достаточно стабильный фреймворк, как он есть.
Надеюсь, это поможет вам.
Других решений пока нет …