摘要:二站點全局配置文件。路由結構命名空間路由別名控制器方法四框架啟動文件。加載控制器文件執行方法方法不存在控制器不存在自動加載類文件五加載配置類。文件名鍵名獲取全部選項配置文件不存在六路由類。歡迎使用框架八隱藏文件。九本地域名訪問。
一、入口文件。index.php
二、站點全局配置文件。configs/Website.php
三、全局路由配置文件。configs/Routes.php
array( * "路由別名"=>"控制器@方法" * ) * ) */ return array( "Home"=>array( "index-index"=>"IndexController@index", "index/test"=>"IndexController@test", ), "Admin"=>array( "login"=>"IndexController@login" ), );四、框架啟動文件。frame/App.php
ctrl; $action = $route->action; $namespace = $route->namespace; if($namespace) { $ctrlFile = CTRL."/".$namespace."/".$ctrl.".php" ; $ctrlObj = CTRLNAMESPACE.$namespace."".$ctrl; } else { $ctrlFile = CTRL."/".$ctrl."Controller.php"; $ctrlObj = CTRLNAMESPACE.$ctrl."Controller" ; } if(is_file($ctrlFile)) { require_once($ctrlFile); $obj = new $ctrlObj; if(method_exists($obj,$action)) { $obj->$action(); } else { throw new Exception($action."方法不存在", 1); } } else { throw new Exception($ctrl."控制器不存在", 1); } } //自動加載類文件 static public function autoload($class) { $file = BASEPATH."/".str_replace("", "/", $class).".php"; if(is_file($file)) { require_once($file); } else { return false; } } }五、加載配置類。frame/Libs/Config.php
六、路由類。frame/Libs/Route.php
checkRoute($path[0]); if(!isset($path[0]) || !$isExists) { throw new Exception($path[0]."路由不存在", 1); } } else { $this->ctrl = "Welcome"; $this->action = "index"; } } private function checkRoute($alias) { $routes = Config::get("Routes",null,true); foreach ($routes as $key => $value) { foreach ($value as $k => $v) { if($k == $alias) { $c = explode("@", $v); $this->ctrl = $c[0]; $this->action = $c[1]; $this->namespace = $key; return true; } } } return false; } }七、默認控制器。app/Controllers/WelcomeController.php
Hello,World歡迎使用PHP-FRAME框架"); } }八、隱藏index.php文件。.htaccess
Options -MultiViews RewriteEngine On # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]九、本地域名訪問 http://localhost。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28622.html
摘要:框架采用編碼規范開發的一套框架,純面向對象開發,依賴包管理模版引擎數據庫類錯誤輸出等在項目根目錄下使用命令執行安裝插件二入口文件。引入文件,開啟錯誤提示插件三數據庫配置文件。視圖模版不存在七控制器操作數據并顯示到頁面。 一、composer依賴包管理工具。composer.json { name:PHP-FRAME, author:Guoming.Zhang, ...
摘要:首先你應該是在用以上的版本,如果版本在這之下,是時候該升級了。按照其官網的說法,這個組織的目的并不是告訴你你應該怎么做,只是一些主流的框架之間相互協商和約定。和沒有出現在以上的列表中,是因為還沒有投票通過。不要被這些話所困擾。 首先你應該是在用 PHP 5.3 以上的版本,如果 PHP 版本在這之下,是時候該升級了。我建議如果有條件,最好使用最新的版本。 你應該看過 PHP The R...
摘要:原文發表在我的個人網站利用一步一步構建自己的框架一基礎準備一統天下的時代已經到來白巖松一個時代結束了另一個時代開始了。框架可互用性小組,簡稱,成立于年。 原文發表在我的個人網站 利用 Composer 一步一步構建自己的 PHP 框架(一)——基礎準備 『Composer 一統天下的時代已經到來!』 ——白巖松 一個時代結束了,另一個時代開始了。 Framework ...
摘要:目前已表決通過了套標準,已經得到大部分框架的支持和認可。類中的常量所有字母都必須大寫,單詞間用下劃線分隔方法名稱必須符合式的小寫開頭駝峰命名規范。日志接口規范詳見自動加載規范詳見緩存接口規范詳見消息接口規范詳見,暫無中文翻譯 PHP-FIG 在說啥是PSR-[0-4]規范的之前,我覺得我們有必要說下它的發明者和規范者:PHP-FIG。就是這個聯盟組織發明和創造了PSR-[0-4]規范 ...
摘要:權限中心的依賴聲明聲明依賴關系檢查代碼規范聲明開發依賴命名空間檢查代碼規范,執行單元測試。單元測試持續交付一切都如此的完美,沒有測試,又如何可以證明這件事情的完美,又如何可以保障交付的質量。 序 權限管理是無線運營系統中的核心模塊,通過訪問控制策略的配置,來約定人與資源的訪問關系。 本文著重講解如何通過PHP來構建一個靈活、通用、安全的權限管理系統。 關于權限 首先我們來聊聊權限。 權...
閱讀 617·2023-04-25 18:37
閱讀 2780·2021-10-12 10:12
閱讀 8315·2021-09-22 15:07
閱讀 564·2019-08-30 15:55
閱讀 3174·2019-08-30 15:44
閱讀 2194·2019-08-30 15:44
閱讀 1625·2019-08-30 13:03
閱讀 1560·2019-08-30 12:55