BI php framework has been released (2011-10-01)
I has just release 20111001 version. This release contain much improvement and new features.
Changes:
Folder structure:
- Separated into three folders:
+ App folder: hold all your codes
+ Public folder: hold all client-side script/assets files
+ System: hold all core classes
- With that structure, you can create soft-link/or copy Public folder to your www/htdocs folder.
Besure modify index.php to point to your App folder.
Cache:
- You can turn on/off or configure the cache system want to use in config.php file.
Currently, I only support APC, Memcache and XCache.
MultiLanguage:
- Supported Multi-language. You can choose the default language in config.php file, by specify it with "DEFAULT_LANGUAGE" constant.
- To change language on the fly, please use cookie and function BI_Language::set_language("<new language>");
- Your language file should end with ".ini" and have format as php ini file. You may have multi language files.
- You should put your language files to "/App/Config/locale" and "/App/Plugins/<your plugin name>/Config/locale" if it's language file for your plugin.
Theme:
- Supported theme. You put your themes files to "Themes" folder. Your theme folder should follow this structure:
+ /App/Themes/<your theme name>/
/css # your css files
/images# your image files
/js # your js files
- You can choose which theme in config.php file. Please set <your theme name> for USE_THEME constant.
- Todo: Need to support change theme on the fly.
Plugin:
- This release support multi plugin. Plugin have the structure very similar with App folder:
+ /App/Plugins/<your plugin name>/
/controllers
/helpers
/models
/Config
/views
- Currently, views folder is not work, I will update it as soon as possible.
Layout:
- We suport multi layout. And you can put your layout file to /App/views/Layouts/
- Layout file is a normal php file (mainly html plus some php function)
- You can set placeholder in layout file, by command yield("<place holder>"), and you can set data for <place holder> by command "content_for("<place holder>", data)"
Multi-database:
- You can setup multi database, by set "options" in your model class. Note: I has not tested it yet.
Fix bug and improvement:
- I fixed some bugs and improve the Model component. Let you create your model quickly and effective.
- Todo: add eager loading function.