Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split kohana/core into multiple modules #536

Open
lenton opened this issue Aug 28, 2014 · 8 comments
Open

Split kohana/core into multiple modules #536

lenton opened this issue Aug 28, 2014 · 8 comments
Milestone

Comments

@lenton
Copy link
Contributor

lenton commented Aug 28, 2014

I propose kohana/core gets split up into multiple modules, here are some basic siggestions (the actual packages can be properly discussed in this issue):

  • kohana/log
  • kohana/config
  • kohana/validation
  • kohana/i18n
  • kohana/session
  • kohana/router
  • kohana/view
  • kohana/helpers

These packages will all have independent versioning of one another and begin their stable release at 1.0.0. They will be required by kohana/kohana and enabled by default in the bootstrap. They will all implement Koharness and use travis-ci so they can be tested in isolation.

Modularising Kohana will be a huge benefit as any part of Kohana can be removed and switched if it's not needed by the application. Modules can properly define what they actually depend on instead of just specifying kohana/core. After splitting up Kohana into modules we will find that we no longer need a kohana/core package.

The only backwards incompatible changes to be made by users should be to simply add these new modules to their bootstrap in place of kohana/core. Kohana will still function exactly as if they were all in the same repository.

@mintbridge
Copy link
Contributor

Sounds like a good idea to me. Where do we stand on using external libraries for some of these? For example Monolog for logging, patchwork/utf8 for the UTF functions..

@lenton
Copy link
Contributor Author

lenton commented Aug 28, 2014

Where do we stand on using external libraries for some of these? For example Monolog for logging, patchwork/utf8 for the UTF functions..

Modularising kohana/core would definitely make switching out a kohana module with a 3rd party library a lot easier. Many applications rely on libraries such as kohana logs and kohana utf8 so I think we still should carry on developing them (even though there may be better alternatives out there).

@enov
Copy link
Contributor

enov commented Sep 1, 2014

I feel that it's good to separate the core into smaller modules, that's probably what @shadowhand wants to have with his Ohanzee components. But maybe should we go down this road after v.3.4?

@rjd22
Copy link

rjd22 commented Sep 5, 2014

I'm don't really know what version this would belong in but I think it's a great feature to have in 3.4. Splitting off most the modules should be really easy because of the CFS.

@WinterSilence
Copy link

This will require global implementation DI, it will increase the "abstraction layer" code.
How will combine these modules? New ideas is nice, but need practical solutions..

@lenton
Copy link
Contributor Author

lenton commented Nov 17, 2014

@WinterSilence The initial splitting of the core module would simply be a case of copy and pasting files into separate repositories, it doesn't require any changes the the code. We could start by splitting them off one by one and enabling them after the core in bootstrap.

@WinterSilence
Copy link

@lenton it's bad idea - make a step by step plan before do something. Many items only slows down the file system.

@shadowhand
Copy link
Contributor

@lenton please don't copy paste, but rather split the repositories properly.

@WinterSilence said:

Many items only slows down the file system.

Nothing but FUD. Or more accurately, a sure sign of Dunning-Kruger effect.

@lenton lenton changed the title Split kohana/core into multiple repositories Split kohana/core into multiple modules Dec 15, 2014
@lenton lenton added this to the 3.4.0 milestone Feb 2, 2015
lenton referenced this issue in kohana/kohana Feb 27, 2015
Few lines of comments that help define Cookie::$salt in bootstrap.
See Redmine issue http://dev.kohanaframework.org/issues/4624
@neo22s neo22s modified the milestones: 5.0.0, 3.4.0 Mar 21, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants