Recently the kernel was revised to be a place for interfaces and functions. This has been a bit of a learning curve and definitely steps further from the simplicity of the past (which could perhaps be reworked to another much simpler project).
The latest thinking down the "more complicated / bigger app" road is to adhere more to an MVC paradigm, which is essentially that models, controllers and views are all written in a programming language. This would require:
the docroot not be named views (this was always a bad homage anyway).
the src include an app dir, which would have a model, view, and controller directories
the view dir would contain renders that are unique to the app (as opposed to the main render, which may be an abstract factory) facilitating forking the main framework code and keeping it in sync outside of the app. General renders (like sections, headers, canonical, behavior would still be in abstract class)
The view classes have logic that can render and un-render html:md in a 1:1 fashion, no matter the complexity.
notes:
view renders, are they implicit or explicit. Meaning, to they map to a model, or does a model declare which renderers it employs. Seems like the latter is better.
Recently the kernel was revised to be a place for interfaces and functions. This has been a bit of a learning curve and definitely steps further from the simplicity of the past (which could perhaps be reworked to another much simpler project).
The latest thinking down the "more complicated / bigger app" road is to adhere more to an MVC paradigm, which is essentially that models, controllers and views are all written in a programming language. This would require:
src
include anapp
dir, which would have amodel
,view
, andcontroller
directoriesview
dir would contain renders that are unique to the app (as opposed to the main render, which may be an abstract factory) facilitating forking the main framework code and keeping it in sync outside of the app. General renders (like sections, headers, canonical, behavior would still be in abstract class)view
classes have logic that can render and un-render html:md in a 1:1 fashion, no matter the complexity.notes: