基本目录已经当前平台目录------绝对路径
概念,确保每个文件夹,目录(路径正确),如app文件夹改了applaction 或者frame改成framework,那么index.php入口文件就会出错
基本目录
getcwd()函数,获取当前工作的路径,我们是index.php来调用的,那就是针对于index.php 或获取路径,而__DIR__是获取当前文件所在的的路径,如果文件放置别的文件夹,路径就会改变
/** * 基本目录常量,使用getcwd函数获取,斜杠是反的,需要替换 * 来把相对路径变成绝对路径 */ //定义目录 define('ROOT_DIR',str_replace('\\','/',getcwd().'/')); //定义app目录 define("APP_DIR",ROOT_DIR."app/"); //定义frame目录 define('FRAME_DIR',ROOT_DIR."frame/");
当前平台目录
//定义当前平台下Controller、Model、View目录 define('CURRENT_CON_DIR',APP_DIR.PLATFORM.'/Controller/'); define('CURRENT_MODEL_DIR',APP_DIR.PLATFORM.'/Model/'); define('CURRENT_VIEW_DIR',APP_DIR.PLATFORM.'/View/');
注意:上面的语法,需要在platform平台确认后,才能定义,要吗报错
修改掉所有路径的地方
index.php
<?php //自动加载类 function autoLoad($class_name){ $frame_class=array( "MyPDO" => FRAME_DIR."{$class_name}.class.php", "Model" => FRAME_DIR."{$class_name}.class.php", "Factory" => FRAME_DIR."{$class_name}.class.php", "Controller" => FRAME_DIR."{$class_name}.class.php" ); if(isset($frame_class[$class_name])){ include $frame_class[$class_name]; }elseif(substr($class_name,-5)=="Model"){ include CURRENT_MODEL_DIR."{$class_name}.class.php"; }elseif(substr($class_name,-10)=="Controller"){ include CURRENT_CON_DIR."{$class_name}.class.php"; } } spl_autoload_register('autoLoad'); /** * 基本目录常量,使用getcwd函数获取,斜杠是反的,需要替换 * 来把相对路径变成绝对路径 */ //定义目录 define('ROOT_DIR',str_replace('\\','/',getcwd().'/')); //定义app目录 define("APP_DIR",ROOT_DIR."app/"); //定义frame目录 define('FRAME_DIR',ROOT_DIR."frame/"); //获取平台platfrom p参数 define('PLATFORM',isset($_GET['p']) ? $_GET['p'] : 'test'); //获取分发参数c define('CONTROL',isset($_GET['c']) ? $_GET['c'] : 'Mybank'); //获取分发参数a define('ACTION',isset($_GET['a']) ? $_GET['a'] : 'show' ); //定义当前平台下Controller、Model、View目录 define('CURRENT_CON_DIR',APP_DIR.PLATFORM.'/Controller/'); define('CURRENT_MODEL_DIR',APP_DIR.PLATFORM.'/Model/'); define('CURRENT_VIEW_DIR',APP_DIR.PLATFORM.'/View/'); //确认名字 $controller_name=CONTROL.'Controller'; $action_name=ACTION.'ACTION'; $ban= new $controller_name(); $ban->$action_name();
MybankController.class.php
<?php class MybankController extends Controller { public function showAction(){ $bank=Factory::CreateSingle("MybankModel"); $rs=$bank->show(); include CURRENT_VIEW_DIR."mybank.html"; } public function deleteAction(){ $bank=Factory::CreateSingle("MybankModel"); $id=$_GET['id']; $bank->delete($id); $rs=$bank->show(); include CURRENT_VIEW_DIR."mybank.html"; } }