Blogger Information
Blog 8
fans 0
comment 0
visits 7321
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
5.22 控制器与请求对象的功能与用途及依赖注入的实现原理
Allen的php博客
Original
632 people have browsed it

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

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
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!