Blogger Information
Blog 28
fans 0
comment 0
visits 21168
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
安装composer,练习一下mvc的实现原理—2019年10月31日
L先生的博客
Original
638 people have browsed it

安装composer

        网址:https://www.phpcomposer.com

        是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。(中国镜像网站)

安装composer:

首页:下载->Composer-Setup.exe->安装(勾选developer mode开发者模式;选择安装目录;选择本地的php版本phpstudy_pro\Extensions\php\php7.3.4nts\php.exe;选择php7.0+最好最新,一直next即可)。dos窗口:composer -v 即可查看composer的版本。

下载laravel

首页:安装包列表->search packages->输入laravel->选择laravel/laravel,复制下载代码:composer create-project laravel/laravel->dos进入以下想要下载到位置的文件夹位置,输入以上代码->等待下载。

(composer create-project laravel/laravel mylaravel(重命名) 5.8.*(下载最新版本))。

源设置为中国区镜像或阿里云镜像

修改 composer 的全局配置文件(推荐方式)

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com        中国区镜像

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/       阿里云镜像  

解除镜像的方法:

如果需要解除镜像并恢复到 packagist 官方源,请执行以下命令:
composer config -g --unset repos.packagist

执行之后,composer 会利用默认值(也就是官方源)重置源地址。
将来如果还需要使用镜像的话,只需要根据前面的“镜像用法”中介绍的方法再次设置镜像地址即可。


简单练习mvc的实现原理

新建一个mvc.cn的站点;

在根目录下新建:controller,model,view文件夹。还有index.php

view中新建welcome.php,内容如下:

<!DOCTYPE html>
<html dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <p>这是view下的welcome.php文件</p>
    <span>时间:</span>
    <?php echo date('Y-m-d H:i:s'); ?>
  </body>
</html>

controller中新建Home.php,内容如下:

<?php
class Home{
  public function index(){
    echo 'hello MVC';       //直接显示hello MVC
  }
  public function welcome(){
    require_once __DIR__.'/../view/welcome.php';        //引入view下的视图
  }
}

编辑根目录下的index.php文件,内容如下:

<?php
// 路由解析
$server = $_SERVER;    //php预定义的超全局变量:保存关于报头、路径和脚本位置的信息
$path_info = $_SERVER['PATH_INFO'];    // 结果:  /home/index
exit($path_info);
$path = ltrim($path_info,'/');  //结果: home/index  //函数移除字符串左侧的空白字符或其他预定义字符
$controller_method = explode('/',$path);    //函数把字符串分割为数组
$controller_method[0] = ucfirst($controller_method[0]);   //将第一个字母大写
$controller = $controller_method[0];    //控制器名
$method = $controller_method[1];     //方法名
//控制器名为Home,方法为index
require_once __DIR__.'/controller/'.$controller.'.php';   //导入控制器的php
$obj = new $controller();
$obj->$method();
exit();

访问http://mvc.cn/index.php/home/welcome

就会显示:

这是view下的welcome.php文件

时间:    2019-11-02 14:40:07 

访问http://mvc.cn/index.php/home/index

就会显示:

hello MVC

将index.php修改为如下:

<?php
// 路由解析
$server = $_SERVER;    //php预定义的超全局变量:保存关于报头、路径和脚本位置的信息
// echo '<pre>';
// print_r($server);
$request_uri = $_SERVER['REQUEST_URI'];   //结果:  /home/index
$path = ltrim($request_uri,'/');
// 解析Controller和method
$controller_method = explode('/',$path);    //函数把字符串分割为数组
$controller_method[0] = ucfirst($controller_method[0]);   //将第一个字母大写
$controller = $controller_method[0];    //控制器名
$method = $controller_method[1];     //方法名
//控制器名为Home,方法为index
require_once __DIR__.'/controller/'.$controller.'.php';   //导入控制器的php
$obj = new $controller();
$obj->$method();
exit();

并且添加.htaccess文件到首页。

访问时即可去掉index.php

总结

简单mvc,访问地址:mvc.cn/home/index时,home为控制器名Home中的home类,index为home类中的index方法。

index方法可以引入view下的视图。而模型和数据库相关。


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