
# 1.入口文件
>默認入口文件為根目錄下的index.php文件,我們可以對其入口文件進行配置 [假設我需要給admin模塊設計一個a.php的入口文件,從而隱藏admin模塊的真實地址]
~~~
<?php
/*
* +----------------------------------------------------------------------
* | ZrWebPHP [ WE CAN DO IT JUST CUMIN ]
* +----------------------------------------------------------------------
* | Copyright (c) 2020 http://zrv7.com All rights reserved.
* +----------------------------------------------------------------------
* | Author: Cumin <2937978586@qq.com>
* +----------------------------------------------------------------------
*/
/* 綁定模塊 */
define('BIND_MODULE','admin');
/* 引入框架引導文件 */
require __DIR__ . '/zrwebphp/start.php';
~~~
> BIND_MODULE常量是綁定模塊的默認值
> 如果不進行綁定則會直接獲取入口文件的文件名作為入口文件的參數,如a.php 則會獲取模塊為a這時候去訪問a.php系統會提示模塊不存在!
> 這個時候 我們就需要進行綁定模塊,在a.php中綁定admin模塊,這樣子訪問a.php就能訪問到admin模塊啦,且不會報出真實地址!
# 2.自動加載
此操作由 \zrweb\Loader類完成
所以定義命名空間的時候必須遵循`PSR-2`命名規范和`PSR-4`自動加載規范
>特殊的兩個命名空間規范:
>1. zrweb框架操作類的命名空間規范,在創建命名空間的時候格式為 zrweb\類名 [規范大小寫]
>2.lib\類庫名\類名 通常存放框架的第三方類如:smarty、PHPMailer
# 3.路由檢查
## 3.1Mvc檢測
>先判斷是否寫入路由規則 config/router.php 如果寫有則判斷此路由規則的mvc,無寫有或者不匹配,就調用Request類中獲取到路由中的mvc
## 3.2參數檢測Xss
>將獲取到的參數提交給\log\Xss類進行處理,如果config配置中xss為真就交給\log\Log類進行處理寫入runtime目錄中
此寫法借鑒360safe
# 4.路由分發
>由App類中的dispatch方法操作,把類進行拼接,最后進行類的反射處理
# 5.處理結果
>Response類進行處理,注:不推薦echo輸出參數,而是直接return