weekly update
The last week has been for for the restructuring of the ZenMagick source files. One of the main reasons for that is that the recently added support for the magic __autoload() function really helps and allows to structure files according to logic (I hope) and not to please the loader.
The result will be new folder lib, replacing the current core folder to hold all general source files. This is perhaps not the end, but it’s good enough for now.
In there, there will be three subfolder:
- core
The real core. All files in here depend only on each other. That means it will be easy to re-use those files without and other dependencies. All that’s required are two or three lines of code:include 'whatever/path/to/core/ZMLoader.php'; ZMLoader::instance()->addPath('whatever/path/to/core/'); ZMLoader::instance()->loadStatic(); // only required if using creole
- mvc
This will eventually contain the generic MVC bits of ZenMagick. Right now this is still pretty empty as there are too many dependencies to the store related code and extracting this is really only planned post ZenMagick 1.0.
However, seeing that I do work on this code continuously, it’s good to have a place for those changes rather than just making notes and hope that I will remember what I had planned sometime in the future. - store
This is the place for all store related code. This includes helper code, the controller, configuration files, etc.
Should it ever come to a proper generic MVC framework, this code will move into a separate store project that gets executed as one of (hopefully) multiple web applications on top of the framework. Ideally, the admin application could be a second one (sharing a lot of the store related code).
Other than that I’ve landed the product association framework and a first handler that implements the zen-cart also_purchased_products.php functionallity. I hope that before the next release is due to have at least one more handler that will allow to tag products. We’ll see how that goes.
Also, there has been some initial work/thinking about vBulletin integration. I am really excited about this since the project includes a great vBulletin developer that will handle the forum side of the code, which is something I am very grateful about!
Next on my list is following up on the outstanding work on the shipping provider and cart service. Definitely enough for another week
