新建项目文件夹 app ,并在其目录下创建文件夹: controller, models 和 views
mkdir /opt/htdocs/MFFC/app cd /opt/htdocs/MFFC/app mkdir controller models views
添加model层文件
vi /opt/htdocs/MFFC/app/models/TestModel.php
保存以下内容,后面会添加数据层的操作
添加controller文件
vi /opt/htdocs/MFFC/app/controller/TestController.php
保存以下内容
'; var_dump(get_included_files()); var_dump(TestModel::test()); }} ?>
添加路由
保存之后,为了调用TestController的index方法,我们需要在routes.php里加上新的路由规则:
Macaw::get('/', 'TestController@index');
使用自动加载authload
这时候,路由会解析到去调用类TestController的index方法,但我们并没有引入TestController类,需要通过配置自动加载:
在composer.json中加入autoload的classmap:
{ "require": { "codingbean/macaw" : "dev-master" }, "autoload": { "classmap": [ "app/controller", "app/models" ] }}
保存,在/MFFC下执行以下命令(每次新建一个类都得跑一下,这是classmap的不好之处):
composer dump-autoload
这时,查看/MFFC/composer/autoload_classmap.php,你会发现,里面多了我们刚才新建类的路径引导:
return array( 'TestController' => $baseDir . '/app/controller/TestController.php', 'TestModel' => $baseDir . '/app/models/TestModel.php',);
这是对这些类名的路径指向,有一点需要注意:
因为这是个数组,以类名为键名,类文件地址为键值,
所以如果在自动加载地图中,有相同的类名,结果的地址都只有一个。
处理方法是:在类文件中加上命名空间,再跑一
这时,键值的格式是:Controller\\Test\\TestController
前面为命名空间,后面为类名,但路由方面应该怎么设置这个还没了解到,等到学laraval的时候应该会来填这坑
完
这时候访问 index.php 就会调用 TestController下的index方法了