摘要:二站點(diǎn)全局配置文件。路由結(jié)構(gòu)命名空間路由別名控制器方法四框架啟動(dòng)文件。加載控制器文件執(zhí)行方法方法不存在控制器不存在自動(dòng)加載類文件五加載配置類。文件名鍵名獲取全部選項(xiàng)配置文件不存在六路由類。歡迎使用框架八隱藏文件。九本地域名訪問(wèn)。
一、入口文件。index.php
二、站點(diǎn)全局配置文件。configs/Website.php
三、全局路由配置文件。configs/Routes.php
array( * "路由別名"=>"控制器@方法" * ) * ) */ return array( "Home"=>array( "index-index"=>"IndexController@index", "index/test"=>"IndexController@test", ), "Admin"=>array( "login"=>"IndexController@login" ), );四、框架啟動(dòng)文件。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); } } //自動(dòng)加載類文件 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; } }七、默認(rèn)控制器。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}]九、本地域名訪問(wèn) http://localhost。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28622.html
摘要:框架采用編碼規(guī)范開發(fā)的一套框架,純面向?qū)ο箝_發(fā),依賴包管理模版引擎數(shù)據(jù)庫(kù)類錯(cuò)誤輸出等在項(xiàng)目根目錄下使用命令執(zhí)行安裝插件二入口文件。引入文件,開啟錯(cuò)誤提示插件三數(shù)據(jù)庫(kù)配置文件。視圖模版不存在七控制器操作數(shù)據(jù)并顯示到頁(yè)面。 一、composer依賴包管理工具。composer.json { name:PHP-FRAME, author:Guoming.Zhang, ...
摘要:首先你應(yīng)該是在用以上的版本,如果版本在這之下,是時(shí)候該升級(jí)了。按照其官網(wǎng)的說(shuō)法,這個(gè)組織的目的并不是告訴你你應(yīng)該怎么做,只是一些主流的框架之間相互協(xié)商和約定。和沒(méi)有出現(xiàn)在以上的列表中,是因?yàn)檫€沒(méi)有投票通過(guò)。不要被這些話所困擾。 首先你應(yīng)該是在用 PHP 5.3 以上的版本,如果 PHP 版本在這之下,是時(shí)候該升級(jí)了。我建議如果有條件,最好使用最新的版本。 你應(yīng)該看過(guò) PHP The R...
摘要:原文發(fā)表在我的個(gè)人網(wǎng)站利用一步一步構(gòu)建自己的框架一基礎(chǔ)準(zhǔn)備一統(tǒng)天下的時(shí)代已經(jīng)到來(lái)白巖松一個(gè)時(shí)代結(jié)束了另一個(gè)時(shí)代開始了。框架可互用性小組,簡(jiǎn)稱,成立于年。 原文發(fā)表在我的個(gè)人網(wǎng)站 利用 Composer 一步一步構(gòu)建自己的 PHP 框架(一)——基礎(chǔ)準(zhǔn)備 『Composer 一統(tǒng)天下的時(shí)代已經(jīng)到來(lái)!』 ——白巖松 一個(gè)時(shí)代結(jié)束了,另一個(gè)時(shí)代開始了。 Framework ...
摘要:目前已表決通過(guò)了套標(biāo)準(zhǔn),已經(jīng)得到大部分框架的支持和認(rèn)可。類中的常量所有字母都必須大寫,單詞間用下劃線分隔方法名稱必須符合式的小寫開頭駝峰命名規(guī)范。日志接口規(guī)范詳見(jiàn)自動(dòng)加載規(guī)范詳見(jiàn)緩存接口規(guī)范詳見(jiàn)消息接口規(guī)范詳見(jiàn),暫無(wú)中文翻譯 PHP-FIG 在說(shuō)啥是PSR-[0-4]規(guī)范的之前,我覺(jué)得我們有必要說(shuō)下它的發(fā)明者和規(guī)范者:PHP-FIG。就是這個(gè)聯(lián)盟組織發(fā)明和創(chuàng)造了PSR-[0-4]規(guī)范 ...
摘要:權(quán)限中心的依賴聲明聲明依賴關(guān)系檢查代碼規(guī)范聲明開發(fā)依賴命名空間檢查代碼規(guī)范,執(zhí)行單元測(cè)試。單元測(cè)試持續(xù)交付一切都如此的完美,沒(méi)有測(cè)試,又如何可以證明這件事情的完美,又如何可以保障交付的質(zhì)量。 序 權(quán)限管理是無(wú)線運(yùn)營(yíng)系統(tǒng)中的核心模塊,通過(guò)訪問(wèn)控制策略的配置,來(lái)約定人與資源的訪問(wèn)關(guān)系。 本文著重講解如何通過(guò)PHP來(lái)構(gòu)建一個(gè)靈活、通用、安全的權(quán)限管理系統(tǒng)。 關(guān)于權(quán)限 首先我們來(lái)聊聊權(quán)限。 權(quán)...
閱讀 667·2023-04-25 18:37
閱讀 2819·2021-10-12 10:12
閱讀 8432·2021-09-22 15:07
閱讀 591·2019-08-30 15:55
閱讀 3205·2019-08-30 15:44
閱讀 2222·2019-08-30 15:44
閱讀 1651·2019-08-30 13:03
閱讀 1586·2019-08-30 12:55