Correction status:qualified
Teacher's comments:合格
1、下载安装composer,并把源设置为中国区镜像或阿里云镜像。
2、根据课堂案例,练习一下mvc的实现原理
3、作业发到博客上
Composer 是 PHP5.3以上 的一个依赖管理工具。通过这个工具,我们可以方便的下载安装跟php相关的各种文件。但是composer在国内的速度比较慢,所以我们需要把源设置为中国区镜像或者阿里云镜像。
百度搜索“composer阿里云镜像”找到了方法
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
切换好后,我们就可以下载我们的laravel框架了
当出现successfully字的时候代表我们的文件已经全部安装完毕了。
mvc的实现原理
在laravel框架中,view写在resources文件夹里面的views文件夹内。controller写在app文件夹里面Http文件夹里面的Controllers文件夹内。
接下来就是用php自己实现一个简单的mvc操作。
首先我们在项目文件夹内,先生成三个文件夹,分别是Controllers,Views,Models。
主入口文件index.php代码如下:
<?php
//主入口文件
//$path = $_SERVER;
//echo "<pre>";
//print_r($path);
//[SCRIPT_NAME] => /index.php
//[PATH_INFO] => /index/hello
//[REQUEST_URI] => /index.php/index/hello
//MVC进入思路:
//1、当用户访问index文件后,先获取他的控制器
$controller = ucfirst(explode('/',ltrim($_SERVER['PATH_INFO'],'/'))[0]);
//2、去Controllers文件夹内引入相关控制器的类
if (!file_exists('./Controllers/'.$controller.'action.php')){
exit('不存在该类');
}
require_once './Controllers/'.$controller.'action.php';
//3、获取要执行的方法名
$method = explode('/',ltrim($_SERVER['PATH_INFO'],'/'))[1];
$obj = new $controller();
if(!method_exists($obj,$method)){
exit('不存在该方法');
}
$obj->$method();
?>
通过解析路由地址,将控制器的名字和方法都解析下来,然后引入相关php文件,执行里面的方法。
<?php
class index{
public function home(){
require_once __DIR__.'/../Views/Homeview.php';
//如果有model方法,则继续引入model方法
}
public function hello(){
require_once __DIR__.'/../Views/Helloview.php';
//如果有model方法,则继续引入model方法
}
}
控制器里面就是如果要读取数据,就先执行model方法,拿到数据后,再引入相关的视图文件,将数据导入进去。
视图文件就写的很简单,为了演示用
<?php
echo '我是home视图';
实际效果如下图,分为正常对的情况和错误的情况
一、正确填写地址
二、填写错误的类
三、填写错误的方法