Blogger Information
Blog 27
fans 1
comment 0
visits 22524
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Laravel的安装与使用-2019年10月31日
思杰的博客
Original
630 people have browsed it

1、下载安装composer,并把源设置为中国区镜像或阿里云镜像。 
2、根据课堂案例,练习一下mvc的实现原理
3、作业发到博客上


Composer 是 PHP5.3以上 的一个依赖管理工具。通过这个工具,我们可以方便的下载安装跟php相关的各种文件。但是composer在国内的速度比较慢,所以我们需要把源设置为中国区镜像或者阿里云镜像。

百度搜索“composer阿里云镜像”找到了方法

image.png

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

image.png

切换好后,我们就可以下载我们的laravel框架了

image.png

image.png

当出现successfully字的时候代表我们的文件已经全部安装完毕了。



mvc的实现原理

在laravel框架中,view写在resources文件夹里面的views文件夹内。controller写在app文件夹里面Http文件夹里面的Controllers文件夹内。

接下来就是用php自己实现一个简单的mvc操作。

首先我们在项目文件夹内,先生成三个文件夹,分别是Controllers,Views,Models。

image.png

主入口文件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文件,执行里面的方法。

image.png

<?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视图';



实际效果如下图,分为正常对的情况和错误的情况

一、正确填写地址

image.png

二、填写错误的类

image.png

三、填写错误的方法

image.png



Correction status:qualified

Teacher's comments:合格
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments