YM_PHP framework
v0.6.0
YM框架是由:AMEN 一人製作,由湮滅網路工作室開發。
此框架是php原生框架,可隨意透過include 或require 進行引入,無目錄限制。
可以透過app.use()定義路由,框架已過濾xss
模板,透過模板變量,用{{}}包裹,即可實現傳遞變量值讓更多不喜歡composer的php開發者都可隨意寫項目到手可用,clone到本地後,直接用任意編輯寫,根據框架規則書寫即可,無需任何依賴(當然運行還是要php與web服務組件)
- 不需要composer進行管理,讓喜歡自由的人發展更方便。
- 路由自訂,沒有定義的路由將直接報錯
- debug可定位到某一個檔案/類別[方法]/函數/檔案/行
- 靜態檔案無需再次定義路由,只需使用靜態檔案全域變數即可
- 模板文件,使用render或sendFile,可使用模板變量,使用php開發後將變數傳遞過去即可,支援html標籤,javascript傳遞
- 支援params參數,跟難看的get參數說拜拜(REST_ful風格)
- 更多優點等你發掘······
- 為回應安全,框架放棄5.6,最低7.0
- 若您仍想用5.6,則需更改部分即可:global define改為普通賦值,把這兩個常數用到的地方改為普通變數即可
- php >=7.0 <8.2
下載最新框架,取代舊框架如下:
- /bin 目錄
- /app.php 文件
- /index.php 文件
即可升級至最新版,如報錯,請查看版本更新日誌,對照修改對應部分
目前文件版本:0.6
文件版本與框架最新版本號相同
專案文件預設最新框架內容,如您下的框架中,沒有此文件說明的類別/函數等,說明不是最新版本
不支援子目錄運行例如你的網域掛在:[/www/ym] 裡,但是將本框架放在[/www/ym/ym2] 裡,然後透過: http://host/ym2 來執行,這樣不可以
0.1:框架誕生
0.2:
- 修復路由不准問題。
- 修正靜態檔案指向本機問題,現指向host,自動判斷協議
- 新增防盜,防非法引入功能:靜態檔案注入了防盜防引入,只有頁面載入時靜態檔案才有效,載入完畢靜態檔案失效
- 新增YM_CLASS方法。新增系統路由不可定義
- 新增取得query參數,/ww/dd這種,可取得ww,dd
0.3:
- 修正當有get參數時路由不準問題,新增模糊路由,如:
App: use ( ' /admin ' ,'路由路径',false);
- 則直接對/admin或/admin/login等其他路由
- 刪除靜態檔案防盜功能,此功能發現很雞肋
- 對靜態路由最佳化引入,防止輸出檔案類型錯誤
- 刪除不必要註釋,這些註釋會讓靜態檔案失效
- 最佳化$request->sendFile()支援靜態檔案全域變數
- 優化了取得路由參數錯誤問題
0.4:
- 最佳化路由策略,更快到達指定路由,優化模糊(不嚴格)路由演算法,不浪費伺服器效能
- 對模板文件進行文件類型判斷,對靜態文件的類型演算法進行最佳化
- 增加YM_request中方法requestType,傳回目前使用者請求類型:put,get,post等
- 增加靜態檔案類型目錄:fonts data,data中可以放txt或音訊檔案等
- 對DEBUG方法:error 進行了最佳化,可直接定位哪一個方法,哪一個類,哪一個函數,哪一個文件,第幾行出的錯(可開關debug:/bin/config/Config.php)
- 更改YM_request 類別中方法名,更人性化
- body_post->post
- query_get->get
- query->params
- is_get->whetherGet
0.5 | 2022年7月22日:
- 解決當有連接埠號碼運行時,導致靜態檔案指向錯誤
- 最佳化資料庫類,新增:multi_query,update_array,insert_array,get_row_all。優化sqlite資料庫連線方式
- rsa加密解密最佳化,解決金鑰長度問題,自動取得金鑰長度
0.6 | 2022年9月11日:
- 適配PHP8.0和PHP8.1,其餘暫未測試
- 解決PHP7.4以上參數淨化出錯BUG
- 增加取得IP自訂請查看文件使用方法YM_request->ipV2(int $type,string $zdy=NULL)
- 增加自訂錯誤頁面YM_request->statusPage(int $response_code,string $path,array $options=[])
- 增加取得目前日誌YM_request->getLog()
- 修改YM_Class類別的send_mail方法,增加參數:$Secure,如指定後,則指定此協定進行連接郵箱,否則根據連接埠自動判斷。發送失敗不再是直接輸出頁面,而是傳回錯誤訊息,1成功狗則回傳錯誤訊息
- 框架新增waf防火牆,可選擇啟用與不啟用,直接註釋即可,懂waf規則的可自行書寫,不懂的想開的也可以保持默認,可以讓自己的web程序更好的安全
其他版本|: 更多請看專案文件:http://ym-php.rkru.cn/ #專案文件連結http://ym-php.rkru.cn/