CoreThink是一套輕量級WEB產品開發(fā)框架,CoreThink可輕松實現移動互聯(lián)網時代支持多終端的輕量級WEB產品快速開發(fā)。系統(tǒng)功能采用模塊化開發(fā),內置系統(tǒng)設置、分類管理、底部導航、數據備份、開發(fā)者工具(菜單管理、配置管理、數據字典、開發(fā)文檔、視頻教程)、用戶管理、部門管理、權限控制、內容模型、模板標簽、模版主題、郵件管理、云存儲、支付中心、插件擴展等模塊,便于用戶靈活擴展和二次開發(fā)。
CoreThink產品介紹:
框架簡介
簡單、輕量、高效
CoreThink是一套輕量級WEB產品開發(fā)框架,追求簡單、高效、卓越?奢p松實現移動互聯(lián)網時代支持多終端的輕量級WEB產品快速開發(fā)。
開源免費
遵循Apache2開源協(xié)議
代碼遵循Apache2開源協(xié)議,并且免費使用,對商業(yè)用戶友好。CoreThink將成為一面國產開源旗艦產品。
極易使用
容易上手
CoreThink 極易使用:沒有復雜的代碼和新生語法,原生TP語言直接調用即可。后臺Builder可快速擴展功能無需編寫模版。
無限可能
想到做到
CoreThink 可以用來開發(fā)企業(yè)網站、門戶網站、多用戶博客、O2O商城、微信公眾號第三方平臺,你想到的它都能辦到。
通俗文檔
通俗易懂
CoreThink 通俗文檔:文檔通俗易懂,盡量規(guī)避專業(yè)術語,努力用最白話的形式表述。
ThinkPHP構建
大道至簡
依托新版ThinkPHP的功能優(yōu)勢和命名空間的特性,官方七年磨一劍,用心打造。更高,更快,更強!
快速迭代
敏捷開發(fā)
CoreThink 快速迭代:第一時間提交新功能的代碼。當然也歡迎大家一起貢獻代碼。
安裝教程:
CoreThink框架支持兩種安裝模式,第一種標準模式安裝屬于業(yè)內比較通用的安裝方式,一路點擊下一步即可。第二種開發(fā)模式安裝適合在Paas平臺部署以及開發(fā)者在本地調試開發(fā)時采用。用戶可以結合自己的實際情況進行選擇。
1.標準模式安裝
1)下載CoreThink源代碼,解壓縮至本地WEB服務器根目錄或者上傳至虛擬主機/VPS的WEB服務器網站跟目錄;
2)瀏覽器訪問主機IP或者域名進入安裝界面,同意進入下一步系統(tǒng)環(huán)境檢測;
3)環(huán)境檢測如果全部通過則點擊下一步進入參數設置,否則請先處理紅色✖️的項目;
4)填寫數據庫信息、管理員信息,點擊下一步開始安裝系統(tǒng),成功后將會提示。
2.開發(fā)模式安裝
1)請先了解Apache或者Nginx的環(huán)境變量配置;
2)下載CoreThink源代碼,解壓縮至WEB服務器根目錄;
3)自行將/Application/Install/Data/install.sql數據庫文件導入到即將使用的MySQL數據庫中;
4)參數配置
如果是本地開發(fā)配置Apache參考如下
DocumentRoot "/var/www" ServerName www.corethink.cn ErrorLog "/var/log/apache3/corethink_error_log" CustomLog "/var/log/apache3/corethink_access_log" commonOptions Indexes FollowSymLinks MultiViews AllowOverride All Order deny,allow Allow from all SetEnv CT_DEV_MODE true #開發(fā)模式開關開啟 SetEnv CT_DB_HOST 127.0.0.1 #數據庫IP地址 SetEnv CT_DB_NAME corethink #數據庫名稱 SetEnv CT_DB_USER root #數據庫用戶名 SetEnv CT_DB_PWD corethink #數據庫用戶密碼
如果是Paas平臺則配置類似下面這樣:
5)打開首頁訪問即可完成。
此部署方式適合于在PaaS平臺部署或者本地開發(fā)部署,能在進行項目版本控制時保證配置文件不用改變。
系統(tǒng)設置:
在一個產品使用中,必不可少的是各種各樣的配置,比如網站的標題、網站的SEO關鍵字、網站的LOGO等。ThinkPHP框架本身提供了配置文件的形式來集中管理各類配置的需求,在一般情況下(運營者了解ThinkPHP)基本滿足需求。然而考慮到現代的產品運營一般屬于專業(yè)運營,很可能完全不懂技術,這時候對系統(tǒng)就提出了比較高的要求,一個現代的系統(tǒng)應當提供圖形化界面以供使用者設置某些參數。
做系統(tǒng)設置有兩種方案,一種在后臺提供設置界面,用戶修改配置后寫回ThinkPHP配置文件,第二種也是當前本系統(tǒng)采用的方案,即:在數據庫建立一種系統(tǒng)配置表,用戶經常需要修改的配置存儲到數據表里,當系統(tǒng)接收到訪問請求時,首先從數據庫讀取所有的配置再與配置文件的配置進行合并,接下來再執(zhí)行正常的事務流程。實際流程如下圖:
相關實現方案如下:
1)修改配置
管理員在后臺修改網站標題、網站描述、版權信息等配置后提交到系統(tǒng)。系統(tǒng)接收數據后保存到數據庫。
/** * 獲取某個分組的配置參數 * @author jry <598821125@qq.com> */ public function group($tab = 1){ //根據分組獲取配置 $map['status'] = array('egt', '0'); //禁用和正常狀態(tài) $map['group'] = array('eq', $tab); $data_list = D('SystemConfig')->where($map)->order('id asc')->select(); //構造表單名、解析options foreach($data_list as &$data){ $data['name'] = 'config['.$data['name'].']'; $data['options'] = parse_attr($data['options']); } //使用FormBuilder快速建立表單頁面。 $builder = new \Common\Builder\FormBuilder(); $builder->title('系統(tǒng)設置') //設置頁面標題 ->SetTablist(C('CONFIG_GROUP_LIST')) //設置Tab按鈕列表 ->SetCurrentTab($tab) //設置當前Tab ->setUrl(U('groupSave')) //設置表單提交地址 ->setExtraItems($data_list) //直接設置表單數據 ->display(); } /** * 批量保存配置 * @author jry <598821125@qq.com> */ public function groupSave($config){ if($config && is_array($config)){ $config_object = D('SystemConfig'); foreach ($config as $name => $value){ $map = array('name' => $name); $config_object->where($map)->setField('value', $value); } } S('DB_CONFIG_DATA',null); $this->success('保存成功!'); }
2)系統(tǒng)獲取數據庫配置并于本地配置文件合并
這一步實際上是在AdminController中實現的,是繼登錄檢測、權限檢測之后的第三步。
//讀取數據庫中的配置 $config = S('DB_CONFIG_DATA'); if(!$config){ $config = D('SystemConfig')->lists(); $config['DEFAULT_THEME'] = ''; //后臺無模板主題 S('DB_CONFIG_DATA',$config); } C($config); //添加配置