博主信息
博文 8
粉丝 0
评论 0
访问量 8855
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
5.22 控制器与请求对象的功能与用途及依赖注入的实现原理
Allen的php博客
原创
813人浏览过

5月22日作业

1. 以你所理解的方式,描述一下控制器与请求对象的功能与用途

2. 实例讲解一下:依赖注入的实现原理(构造器与普通方法)


1、控制器与请求对象的功能与用途

◆ 控制器是一个处理单元,它是接受请求并将处理结果返回给调用者。

◆ 请求对象是:访问的URL地址

◆ 参数绑定:按名称绑定和按顺序绑定

默认参数绑定方式:在config目录下app.php文件

// URL参数方式 0 按名称成对解析 1 按顺序解析

    'url_param_type'         => 0,

实现代码:

<?php

namespace app\index\api;

class Index

{

public function index()

    {

        return '我是默认的index()方法';

    }

    public function test()

    {

        return '这里直接用return返回字符串结果';

    }

    public function wancan($a = '',$b = '')

    {

        return '<h3>我在'.$a.'吃饭, 今天的菜是:'.$b.'</h3> 哈哈哈~~';

    }

}

请求对象:http://www.tp51.com/index.php/index/index/wancan/a/%E9%A3%9F%E5%A0%82/b/%E5%B0%8F%E9%B8%A1%E7%82%96%E8%98%91%E8%8F%87/

实现效果:

3194037.png

2、依赖注入的实现原理实例(构造器与普通方法)

◆ 依赖注入:通过方法传入参数的方式代替实例化对象,用来解决当前类或方法与实例化对象高度耦合的问题

    public function getpromarm(\think\Request $request){

    dump($request->route());//route()在手册>请求>输入变量中

    }


实现方法:1、构造方法;2、操作方法(普通方法)

实例:

<?php

/医院

* 依赖注入案例

*/

class Son

{


public function cry() //哭方法

{

return '爱哭鼻子!';

}


public function laugh() //笑方法

{

return '爱哈哈大笑!';

}


public function dance() //跳舞方法

{

return '爱跳舞!';

}

}


/*

1、构造方法实现

 */

class Father

{

private $son = null;

public function __construct(Son $son)

{

$this->son = $son;

}


public function getInfo()

{

return '我的儿子'.$this->son->cry();

}

}


/*

2、普通方法实现

 */

class Father1

{


public function action(Son $son)

{

return '我的儿子'.$son->dance();

}

}


$son = new Son;

$father = new Father($son);

echo $father->getInfo();

echo '<hr>';

$father1 = new Father1(); 

echo $father1->action($son);

实现效果:

23190021.png

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

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

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