介紹
一套具備基礎功能的管理後台,在這基礎之上進行後台開發,簡潔高效,事半功倍!這套後台管理系統,採用了只用到了Smarty的最基礎的編程方式,沒有用到其它編程模式,如MVC。
目的就是用一種任何php程式設計師能看懂的方式來實現,便於程式設計師的二次開發,這樣才可謂門檻最小。
大家都知道,看別人的代碼最煩了,尤其再加上什麼框架之類的,而且並非框架人人都熟悉,如果不熟悉,那這套後台管理系統就很難上手了。
另外,後台嘛,沒有做很多的輸入校驗,比如可以輸入html代碼和javascript代碼,這些問題我認為並不是嚴重的問題,畢竟是後台,功能上夠用就好。
當然二次開發的時候,您可以按照您的習慣去改。
Simple Made Success.|
安裝文檔
開發這個後台使用的開發環境是Apache/2.2.22 (Win32) PHP/5.4.3 ,Mysql 版本 5.5.24-log推薦個人玩家使用WAMP環境進行二次開發
請將目錄里的uploads內的檔案上傳至伺服器的DocumentRoot或者把整個osadmin都傳至DocumentRoot下。
支持域名加目錄的訪問
支持 形如: http://xxx/login.php
支持 形如: http://xxx/osadmin/uploads/login.php
sql目錄中是創建數據表及初始化數據,可直接import,或者copy to query。
執行完成後請將sql目錄移除。
需要pdo_mysql的支持,因為資料庫的操作使用medoo類。
建議將php.ini中 magic_quotes_gpc設為Off (從php5.4之後的版本已將該函式廢棄),否則會自動將特殊字元加上反斜線。
pdo已經自動將特殊字元過濾了,跟java的Statement和PreparedStatement的類似。
測試PDO是否正確安裝 請訪問ADMIN_URL/pdo.php,如果正確則var_dump出mysql的當前時間,否則會給出errorMessage:“could not find driver”。
如何安裝配置:
apache 配置<VirtualHost *:80>ServerName demo_osadmin_org #將下劃線替換成點DocumentRoot d:/wamp/www/osadmin/uploads/DirectoryIndex index.php</VirtualHost>
本機的話,ServerName 可以寫為127.0.0.1 或者localhost
如果寫成其它域名,則要在hosts檔案里(linux路徑/etc/hosts)
(windows路徑 C:\Windows\System32\Drivers\etc\hosts) 加上一條綁定127.0.0.1 demo_osadmin_org#將下劃線替換成點
在訪問頁面之前先修改config.ini.php檔案
//形如:http://www_osadmin_org//或形如:http://www_osadmin_org/demodefine ( 'ADMIN_URL' ,'http://demo_osadmin_org');//把下劃線替換成點.//OSAdmin資料庫設定 define ( 'OSA_DB_ID','osadmin'); define ( 'OSA_DB_URL','127.0.0.1');define ( 'OSA_DB_NAME' ,'osadmin'); define ( 'OSA_DB_PORT' ,'3306');define ( 'OSA_USER_NAME','root'); define ( 'OSA_PASSWORD','');
3306是默認連線埠號
注意:OSA_TABLE_PREFIX 暫時不能修改,請保持 osa_ 不變,除非你自己更改osadmin.sql 檔案里的表名。
注意:將include下的compiled目錄許可權設定為可寫,或者將該目前設定歸屬為apache用戶。
初始用戶 admin/123456
注意在添加功能時,連結不可重複,記住就好了。
便簽就是quicknote,如果不喜歡看到,可以在個人頁(右上角)中關閉。
我在quicknote里默認留了幾條日語的學習經驗,請欣賞。
程式架構很簡單,HTML5+Smarty+Medoo+Bootstrap+bootbox。
有疑問可以論壇留言或者加入OSAdmin官方群:155671907
開發文檔
添加其它資料庫
比如要增加一個樣例資料庫需要如下操作:在include/config/config.inc.php中define ( 'SAMPLE_DB_ID' ,'sample');define ( 'SAMPLE_DB_URL','127.0.0.1');define ( 'SAMPLE_DB_PORT','3306');define ( 'SAMPLE_DB_NAME' ,'osadmin');define ( 'SAMPLE_USER_NAME','root');define ( 'SAMPLE_PASSWORD','');$DATABASE_LIST[SAMPLE_DB_ID] = array ( "server"=>SAMPLE_DB_URL, "port"=>SAMPLE_DB_PORT, "username"=> SAMPLE_USER_NAME, "password"=>SAMPLE_PASSWORD, "db_name"=>SAMPLE_DB_NAME );或者不定義常量,直接寫成$DATABASE_LIST['sample']=array ( "server"=>"127.0.0.1", "port"=>3306, "username"=>"root", "password"=>"", "db_name"=>"sample_db" );在Class中調用:如果每個class都繼承Base.class.php的話那么方法中可以這樣獲取資料庫連結:public static function getSamples() { //以下兩種方式均可以訪問sample的DB $db=self::__instance(SAMPLE_DB_ID); //如果想繼承新的Base類,請參照Base.class.php檔案,你會知道怎么改, //則可以用不傳參數的方式獲取資料庫連結,即繼承了新的父類中的方法, //方法有默認參數。 //$db=self::__instance(); $sql="select ".self::$columns." from ".self::getTableName(); $list = $db->query($sql)->fetchAll(); if ($list) { return $list; } return array (); }