博主信息
博文 27
粉丝 1
评论 0
访问量 28159
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
Laravel的安装与使用-2019年10月31日
思杰的博客
原创
849人浏览过

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



批改状态:合格

老师批语:合格
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学