MyStep Framework 开发示例

URL信息解析:
自定义路由测试:
API接口测试:
模块测试:
脚本代码:
<?PHP
//声明主模版类(直接调用默认模版设置)
$tpl = new myTemplate($tpl_setting, false);
//调整模版设置
$tpl_setting['name'] = 'sample';
//声明子模版类
$tpl_sub = new myTemplate($tpl_setting, false, true);
//为子模版变量赋值
$root = ROOT_WEB;
if(!defined('URL_FIX')) $root = $root.$info_app['app'].'/';
$tpl_sub->assign('root', $root);
$tpl_sub->assign('root2', ROOT_WEB);
$tpl_sub->assign('code', htmlentities(myFile::getLocal(__FILE__)));
//重制敏感信息
$ms_setting->gen->s_usr = '******';
$ms_setting->gen->s_pwd = '******';
$ms_setting->email->password = '******';
$ms_setting->db->password = '******';
//参数列表及模版循环赋值
foreach ([
    'info_app' => '当前app基本信息',
    'tpl_setting' => '模版设置变量,参见模版类【<a href="/Document/myTemplate" target="_blank">使用样例</a>】 【<a href="/Document/myTemplate/detail" target="_blank">方法说明</a>】',
    'tpl_cache' => '页面缓存设置,如设置为false则禁用缓存,参见模版类【<a href="/Document/myTemplate" target="_blank">使用样例</a>】 【<a href="/Document/myTemplate/detail" target="_blank">方法说明</a>】',
    'ms_setting' => '设置信息调用对象,详见【<a href="/console/setting/" target="_blank">框架设置</a>】',
    'mystep' => '核心控制函数,参见【<a href="/Document/myStep" target="_blank">使用样例</a>】 【<a href="/Document/myStep/detail" target="_blank">方法说明</a>】',
    'router' => '当前路由对象,参见【<a href="/Document/myRouter" target="_blank">使用样例</a>】 【<a href="/Document/myRouter/detail" target="_blank">方法说明</a>】',
    'db' => '数据库对象,参见MySQL【<a href="/Document/mysql" target="_blank">使用样例</a>】 【<a href="/Document/mysql/detail" target="_blank">方法说明</a>】',
    'cache' => '缓存对象,参见【<a href="/Document/myCache" target="_blank">使用样例</a>】 【<a href="/Document/myCache/detail" target="_blank">方法说明</a>】',
] as $k => $v) {
    $tpl_sub->setLoop('para', ['name'=>'$'.$k, 'comment'=>$v, 'detail'=>print_r($$k, true)]);
}
//编译子模版页面并赋值到主模版对应变量中
$tpl->assign('main', $tpl_sub->render('', false));
//主页面编译和显示由主框架代码完成
文档说明:
    通过对应app目录下的index.php执行路径模式的路由调用,有如下变量可被调用:
    $tpl_setting = array(
        'name' => 配置里的模版名称(默认是main),一般采用主模版(body标签或主内容区以外的内容)加主体部分(页面主体内容)
        'path' => 指向当前路径下的模版目录
        'style' => 模版样式,如为空则直接调用模版目录下的对应文件
        'path_compile' => 模版缓存存储路径,默认存储在框架缓存目录
    );
    $tpl_cache = array(
        'path' => 缓存存储路径,默认存储在框架缓存目录
        'expire' => 缓存存活时间,仅针对当前模版对象
    );
    此外还包括info_app、s、mystep、db、cache、route等,具体变量信息如下:
$info_app : 当前app基本信息
Array
(
    [name] => 框架演示
    [app] => Sample
    [ver] => 1.0
    [intro] => 框架参数及路由调用模式及相关参数演示
    [copyright] => 版权所有 2022 Windy2000
    [path] => Array
        (
            [0] => method=edit
        )

    [para] => Array
        (
            [id] => 2
        )

    [route] => /method=edit
)

$tpl_setting : 模版设置变量,参见模版类【使用样例】 【方法说明
Array
(
    [name] => sample
    [path] => D:/website/mystep_fw/app/Sample/template
    [style] => 
    [path_compile] => D:/website/mystep_fw/cache/template/Sample/
)

$tpl_cache : 页面缓存设置,如设置为false则禁用缓存,参见模版类【使用样例】 【方法说明
Array
(
    [path] => D:/website/mystep_fw/cache/app/Sample/html/
    [expire] => 86400
)

$ms_setting : 设置信息调用对象,详见【框架设置
myConfig Object
(
    [file:protected] => D:/website/mystep_fw/config/config.php
    [construction:protected] => D:/website/mystep_fw/config/construction/construction.php
    [type:protected] => php
    [parser:protected] => Array
        (
        )

    [setting:protected] => stdClass Object
        (
            [gen] => stdClass Object
                (
                    [language] => default
                    [charset] => utf-8
                    [timezone] => Etc/GMT-8
                    [cache_mode] => File
                    [cache_page] => 1
                    [s_usr] => ******
                    [s_pwd] => ******
                    [close] => 
                    [static] => jpg,jpeg,webp,png,gif,ico,css,js,json,html,htm,woff,woff2,eot,svg,ttf,map,zip,rar,7z,txt,mp3,mp4,flv
                    [memory] => 512M
                    [force_domain] => 
                    [debug] => 
                )

            [web] => stdClass Object
                (
                    [title] => 迈思框架 MyStep Framework
                    [keyword] => mystep,framework,free
                    [description] => 开源PHP框架系统
                    [gzip_level] => 0
                    [minify] => 
                    [etag] => etag_20220101
                    [css] => Array
                        (
                            [0] => bootstrap
                            [1] => font-awesome
                            [2] => glyphicons
                        )

                    [js] => Array
                        (
                            [0] => jquery
                            [1] => jquery.addon
                            [2] => bootstrap.bundle
                        )

                    [update] => mysteps.com.cn
                    [url] => http://mysteps.cn
                )

            [upload] => stdClass Object
                (
                    [path_mode] => Y/m/
                    [ban_ext] => php,exe,com,bat,pif
                    [free_dl] => 
                )

            [template] => stdClass Object
                (
                    [name] => main
                    [path] => template
                    [style] => 
                )

            [session] => stdClass Object
                (
                    [expire] => 30
                    [name] => MyStepSession
                    [mode] => sess_file
                    [path] => D:/website/mystep_fw/cache/session/20230528/
                    [gc] => 1
                    [trans_sid] => 
                )

            [cookie] => stdClass Object
                (
                    [prefix] => ms_380b_
                    [domain] => mysteps.cn
                    [path] => /
                )

            [router] => stdClass Object
                (
                    [mode] => rewrite
                    [default_app] => Sample
                    [delimiter_path] => /
                    [delimiter_para] => &
                    [url_fix] => 
                )

            [email] => stdClass Object
                (
                    [mode] => smtp
                    [host] => smtpx.microsoft.com
                    [port] => 25
                    [user] => bill.gates@microsoft.com
                    [password] => ******
                )

            [db] => stdClass Object
                (
                    [auto] => 
                    [type] => mysql
                    [host] => 127.0.0.1:3306
                    [user] => root
                    [password] => ******
                    [pconnect] => 
                    [charset] => utf-8
                    [name] => mystep
                    [pre] => ms_
                )

            [info] => stdClass Object
                (
                    [time] => 1685270307
                    [host] => mysteps.cn
                )

        )

    [err_handler:protected] => 
)

$mystep : 核心控制函数,参见【使用样例】 【方法说明
myStep Object
(
    [setting] => myConfig Object
        (
            [file:protected] => D:/website/mystep_fw/config/config.php
            [construction:protected] => D:/website/mystep_fw/config/construction/construction.php
            [type:protected] => php
            [parser:protected] => Array
                (
                )

            [setting:protected] => stdClass Object
                (
                    [gen] => stdClass Object
                        (
                            [language] => default
                            [charset] => utf-8
                            [timezone] => Etc/GMT-8
                            [cache_mode] => File
                            [cache_page] => 1
                            [s_usr] => ******
                            [s_pwd] => ******
                            [close] => 
                            [static] => jpg,jpeg,webp,png,gif,ico,css,js,json,html,htm,woff,woff2,eot,svg,ttf,map,zip,rar,7z,txt,mp3,mp4,flv
                            [memory] => 512M
                            [force_domain] => 
                            [debug] => 
                        )

                    [web] => stdClass Object
                        (
                            [title] => 迈思框架 MyStep Framework
                            [keyword] => mystep,framework,free
                            [description] => 开源PHP框架系统
                            [gzip_level] => 0
                            [minify] => 
                            [etag] => etag_20220101
                            [css] => Array
                                (
                                    [0] => bootstrap
                                    [1] => font-awesome
                                    [2] => glyphicons
                                )

                            [js] => Array
                                (
                                    [0] => jquery
                                    [1] => jquery.addon
                                    [2] => bootstrap.bundle
                                )

                            [update] => mysteps.com.cn
                            [url] => http://mysteps.cn
                        )

                    [upload] => stdClass Object
                        (
                            [path_mode] => Y/m/
                            [ban_ext] => php,exe,com,bat,pif
                            [free_dl] => 
                        )

                    [template] => stdClass Object
                        (
                            [name] => main
                            [path] => template
                            [style] => 
                        )

                    [session] => stdClass Object
                        (
                            [expire] => 30
                            [name] => MyStepSession
                            [mode] => sess_file
                            [path] => D:/website/mystep_fw/cache/session/20230528/
                            [gc] => 1
                            [trans_sid] => 
                        )

                    [cookie] => stdClass Object
                        (
                            [prefix] => ms_380b_
                            [domain] => mysteps.cn
                            [path] => /
                        )

                    [router] => stdClass Object
                        (
                            [mode] => rewrite
                            [default_app] => Sample
                            [delimiter_path] => /
                            [delimiter_para] => &
                            [url_fix] => 
                        )

                    [email] => stdClass Object
                        (
                            [mode] => smtp
                            [host] => smtpx.microsoft.com
                            [port] => 25
                            [user] => bill.gates@microsoft.com
                            [password] => ******
                        )

                    [db] => stdClass Object
                        (
                            [auto] => 
                            [type] => mysql
                            [host] => 127.0.0.1:3306
                            [user] => root
                            [password] => ******
                            [pconnect] => 
                            [charset] => utf-8
                            [name] => mystep
                            [pre] => ms_
                        )

                    [info] => stdClass Object
                        (
                            [time] => 1685270307
                            [host] => mysteps.cn
                        )

                )

            [err_handler:protected] => 
        )

    [editor_plugin:protected] => Array
        (
        )

    [editor_btn:protected] => Array
        (
        )

    [mem_start:protected] => 1678128
    [time_start:protected] => 1685270307.97525
    [time_css:protected] => 1667893314
    [time_js:protected] => 1670924337
    [functions:protected] => Array
        (
        )

    [func_tag:protected] => Array
        (
        )

    [func_api:protected] => Array
        (
        )

    [func_log:protected] => Array
        (
            [login] => Array
                (
                    [0] => myStep Object
 *RECURSION*
                    [1] => ms_login
                )

            [logout] => Closure Object
                (
                    [this] => myStep Object
 *RECURSION*
                )

            [chg_psw] => Closure Object
                (
                    [this] => myStep Object
 *RECURSION*
                    [parameter] => Array
                        (
                            [$id] => 
                            [$psw_org] => 
                            [$psw_new] => 
                        )

                )

        )

    [plugins:protected] => Array
        (
            [0] => D:/website/mystep_fw/plugin/badReq/
        )

    [language:protected] => Array
        (
            [plugin_badReq_info_name] => 恶意请求防御
            [plugin_badReq_info_intro] => 阻止恶意请求
            [plugin_badReq_info_copyright] => 版权所有 2019-2022 Windy2000
            [plugin_badReq_info_description] => 阻止有问题的试探连接,防止不必要的服务器开销
            [open] => 开启
            [close] => 关闭
            [etc] => 其他
            [sending] => 正在发送数据
            [unknown] => 未知
            [app_missing] => 未发现所调用的应用!
            [error_para] => 重要参数无法获得,请检查数据是否正常!
            [alert_leave] => 当前页面改变尚未提交,是否确认离开?
            [page_main] => 首页
            [page_update] => 最新更新
            [page_info] => 信息提示
            [page_info_refresh] => 本页面将在 X 秒后跳转,立即跳转
            [page_login] => 请您登录
            [page_logout] => 退出
            [page_error] => 网站出现错误,请联系管理员!
            [page_error_msg] => 目前尚无出错记录!
            [page_error_info] => 目前共有 %d 条出错记录!
            [page_error_module] => 所调用的功能模块不存在!
            [page_error_plugin] => 所调用的插件存在问题,请确认其是否为标准格式!
            [page_error_setting] => 应用不存在相关设置!
            [page_error_403] => 禁止访问!
            [page_error_404] => 调用文件(%s)不存在!
            [page_error_500] => 脚本执行时出错!
            [plugin_active] => 激活
            [plugin_deactive] => 停止
            [plugin_no_setting] => 当前插件没有任何设置选项!
            [plugin_no_info] => 当前插件未发现描述文件,请确认是否可用!
            [plugin_delete_done] => 插件已删除!
            [plugin_upload_done] => 上传成功!
            [plugin_upload_fail] => 上传失败!
            [plugin_upload_exists] => 同名文件已存在!
            [plugin_installed] => 插件安装成功!
            [plugin_uninstalled] => 插件卸载成功!
            [plugin_check_ok] => 插件检测通过,可以正常安装!
            [plugin_check_fail] => 由于未能完全通过检测,当前插件有可能无法正确安装,请根据检测信息提示修正相关问题后,点击“复查”按钮!!
            [login_username] => 用户名
            [login_password] => 密 码
            [login_expire] => 时 限
            [login_expire_unit] => 天
            [login_captcha] => 验证码
            [login_captcha_msg] => 请输入右边字符
            [login_refresh] => 刷新
            [login_ok] => 登录成功!
            [login_error_captcha] => 验证码错误
            [login_error] => 登录错误,错误的用户名或密码!
            [login_logout] => 您已经成功退出系统登录!
            [setting_done] => 配置文件已更新!
            [info_memory] => 内存占用:
            [info_compressmode] => 压缩模式:
            [info_compresslevel] => 压缩级别:
            [info_compressrate] => 压缩比率:
            [info_querycount] => 查询次数:
            [info_exectime] => 执行时间:
            [info_cacheuse] => 缓存模式:
            [link_confirm] => 确 定
            [link_reset] => 重 置
            [link_back] => 返 回
            [link_prev] => 上一页
            [link_next] => 下一页
            [checkform_lenth_limit1] => 请将字符数限制在 %1 个字符以内!
            [checkform_lenth_limit1_2] => 字符数应为 %1 个!
            [checkform_lenth_limit2] => 所添内容必须为 %1 个字符!
            [checkform_lenth_limit3] => 请将字符数限制在 %1 个字符!
            [checkform_noempty] => 您还有一些必添项目没有填充,请填写完全!
            [checkform_err] => 当前项目格式有误!
            [checkform_err_password] => 两次输入密码请保持一致!
            [checkform_err_email] => 错误的电子邮件格式,请输入合法的电子邮件地址!
            [checkform_err_url] => 错误的网址格式,请输入合法的网址!
            [checkform_err_digital] => 当前项目只可以填充数字!
            [checkform_err_number] => 请填写合法的实数!
            [checkform_err_alpha] => 当前项目只可以填写英文字母!
            [checkform_err_word] => 当前项目只可以填写单词和数字!
            [checkform_err_name] => 当前项目只可以填写英文字母和汉字!
            [checkform_err_date] => 请输入合法的日期格式,如:2000-1-1 或 2000/01/01 !
            [checkform_err_date2] => 您所输入的日期不合法!
            [checkform_err_time] => 请输入合法的时间格式,如:9:00 或 22:00:00 !
            [checkform_err_time2] => 您所输入的时间不合法!
            [checkform_err_tel] => 请输入合法的电话号码格式,如:010-12345678 或 010-87654321-999 !
            [checkform_item_string] => 任意字符串
            [checkform_item_email] => 电子邮件(name@host.com)
            [checkform_item_url] => 网址(http://www.host.com/...)
            [checkform_item_digital] => 数字(0-9)
            [checkform_item_number] => 实数(-123.456)
            [checkform_item_alpha] => 字母(a-z)
            [checkform_item_word] => 单词(Any Words)
            [checkform_item_name] => 汉字(中文)
            [checkform_item_date] => 日期(2000-01-01)
            [checkform_item_time] => 时间(00:00:00)
            [checkform_item_tel] => 电话(010-12345678)
            [checkform_item_fax] => 传真(010-12345678)
            [month_names_1] => 一月
            [month_names_2] => 二月
            [month_names_3] => 三月
            [month_names_4] => 四月
            [month_names_5] => 五月
            [month_names_6] => 六月
            [month_names_7] => 七月
            [month_names_8] => 八月
            [month_names_9] => 九月
            [month_names_10] => 十月
            [month_names_11] => 十一月
            [month_names_12] => 十二月
            [short_month_names_1] => 一
            [short_month_names_2] => 二
            [short_month_names_3] => 三
            [short_month_names_4] => 四
            [short_month_names_5] => 五
            [short_month_names_6] => 六
            [short_month_names_7] => 七
            [short_month_names_8] => 八
            [short_month_names_9] => 九
            [short_month_names_10] => 十
            [short_month_names_11] => 十一
            [short_month_names_12] => 十二
            [short_day_names_1] => 日
            [short_day_names_2] => 一
            [short_day_names_3] => 二
            [short_day_names_4] => 三
            [short_day_names_5] => 四
            [short_day_names_6] => 五
            [short_day_names_7] => 六
        )

    [page_content:protected] => Array
        (
            [start] => Array
                (
                )

            [end] => Array
                (
                )

        )

    [url:protected] => Array
        (
        )

    [css:protected] => Array
        (
            [9f04d5b58206aad1361ff760398b1b29] => D:/website/mystep_fw/static/css/bootstrap.css
            [44d88ce6b1c170ca31249cac784bfcec] => D:/website/mystep_fw/static/css/font-awesome.css
            [a9d5c16ade934f9eac727b6ff1725ffb] => D:/website/mystep_fw/static/css/glyphicons.css
            [0e5d2907c51df2530dc5c09e649f8eb8] => D:/website/mystep_fw/static/css/global.css
        )

    [js:protected] => Array
        (
            [7e26506326a182c4175e54acda7ef15e] => D:/website/mystep_fw/static/js/jquery.js
            [a670a475609c53055310df3633e168af] => D:/website/mystep_fw/static/js/jquery.addon.js
            [5ae532666f4d22a7a52ab1d29f6966a8] => D:/website/mystep_fw/static/js/bootstrap.bundle.js
            [398f313b686f780bad17a2cf789a3a35] => D:/website/mystep_fw/static/js/global.js
            [14a85bff9c0e57e0197b3b6add9c19ea] => 
$.getScript("/index.php?ms_setting/Sample", function(){
    $.getScript("/index.php?ms_language/Sample/"+setting.language);
    if(typeof setting.debug != "undefined" && setting.debug == true) {
        window.onerror = reportError;
    }
});
        
        )

    [err_handler:protected] => 
)

$router : 当前路由对象,参见【使用样例】 【方法说明
myRouter Object
(
    [name] => myRouter
    [vars] => Array
        (
            [query] => /method=edit&id=2
            [rules] => Array
                (
                    [0] => Array
                        (
                            [pattern] => /mySample/(.*)
                            [method] => app\sample\route
                            [idx] => Sample
                        )

                    [1] => Array
                        (
                            [pattern] => /mySample2/(.*)
                            [method] => mystep::getModule
                            [idx] => Sample
                        )

                    [2] => Array
                        (
                            [pattern] => /mySample3/([a-z]+(?:[A-Z][a-z]+)+)
                            [method] => Array
                                (
                                    [0] => app\sample\preCheck,3
                                    [1] => app\sample\routeTest
                                )

                            [idx] => Sample
                        )

                    [3] => Array
                        (
                            [pattern] => /admin_cms/(.*)
                            [method] => Array
                                (
                                    [0] => app\CMS\installCheck,index
                                    [1] => app\CMS\logCheck
                                    [2] => myStep::getModule
                                )

                            [idx] => CMS
                        )

                    [4] => Array
                        (
                            [pattern] => /manager/(.*)
                            [method] => Array
                                (
                                    [0] => app\myStep\logCheck
                                    [1] => plugin_manager::main
                                )

                            [idx] => plugin_manager
                        )

                    [5] => Array
                        (
                            [pattern] => /pack/(.*)
                            [method] => plugin_manager::pack
                            [idx] => plugin_manager
                        )

                    [6] => Array
                        (
                            [pattern] => /mySample/(.*)
                            [method] => app\sample\route
                            [idx] => sample
                        )

                    [7] => Array
                        (
                            [pattern] => /mySample2/(.*)
                            [method] => mystep::getModule
                            [idx] => sample
                        )

                    [8] => Array
                        (
                            [pattern] => /mySample3/([a-z]+(?:[A-Z][a-z]+)+)
                            [method] => Array
                                (
                                    [0] => app\sample\preCheck,3
                                    [1] => app\sample\routeTest
                                )

                            [idx] => sample
                        )

                    [9] => Array
                        (
                            [pattern] => /t1/(.*)
                            [method] => app\test\route
                            [idx] => test
                        )

                    [10] => Array
                        (
                            [pattern] => /t2/(.*)
                            [method] => mystep::getModule
                            [idx] => test
                        )

                    [11] => Array
                        (
                            [pattern] => /t3/((?:[A-Z][a-z]+)+)/(.*)
                            [method] => Array
                                (
                                    [0] => app\test\f1,$1
                                    [1] => app\test\f2,$2
                                    [2] => app\test\f3
                                )

                            [idx] => test
                        )

                    [12] => Array
                        (
                            [pattern] => /t1/(.*)
                            [method] => app\test\route
                            [idx] => Test
                        )

                    [13] => Array
                        (
                            [pattern] => /t2/(.*)
                            [method] => mystep::getModule
                            [idx] => Test
                        )

                    [14] => Array
                        (
                            [pattern] => /t3/((?:[A-Z][a-z]+)+)/(.*)
                            [method] => Array
                                (
                                    [0] => app\test\f1,$1
                                    [1] => app\test\f2,$2
                                    [2] => app\test\f3
                                )

                            [idx] => Test
                        )

                    [15] => Array
                        (
                            [pattern] => /t1/(.*)
                            [method] => app\test\route
                            [idx] => TEST
                        )

                    [16] => Array
                        (
                            [pattern] => /t2/(.*)
                            [method] => mystep::getModule
                            [idx] => TEST
                        )

                    [17] => Array
                        (
                            [pattern] => /t3/((?:[A-Z][a-z]+)+)/(.*)
                            [method] => Array
                                (
                                    [0] => app\test\f1,$1
                                    [1] => app\test\f2,$2
                                    [2] => app\test\f3
                                )

                            [idx] => TEST
                        )

                    [18] => Array
                        (
                            [pattern] => /badReq/(.*)
                            [method] => Array
                                (
                                    [0] => plugin_badReq::main
                                )

                            [idx] => plugin_badReq
                        )

                    [19] => Array
                        (
                            [pattern] => /api/(\w+)/(.*)
                            [method] => myStep::api
                            [idx] => myStep
                        )

                    [20] => Array
                        (
                            [pattern] => /module/(\w+)/(.*)
                            [method] => myStep::module
                            [idx] => myStep
                        )

                    [21] => Array
                        (
                            [pattern] => /ms_language/(\w+)/(.*)
                            [method] => myStep::language
                            [idx] => myStep
                        )

                    [22] => Array
                        (
                            [pattern] => /ms_setting/(.*)
                            [method] => myStep::setting
                            [idx] => myStep
                        )

                    [23] => Array
                        (
                            [pattern] => /captcha/(.*)
                            [method] => myStep::captcha,4,3
                            [idx] => myStep
                        )

                    [24] => Array
                        (
                            [pattern] => /error/(\d+)
                            [method] => myStep::header,$1
                            [idx] => myStep
                        )

                    [25] => Array
                        (
                            [pattern] => /console/(.*)
                            [method] => Array
                                (
                                    [0] => app\myStep\logCheck
                                    [1] => myStep::getModule
                                )

                            [idx] => myStep
                        )

                    [26] => Array
                        (
                            [pattern] => /sitemap
                            [method] => myStep::appFunc,sitemap
                            [idx] => myStep
                        )

                    [27] => Array
                        (
                            [pattern] => /atom
                            [method] => myStep::appFunc,atom
                            [idx] => myStep
                        )

                    [28] => Array
                        (
                            [pattern] => /rss
                            [method] => myStep::appFunc,rss
                            [idx] => myStep
                        )

                )

            [route] => Array
                (
                    [qstr] => /method=edit&id=2
                    [p] => /method=edit
                    [q] => id=2
                )

            [info] => Array
                (
                    [name] => 框架演示
                    [app] => Sample
                    [ver] => 1.0
                    [intro] => 框架参数及路由调用模式及相关参数演示
                    [copyright] => 版权所有 2022 Windy2000
                    [path] => Array
                        (
                            [0] => method=edit
                        )

                    [para] => Array
                        (
                            [id] => 2
                        )

                )

            [setting] => Array
                (
                    [mode] => rewrite
                    [default_app] => Sample
                    [delimiter_path] => /
                    [delimiter_para] => &
                    [url_fix] => 
                )

            [formats] => Array
                (
                    [any] => (.*)
                    [int] => (\d+)
                    [str] => (\w+)
                    [camel] => ([a-z]+(?:[A-Z][a-z]+)+)
                    [Camel] => ((?:[A-Z][a-z]+)+)
                )

            [err_handler] => 
            [methods] => Array
                (
                )

            [vars] => Array
                (
                )

        )

    [methods] => Array
        (
            [0] => init
            [1] => parseQuery
            [2] => format
            [3] => setFormats
            [4] => rule
            [5] => setRules
            [6] => check
            [7] => parse
            [8] => remove
            [9] => checkRoute
            [10] => __construct
            [11] => setErrHandler
            [12] => error
            [13] => __get
            [14] => __set
            [15] => __destruct
            [16] => __isset
            [17] => __unset
            [18] => __call
            [19] => __callStatic
            [20] => __sleep
            [21] => __wakeup
            [22] => __toString
            [23] => __invoke
            [24] => __set_state
            [25] => __debugInfo
            [26] => addMethod
            [27] => regAlias
        )

)

$db : 数据库对象,参见MySQL【使用样例】 【方法说明
myDb Object
(
    [name] => myDb
    [vars] => Array
        (
            [func_alias] => Array
                (
                    [c] => connect
                    [i] => insert
                    [s] => select
                    [u] => update
                    [d] => delete
                    [q] => query
                    [r] => record
                    [g] => result
                )

            [obj] => MySQL Object
                (
                    [persistent:protected] => 
                    [err:protected] => 
                    [err_info:protected] => 
                    [count:protected] => 0
                    [err_handler:protected] => 
                    [cache_mode:protected] => 255
                    [cache:protected] => 
                    [cache_ttl:protected] => 600
                    [host:protected] => 127.0.0.1:3306
                    [user:protected] => root
                    [pwd:protected] => cfnadb!@#$%
                    [charset:protected] => utf-8
                    [connect:protected] => 
                    [result:protected] => 
                    [sql:protected] => 
                    [db:protected] => 
                    [builder:protected] => Array
                        (
                        )

                    [delimiter:protected] => `
                )

            [err_handler] => myStep::info
            [methods] => Array
                (
                )

            [vars] => Array
                (
                )

        )

    [methods] => Array
        (
            [0] => __construct
            [1] => init
            [2] => __get
            [3] => __set
            [4] => __call
            [5] => regAlias
            [6] => setErrHandler
            [7] => error
            [8] => __get_base
            [9] => __set_base
            [10] => __destruct
            [11] => __isset
            [12] => __unset
            [13] => __call_base
            [14] => __callStatic
            [15] => __sleep
            [16] => __wakeup
            [17] => __toString
            [18] => __invoke
            [19] => __set_state
            [20] => __debugInfo
            [21] => addMethod
        )

)

$cache : 缓存对象,参见【使用样例】 【方法说明
myCache Object
(
    [name] => myCache
    [vars] => Array
        (
            [func_alias] => Array
                (
                    [s] => set
                    [g] => get
                    [r] => remove
                    [c] => clean
                    [db] => getData
                    [func] => getData_func
                )

            [obj] => myCache_File Object
                (
                    [path:protected] => D:/website/mystep_fw/cache/data/20230528/
                )

            [err_handler] => myStep::info
            [methods] => Array
                (
                )

            [vars] => Array
                (
                )

        )

    [methods] => Array
        (
            [0] => init
            [1] => change
            [2] => getData
            [3] => getData_func
            [4] => __get
            [5] => __set
            [6] => __call
            [7] => regAlias
            [8] => __construct
            [9] => setErrHandler
            [10] => error
            [11] => __get_base
            [12] => __set_base
            [13] => __destruct
            [14] => __isset
            [15] => __unset
            [16] => __call_base
            [17] => __callStatic
            [18] => __sleep
            [19] => __wakeup
            [20] => __toString
            [21] => __invoke
            [22] => __set_state
            [23] => __debugInfo
            [24] => addMethod
        )

)