目录结构:
文件:index.php
parseRuquest();
index.php是整个框架的入口
文件:UrlManager.php
string 'http' * 'host' => string 'object.cm' * 'path' => string '/index.php' * 'query' => string 'r=default/myresource&&resourceType=exam&name%20=%20wuzhc' */ $urlArr = parse_url($url); $urlQuery = $urlArr['query']; /** * 获取控制器 动作 模块 * 0 => string 'repositories' * 1 => string 'default' * 2 => string 'MyResource' */ $arr = array_map(function($arr){ if(preg_match('/^r=/i',$arr)) return str_replace('r=','',$arr); elseif($pos = strpos($arr,'&')) return substr($arr,0,$pos); else return $arr; },explode('/',$urlQuery)); /** * 如果有三个,说明是有模块 * 当前不支持多层模块路径 */ $count = count($arr); switch($count){ case 2: list($this->controller,$this->action) = $arr; break; case 3: list($this->moudle,$this->controller,$this->action) = $arr; break; default: exit('Sorry , the current framework does not support multiple modules'); break; } //所有的控制器都位于Controller文件夹下 $this->controller = '\Controller\\'.ucfirst($this->controller); $class = new $this->controller; $class->{$this->action}(); }}
文件:autoLoad.php
使用:
文件:main.php
getAppEncoder()->encode(); //$html = new Html(); //$html->index(); echo 'Hello word'a; }}
在游览器中输入
(其中object.cm是我配置的域名,一般是localhost或127.0.0.1)
这样我们就可以访问Main控制器下的index方法了
目前只是一个大概,接下来才是任重而道远