<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>MyStep framework web開發框架

MyStep framework web開發框架

2022-06-29 | zip | 22.65 MB | 次下載 | 免費

資料介紹

授權協議 Apache
開發語言 PHP JavaScript HTML/CSS
操作系統 跨平臺
軟件類型 開源軟件
所屬分類 Web應用開發、 Web框架

軟件簡介

邁思框架(MyStep Framework)是一套基于?[PHP 7.0]?的web開發框架,旨在構建一個可以便捷調用常用功能,以最簡潔的代碼實現目標功能,同時具備高度可擴展性,可通過代理模式,方便的將第三方功能模塊集成到框架中。

  • 路由系統 - 框架通過 rewrite 方法接管所有響應,除 static 目錄和自定義擴展類型外,其他文件均無法直接通過 url 訪問,兼具高可控性和安全性。 (IIS對應web.config,Apache對應.htaccess,NginX需參考目錄下文件手動添加)。
  • 路由模式 - 為增加環境適應度,框架同時支持Rewrite,QueryString和PathInfo三種模式,頁面中站內URL只需要按照rewrite的模式書寫(相對于框架目錄,首位無需加"/"),框架將自動調整為對應模式,但為保證最大兼容性,php腳本內的鏈接多以QueryString模式處理。
  • 模版系統 - 采用二次編譯模式,嚴格實現模板與程序的分離,通過通俗的標簽模式調用各類數據?;灸0甯袷胶唵我讓W,方便制作,只要對HTML有一定了解的設計師均可以很快上手,模板修改后即時生效。同時具備高度可擴展性,可根據實際需要任意擴充模版標簽。
  • 插件系統 - 可插件模式擴展框架功能,無論是功能增強、系統優化、前臺展示均可與系統無縫連接。內容評分、評論、投票、專題、檢索、采集、統計等都可以通過插件實現,并可以無縫結合到系統中。
  • 應用接口 - 系統為各類插件提供了豐富的接口,無論是api、模板標簽、代碼嵌入、腳本附加、登錄處理,都可以通過系統接口便捷地實現,為二次開發或插件開發提供最大限度的支持和自由。
  • 多語言支持 - 系統可以隨意添加語言包,通過調整參數立即變化。
  • 緩存機制 - 通過三級緩存保證高效
    • 數據緩存,用于緩存從數據庫查詢出的結果集,包含自建文件和數據庫兩種模式,也可通過代理模式擴展;
    • 頁面緩存,可將解析好的頁面整體緩存到緩存文件,在過期前不用再次生成頁面,即實現了靜態化的效果,也保留了動態腳本的特性;
    • 瀏覽器緩存,通過etag標識,在客戶端再次請求頁面數據時,如頁面未發生變化,則直接從客戶端緩存調用數據,減少了對服務器帶寬的請求。

公共函數:

  • getMicrotime($rate) - 獲取微秒時間
  • getTimeDiff($time_start, $decimal, $micro) - 取得時間差
  • getDate_cn($date) - 獲取中文日期
  • shortUrl($url, $max_length) - 縮略鏈接
  • tinyUrl($url) - 獲取短網址
  • isMobile() - 判斷是否為移動設備
  • isHttps() - 判斷當前是否為SSL鏈接
  • myEval($code) - 自定義代碼執行
  • checkPara($att_list, $parse) - 檢測數據變量中是否有待解析的變量,并解析
  • recursionFunction($func, $para) - 遞歸執行某一函數
  • getOB() - 獲取緩存區內容并清空
  • debug系列函數 - 變量情況查看

執行順序:

所有響應網址均通過rewrite模塊反饋給根目錄下的index.php腳本統一處理,雖然框架也支持QueryString和PathInfo兩種模式,但是為了更好的網址優化和安全性,建議采用rewrite的方式,主要執行流程如下:

  • 初始化框架 - 通過框架根目錄index.php,調用myStep::init()
  • 路由模式判斷 - 通過 $router->check() 判斷是否存在自定義路由
    • 當前響應路徑符合已設定的自定義路由規則,按規則調用指定的響應方法,可由多方法依次執行構成多級響應??赏ㄟ^框架默認處理方法myStep::getModule()調用相應模塊(具體處理流程詳見核心類對應方法講解),也可以根據需要替換為自定義方法。
    • 如未發現何時規則,則分析響應路徑,將一級路徑或默認app指定為響應app,并調用該app路徑下的index.php處理
  • 框架變量設置 - 在獲取執行入口之后,框架將繼續調用以下程序
    • myStep::setPara() - 此方法在執行入口腳本之前將調用,用于加載應用設置(config.php)、應用函數庫(lib.php),并設置基本框架變量
    • $mystep->preload() - 并非myStep類中的原生方法,但是如果應用擴展類中存在此方法,將會在聲明類后立即執行
    • lib.php - 應用函數庫(app/[name]/lib.php,推薦使用命名空間),在核心類已加載并聲明實例后加載
    • global.php - 本腳本為應用通用腳本,自定義路由模式下通過 myStep::getModule() 自動加載,其他模式下需手動加載,可用于在模版實例聲明后做后期變量及程序調整。
    • $mystep->shutdown() - 并非myStep類中的原生方法,但是如果應用擴展類中存在此方法,將在頁面結束時執行

PHP常量:

  • PATH - 當前應用路徑
  • ROOT - 框架根目錄路徑
  • ROOT_WEB - 框架相對于網站根目錄的相對路徑
  • APP - 應用存放路徑
  • LIB - 函數及類存放路徑
  • CACHE - 緩存及臨時文件存放路徑
  • CONFIG - 配置文件存放路徑
  • PLUGIN - 插件存放路徑
  • STATICS - CSS、JS及圖片等靜態文件存放路徑
  • VENDOR - 第三方應用庫存放路徑
  • FILE - 文件上傳目錄

全局變量:

  • $s - 框架配置,通過對象模式調用,如$s->web-title
  • $info_app - 當前調用應用的基本信息,除對應APP信息外(APP目錄下info.php定義),還包括path(數組)和route(字符串)項目
  • $mystep - 應用入口類,如應用路徑下不存在以應用路徑名命名的類(如test/test.class.php里面的test類,且此類應該是mystep類的擴展),則調用默認mystep類
  • $db - 數據庫操作類,在函數初始化時根據設置連接,采用代理模式,可擴展
  • $cache - 數據緩存類,在函數初始化時根據設置連接,采用代理模式,可擴展
  • $tpl_setting - 模版參數,從 app 設置中調用,并繼承于全局變量
  • $tpl_cache - 模版緩存參數,從 app 設置中調用,并繼承于全局變量

基礎類:

myBase為抽象類,可為所有其他子類提供統一的構建方法和錯誤處理;myTrait為擴展類,可為所調用的類提供一整套魔術方法

  • myBase->__construct - 將構造函數引導至init方法
  • myBase->setErrHandler - 設置錯誤處理函數
  • myBase->error - 通過異常處理類處理代碼錯誤
  • myTrait->__set - 添加類動態變量,即沒有在類中聲明過的變量
  • myTrait->__get - 調用類動態變量,如變量名為instatnce,則直接返回新的當前類實例
  • myTrait->__destruct - unset類時,注銷所有類內部變量
  • myTrait->__call - 智能判斷并調用方法別名,動態方法或類外部函數
  • myTrait->addMethod - 動態添加類方法
  • myTrait->regAlias - 注冊類內方法別名

控制類:

myController類為核心控制類,具體用法請參加功能類文檔,其中幾個重要方法說明如下:

  • 頁面附加內容設置 - 包括 setAddedContent 和 pushAddedContent 兩個方法,可設置指定關鍵字的內容,并將相關內容插入到模版中"page_關鍵字"的位置
  • 語言文件管理 - 包括 setLanguage,setLanguagePack 和 getLanguage 三個方法,可設置語言、語言包或調用指定語言、指定索引的文字
  • 應用接口設置 - 包括 regApi 和 runApi 兩個方法,可通過路由的 /api/[str]/[any] 調用
  • 模塊設置 - 包括 regModule 和 module 兩個方法,可通過路由的 /module/[str]/[any] 調用
  • 模版標簽設置 - 包括 regTag 一個方法,將在調用show方法時加載給模版類
  • 鏈接設置 - 包括 regUrl 和 url 兩個方法,通過指定方法和相關參數生成對應鏈接
  • 插件設置 - 包括 regPlugin 和 plugin 兩個方法,每個插件是應用接口,模塊,標簽和鏈接的組合
  • 代碼鉤子設置 - 包括 setFunction 和 run 兩個方法,將在指定的位置(start,end,page等,也可自定義)依次(順序或倒序)執行指定的方法
  • 用戶賬戶管理 - 包括 regLog,login,logout 和 chg_psw 四個方法,用于與第三方用戶系統對接
  • 腳本管理 - 包括 addCSS,removeCSS,clearCSS,CSS,addJS,removeJS,clearJS 和 JS 八個方法,用于動態加載js和css腳本
  • 頁面控制 - 包括 start,show 和 end 三個方法,用于頁面起始、顯示和結束
  • etag方法 - 用于賦予或調用指定標識的瀏覽器緩存
  • file方法 - 直接顯示指定文件
  • guid方法 - 生成唯一ID
  • setOp方法 - OPcache設置與調用
  • regClass方法 - 設置類自動載入規則
  • setAlias方法 - 設置類調用別名
  • header方法 - 返回指定的響應頭(可以編碼或指定的索引,具體參見源代碼)

核心類:

myStep類擴展自myController類,具體用法請參加功能類文檔,其中幾個重要方法說明如下:

  • start($set_plugin) - 執行于腳本主程序開始之前,用于設置框架類及其方法的調用別名,設定錯誤報告模式,加載應用對應插件,初始化cookie和session,聲明數據庫($db, 如$s->db->auto為false,則不建立連接,以便于無數據庫操作的應用)和緩存($cache)實例,以及為狀態變量賦值
  • show(myTemplate $tpl) - 用于加載網站基本參數至模版實例,并將結果直接顯示(在此可添加針對顯示內容的預處理方法);同時也檢測并按需更新應用腳本文件([appName].js 和 [appName].css,詳情見相關專題),如設置"$mystep->setting->show = true",則將在頁面最下面顯示基本運行信息。
  • render(myTemplate $tpl) - 與 show 方法類似,但是返回通過模版實例所生成的頁面內容,而不是直接顯示
  • setLink($content) - 針對所生成頁面的鏈接,根據設定的鏈接模式(rewrite,pathinfo或querystring)進行處理,頁面模版中只要按照rewrite模式書寫,在頁面顯示時將自動通過本預處理方法調整為對應設置的鏈接。
  • end() - 腳本結束時所用的方法,搜集并對比運行結束時的信息,結束并清空變量,并智能調用用戶擴展類中自定義的 shutdown() 方法
  • info($msg, $url) - 執行結果或提示信息顯示,并在5秒后自動跳轉到對應的鏈接
  • redirect($url, $code) - 腳本內鏈接跳轉,如$url為空則退回來路鏈接;$code默認是302臨時跳轉,可根據需要改變。
  • init() - 靜態方法,預初始化基本設置信息(如發現有錯誤將自動調整),聲明類加載模式,如為首次執行框架的話,將自動跳轉到初始設置頁面
  • go() - 框架執行入口,加載設置信息,判斷靜態文件并直接顯示,否則根據路由規則調用相關腳本
  • setPara() - 聲明框架實例,默認直接調用myStep類,也可在對應APP中擴展,框架會自動調用APP目錄下"[appName].class.php"中與APP同名的類。將APP配置覆蓋全局配置,然后再調用start方法,同時聲明預加載的css和js腳本文件以及模版的初始設置。
  • vendor($class_info) - 調用位于VENDOR目錄下的第三方PHP功能類,需要滿足以下條件。
    • 如$class_info為字符串,所調用類(位于vendor目錄下)的目錄名、文件名和類名必須一致,其中文件名可為"名稱.php"或"名稱.class.php"
    • $class_info可以為數組,包含
      • dir - 目錄名稱,如不設置默認與 file 值相同
      • file - 不帶擴展名的文件名稱,擴展名可為".php"或".class.php",如不設置默認與 dir 值相同
      • class - 調用類名稱,如不設置默認與 file 值相同
      • namespace - 類的命名空間,沒有請留空
    • 方法中除了首參數($class_info)外,后面的參數將用于在聲明類時,構造函數(__construct()或init())的初始化
  • getModule($m) - 自定義路由處理函數(也可以通過自定義方法處理自定義路由,詳情參見"自定義路由"專題),機制如下:
    • 傳入參數 $m - 本參數傳遞路由外的路徑信息,如路由為 /manager/[any],URI 為 /manager/path1/path2,則 $m 為 path1/path2,即[any]部分,但需要注意的是在本方法中,$m 被截取為 path1。此參數可直接在自定義的路由處理腳本內調用,但如需在下級函數中調用,需要先進行global處理。
    • 本方法將通過 myStep::setPara 方法調用當前 app 設置中的模版參數設置(可繼承于全局設置,存儲于全局變量 $tpl_setting 中)
    • 本方法將按照如下順序調用處理腳本(發現可用腳本后將立即調用并停止試探)
      • app路徑/module/模版樣式/$m.php($m 為輸入參數)
      • app路徑/module/模版樣式/路由名稱.php (如路由為 /manager/[any],路由名稱為 manager)
      • app路徑/module/$m.php($m 為輸入參數)
      • app路徑/module/路由名稱.php (如路由為 /manager/[any],路由名稱為 manager)
      • app路徑/module/模版樣式/index.php(模版樣式為設置中對應的內容)
      • app路徑/module/index.php

JS變量:

相關變量是通過腳本在頁面被調取時動態生成,在調用時建議在onload事件或jQuery的$(function(){})中調用

  • language - 調用系統語言設置(可自動擴展app語言包)
  • setting - 調用系統設置(包括:language,router,debug,app,path_root,path_app,url_fix,url_prefix,url_prefix_app等信息,可通過APP設置重的 $setting['js'] 擴充)
  • global - 全局變量,可在任何函數內部調用,可隨意擴種,已包含以下子參數:
    • global.root - 針對rewrite、pathinfo和querystring模式下的根路徑
    • global.root_fix - 配合setURL,用于頁面鏈接的自適應調整
    • global.editor_btn - 針對tinyMCE編輯器的按鈕擴展
    • global.alert_leave - 在含表單的頁面,如果內容發生變更,且通過非提交方式離開頁面的話,將此變量設置為 true,即可出現警告
    • global.timer - 用于計時器的返回值記錄(非強占,可靈活調用)
    • global.func - 頁面載入后所需運行的函數組

JS函數:

  • getPath(lvl) - 獲取相對于網站根的到調用函數頁面所在路徑的lvl級路徑
  • $id(id) - 獲取對應id的頁面元素
  • $name(name, idx) - 獲取對應name的頁面元素(組),idx可為first,last,數字索引,否則返回全部符合的元素組
  • $tag(name, context) - 依照context(默認為document)獲取對應tag的頁面元素組
  • isArray(para) - 判斷變量是否為數組
  • loadingShow(info) - 顯示鎖屏信息,再次調用則關閉
  • openDialog(url, width, height, mode) - 開啟模態窗口
  • openWindow(url,width,height) - 新開窗口
  • sleep(the_time) - 程序終端指定時間
  • copy(obj) - 復制某一頁面元素內容(value或innerText)或者一個字符串
  • rndNum(min,max) - 生成指定范圍內的隨機數字
  • rndStr(len, t_lst, c_lst) - 生成隨機字符串(可自定義采樣內容)
  • watermark(obj, rate, copyright, char_c, jam_tag) - 添加字符串水印
  • md5(str) - 生成str的md5編碼
  • debug(para, mode) - 檢測指定變量para的內容
  • checkObj(obj, func_show) - 查看對象屬性
  • reportError(msg, url, line) - 錯誤信息處理
  • checkSetting() - 通過在需要調用檢language, setting變量的函數開始加上"if(!checkSetting()) return;"(參考global.js中setURL函數的用法)來保證對應函數執行時可調用系統變量
  • setURL(prefix) - 配合域名綁定模式和路由模式,智能處理頁面內鏈接
  • gotoAnchor(theAnchor) - 滾動至對應的錨點
  • ms_func_reg(function) - 注冊需要頁面載入后運行的函數
  • ms_func_run() - 運行于所有頁面載入之后的函數(框架自動在page_end處運行)
  • 對象方法擴展 - 針對 String,Data,Number,Array 等對象
    • string.blen - 返回某字符串的二進制長度
    • string.trim - 去除字符串首尾空字符
    • string.printf - 字符串賦值
    • data.format - 格式化日期(YYYY-MM-dd hh
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>