电子商城实录------项目目录的结构搭建及其说明3
《電子商城實錄------項目目錄的結構搭建及其說明2》中方法優化
Framework.class.php代碼加入static:
<?php
//核心啟動類
class Framework{
public static function run(){
echo "hello,wrold!";
}
//初始化方法
private static function init(){
//定義路徑常量
define("DS",DIRECTORY_SEPARATOR);
define("ROOT",getcwd().'/');
define("APP_PATH",ROOT.'application'.DS);
define("FRAMEWORK_PATH",ROOT.'framework'.DS);
define("PUBLIC_PATH",ROOT.'public'.DS);
define("GONFIG_PATH",APP_PATH."config".DS);
define("CONTROLLER_PATH",APP_PATH."controllers".DS);
define("MODEL_PATH",APP_PATH."models".DS);
define("VIEW_PATH",APP_PATH.'views'.DS);
define("CORE_PATH",FRAMEWORK_PATH.'core'.DS);
define("DB_PATH",FRAMEWORK_PATH.'databases'.DS);
define("LIB_PATH",FRAMEWORK_PATH.'libraries'.DS);
define("HELPER_PATH",FRAMEWORK_PATH.helpers);
define("UPLOAD_PATH",PUBLIC_PATH.'uploads'.DS);
//獲取參數p ,c,a index.php?p=admin&c=goods&a=add
define('PLATFORM', isset($_GET['p'])?$_GET['p']:"admin");
define('CONTROLLER',isset($_GET['c'])?$_GET['c']:"Index");
define('ACTION',isset($_GET['a'])?$_GET['a']:"index");
}
//路由方法
private static function dispatch(){
}
//自動加載
private static function autoload(){
}
}
?
?>
index.php的改進為:
<?php
//入口文件
//引入核心啟動類
include 'framework/core/Framework.class.php';
//$app=new Framework();
//$app->run();
Framework::run();
echo getcwd();
?>
我們做項目第一步就是做目錄的路徑常量
1.做根目錄的路徑常量:
define("DS",DIRECTORY_SEPARATOR);
define("ROOT",getcwd().'/');
第二步 做application目錄
define("APP_PATH",ROOT.'application'.DS);
第三步? 做framework目錄
define("FRAMEWORK_PATH",ROOT.'framework'.DS);
?
第四步 做public路徑常量
? define("PUBLIC_PATH",ROOT.'public'.DS);
第五步? ?建立config目錄
? define("GONFIG_PATH",APP_PATH."config".DS);
其他目錄以此類推:
我就不一一畫圖了
define("CONTROLLER_PATH",APP_PATH."controllers".DS);
define("MODEL_PATH",APP_PATH."models".DS);
define("VIEW_PATH",APP_PATH.'views'.DS);
define("CORE_PATH",FRAMEWORK_PATH.'core'.DS);
define("DB_PATH",FRAMEWORK_PATH.'databases'.DS);
define("LIB_PATH",FRAMEWORK_PATH.'libraries'.DS);
define("HELPER_PATH",FRAMEWORK_PATH.helpers);
define("UPLOAD_PATH",PUBLIC_PATH.'uploads'.DS);
第六步? 獲取參數p? ,c,a
類比百度:
https://www.baidu.com/?tn=98010089_dg&ch=12
后面這種方式
http://localhost:8989/?index.php?p=admin&c=goods&a=add
//獲取參數p ,c,a
define('PLATFORM', isset($_GET['p'])?$_GET['p']:"admin");
define('CONTROLLER',isset($_GET['c'])?ucfirst($_GET['c']):"Index");
define('ACTION',isset($_GET['a'])?$_GET['a']:"index");
第七步設置當前控制器和視圖
?
define("CUR_CONTROLLER_PATH",CONTROLLER_PATH.PLATFORM.DS);
define("CUR_VIEW_PATH",VIEW_PATH.PLATFORM.DS);
整體代碼如下:
<?php
//核心啟動類
class Framework{
public static function run(){
echo "hello,wrold!";
}
//初始化方法
private static function init(){
//定義路徑常量
define("DS",DIRECTORY_SEPARATOR);
define("ROOT",getcwd().'/');
define("APP_PATH",ROOT.'application'.DS);
define("FRAMEWORK_PATH",ROOT.'framework'.DS);
define("PUBLIC_PATH",ROOT.'public'.DS);
define("GONFIG_PATH",APP_PATH."config".DS);
define("CONTROLLER_PATH",APP_PATH."controllers".DS);
define("MODEL_PATH",APP_PATH."models".DS);
define("VIEW_PATH",APP_PATH.'views'.DS);
define("CORE_PATH",FRAMEWORK_PATH.'core'.DS);
define("DB_PATH",FRAMEWORK_PATH.'databases'.DS);
define("LIB_PATH",FRAMEWORK_PATH.'libraries'.DS);
define("HELPER_PATH",FRAMEWORK_PATH.helpers);
define("UPLOAD_PATH",PUBLIC_PATH.'uploads'.DS);
//獲取參數p ,c,a
define('PLATFORM', isset($_GET['p'])?$_GET['p']:"admin");
define('CONTROLLER',isset($_GET['c'])?ucfirst($_GET['c']):"Index");
define('ACTION',isset($_GET['a'])?$_GET['a']:"index");
//設置當前控制器和視圖
define("CUR_CONTROLLER_PATH",CONTROLLER_PATH.PLATFORM.DS);
define("CUR_VIEW_PATH",VIEW_PATH.PLATFORM.DS);
}
//路由方法
private static function dispatch(){
}
//自動加載
private static function autoload(){
}
}
?
?>
?
轉載于:https://www.cnblogs.com/zhouxingzhi/p/10306821.html
總結
以上是生活随笔為你收集整理的电子商城实录------项目目录的结构搭建及其说明3的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CM005-逆向分析过程(上篇)
- 下一篇: java程序向mysql插入中文变问号