精华内容
下载资源
问答
  • TP5控制器中使用视图的三种方法
    千次阅读
    2018-12-11 14:05:41

    1、直接实例化视图类

    1、视图类: thinkphp/library/think/View.php;
    2、命名空间: use think\View;
    3、实例化: 动态 new View(); 静态 View::instance();
    4、常用方法: fetch()渲染模板, display()渲染内容, assign()模板赋值

    在index/controller/index.php中:

    <?php
    namespace app\index\controller;
    use think\View;
    class Index
    {
      public function index()
      {
        //动态创建
        //$view = new View();
        //静态创建
        $view = View::instance();
        //模板赋值
        $view -> assign('domain','www.php.cn');
        //渲染模板
        return $view -> fetch();
      }
    }
    ?>
    

    在application\index\view\index\index.html中:

    <p>网站域名:<span style="color:red">{$domain}</span></p>
    <p>网站名称:<span style="color:red">{$siteName}</span></p>
    

    2、继承控制器基类Controller

    1、控制器类:thinkphp/library/think/Controller.php;
    2、命名空间:use think\Controller;
    3、实例化:$this->view;//可访问View类所有属性或方法
    4、常用方法:$this->fetch()渲染模板,$this->display()渲染内容,$this->assign()模板赋值,$this->engine()模板引擎

    在index.php中:

    <?php
    namespace app\index\controller;
    use think\Controller;
    class Index  extends Controller
    {
      public function index()
      {
        //$this->view===>视图对象
        //$this->view->assign('siteName','php中文网');
        //$this->view->assign('domain','www.php.cn');
        $this->assign('siteName','php中文网'); //用这种就可以,省事
        $this->assign('domain','www.php.cn'); //用这种就可以,省事
        //渲染模板
        //return $this->view->fetch();
        return $this->fetch(); //这样就行了
      }
    }
    ?>
    

    3、助手函数view()

    1、不用继承Controller基类,不用实例化View类,都可以使用;
    2、仅适合于模板渲染,功能单一,不能加载配置;
    3、语法:view([模板文件],[模板变量数组],[模板替换数组]);
    4、使用方法实例:view('user',['name'=>'tp5'],['SITE'=>'php.cn']);
    所以,index.php文件夹中就变为了:

    <?php
    namespace app\index\controller;
    class Index
    {
      public function index()
      {
        
        return view('index',[
            'domain'=>'php.cn',
            'siteName'=>'php中文网'
        ]);
      }
    }
    ?>
    

    总结:在控制器使用视图来调用模板,有三种方法:实例化视图类的规范模式,基类继承的经典模式,助手函数的快捷模式,新人推荐基类继承方式,但长远来看,实例化视图类应该是发展趋势,助手函数早晚会消失~~~



    作者:傲娇的泰迪
    链接:https://www.jianshu.com/p/6a0ee69b047b
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    更多相关内容
  • @是一个界定符,前面是控制器,后面是动作,表示当用户请求url / 的时候,执行控制器 WelcomeController 中的 index 方法 复制代码 代码如下: app/http/controllers/welcomecontroller.php public function index() ...
  • 本文实例讲述了Thinkphp5.0 框架实现控制器视图view赋值及视图view取值操作。分享给大家供大家参考,具体如下: Thinkphp5.0 控制器视图view的赋值 方式一(使用fetch()方法的第二个参数赋值): <?php ...
  • 本文实例讲述了laravel框架模型、视图控制器简单操作。分享给大家供大家参考,具体如下: laravel 的模型 建立model文件,再项目的app目录下建立Member.php namespace App; use Illuminate\Database\Eloquent\...
  • 今天小编就为大家分享一篇laravel通过a标签从视图控制器实现传值,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 创建此程序包的目的是以CRUD方式快速存根/构造控制器,模型和视图。 安装 通过Composer要求 composer require develme/schema-wireframe --dev 配置 在config / database.php中配置模式连接设置,因此程序包知道如何...
  • 视图控制器 向您的 EncorePHP 应用程序添加控制器和视图。
  • 一个PHP框架,用于使用MVC(模型-视图-控制器)设计模式构建Web应用程序。 执照 该项目为开源项目,可根据。 作者 约翰·罗宾逊( Robin 要求 PHP> = 7.2.0 JSON PHP扩展 PDO PHP扩展(可选,取决于使用的功能) ...
  • 欢迎使用PHP MVC框架 这是一个简单的 MVC 框架,用于在 PHP 中构建 Web 应用程序。 它是免费和。 它是为“课程而创建的。 本课程解释了如何将框架组合在一起,从头开始逐步构建它。...将 URL 转换为控制器和
  • 本文给大家介绍的是Laravel5框架中模型、控制器视图的基础流程,其实MVC体系结构模式将一个交互式系统分为三个组件。模型包含核心功能数据。视图向用户显示信息。...视图和控制器共同构成了用户接口。
  • Buster是用于基于PHP5的系统的模型视图控制器引擎。 使用此引擎,创建基于Web的应用程序变得前所未有的简单。
  • 简单视频 基于概念模块,视图和控制器php框架。 尽可能地简单,同时又尽可能地灵活。 允许轻松,轻松地创建网站应用程序
  • 控制器是 MVC 模式中的一部分, 是继承yii\base\Controller类的对象,负责处理请求生成响应。 具体来说,控制器从应用主体接管控制后会分析请求数据并传送到模型, 传送模型结果到视图,最后生成输出响应信息。 ...
  • MVC与模板概念的理解  MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将MV的实现代码分离,从而使同一个... 模型-视图控制器(MVC)是Xerox PARC在八十年...

    MVC与模板概念的理解  

    MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

      模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。

    MVC如何工作

      MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
       视图
      视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.
      如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
       模型
      模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
       控制器
      
      控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。
      现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

    为什么要使用 MVC

      大部分Web应用程序都是用像ASP,PHP,或者CFML这样的过程化语言来创建的。它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它们分开。尽管构造MVC应用程序需要一些额外的工作,但是它给我们带来的好处是无庸质疑的。
      首先,最重要的一点是多个视图能共享一个模型,现在需要用越来越多的方式来访问你的应用程序。对此,其中一个解决之道是使用MVC,无论你的用户想要Flash界面或是 WAP 界面;用一个模型就能处理它们。由于你已经将数据和业务规则从表示层分开,所以你可以最大化的重用你的代码了。
      由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。例如,很多数据可能用HTML来表示,但是它们也有可能要用Macromedia Flash和WAP来表示。模型也有状态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也能被Flash网站或者无线联网的应用程序所重用。
      因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层和业务规则。如果你想把你的数据库从MySQL移植到Oracle,或者改变你的基于RDBMS数据源到LDAP,只需改变你的模型即可。一旦你正确的实现了模型,不管你的数据来自数据库或是LDAP服务器,视图将会正确的显示它们。由于运用MVC的应用程序的三个部件是相互独立,改变其中一个不会影响其它两个,所以依据这种设计思想你能构造良好的松偶合的构件。
      对我来说,控制器的也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。

    MVC的缺点

      MVC的缺点是由于它没有明确的定义,所以完全理解MVC并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。
      你将不得不花费相当可观的时间去考虑如何将MVC运用到你的应用程序,同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦你的构件经过了测试,你就可以毫无顾忌的重用它们了。
      根据开发者经验,由于开发者将一个应用程序分成了三个部件,所以使用MVC同时也意味着你将要管理比以前更多的文件,这一点是显而易见的。这样好像我们的工作量增加了,但是请记住这比起它所能带给我们的好处是不值一提。
      MVC并不适合小型甚至中等规模的应用程序,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。
      MVC是一条创建软件的好途径
      MVC设计模式是一个很好创建软件的途径,它所提倡的一些原则,像内容和显示互相分离可能比较好理解。但是如果你要隔离模型、视图和控制器的构件,你可能需要重新思考你的应用程序,尤其是应用程序的构架方面。如果你肯接受MVC,并且有能力应付它所带来的额外的工作和复杂性,MVC将会使你的软件在健壮性,代码重用和结构方面上一个新的台阶。

    开发方式

      Java开发Web Application有几种符合MVC设计模式的开发方式。
      1:Jsp+Servlet+JavaBean(EJB)
      2:Jsp+JavaBean(Controller)+JavaBean(EJB)(Model)
      3:TDK(Turbine,Velocity...)
      4:Xsp 5:Jsp+Struts+JavaBean(EJB)
      .NET开发Web Application可以采用:
      1: ASP.NET MVC Framework(目前最新版本为CodePlex Preview 4)

    常见的MVC组件

      Struts Apache的,最流行的MVC组件
      Struts2 Apache用Struts 和 WebWork的组合出来的新产品,目前上升势头强劲
      WebWork 这个可是老牌的MVC组件,后来组合成了Struts2, 不过自身仍在发展
      Spring MVC, SpringFramework自己整合自己Spring的优势推出的MVC组件,用户也不少
      JSF 这个是一个规范,Sun的和 Apache的都有各自的实现。用户量很大,被众多IDE支持。

    转载于:https://www.cnblogs.com/JemBai/archive/2008/10/09/1306802.html

    展开全文
  • 直接在视图上解开承诺,无需控制器。 什么是承诺解包? promise-unwrap是一个Angular模块,它公开了允许您在视图中解开promise的过滤器,而没有模板的样板 // in my-controller.js var vm = this ; myService . ...
  • laravel控制器视图模型

    2018-08-20 11:25:34
    php artisan make:controller ...路由关联控制器 Route::get('photoindex','PhotoController@index');//方法一 Route::get('photoindex1',['uses' =&amp;amp;gt; 'PhotoController@index']);//方法二 Rou...
    php artisan make:controller PhotoController --resource

    这里写图片描述
    这里写图片描述
    路由关联控制器

    Route::get('photoindex','PhotoController@index');//方法一
    Route::get('photoindex1',['uses' => 'PhotoController@index']);//方法二
    Route::get('photoindex1',[
        'uses' => 'PhotoController@index',
        'as' => 'photoindex1name'
    ]);//as 别名 route函数传入别名可以或得到url
    Route::get('photoindex/{id}','PhotoController@index');//参数id
    Route::get('photoindex/{id}','PhotoController@index')
    ->where('id','[0-9]');//加入判断
    控制层代码
        public function index($id)
        {
            echo $id;
            return view('welcome');
        }
    输出视图 方法中写return view('welcome');
    往视图传入变量
    return view('test/test1',[
                'id'=>$id,
            ]);
    视图输出变量        {{$id}}
    

    创建模型

    php artisan make:model PhotoModel

    这里写图片描述
    这里写图片描述

    展开全文
  • 这是一个简单的 Laravel 4.2 项目,演示了访问站点的管理客户端域,其中每个域需要具有单独的路由、视图控制器等,但指向同一个应用程序。 要求 常规 Laravel 设置之外的要求是: admin.multi-domain.dev...
  • mvc之控制器,模型和视图

    千次阅读 2016-09-29 16:47:03
    控制器类,模型类,和视图控制器类 通过route路由类取得了控制器方法名 然后拼接控制器文件的路径,并判断是否是一个文件,若是则进行引入,否则报出异常。 调用控制器对应的方法,则会运行...

    控制器类,模型类,和视图类

    控制器类

    通过route路由类取得了控制器名和方法名


    然后拼接控制器文件的路径,并判断是否是一个文件,若是则进行引入,否则报出异常。


    调用控制器对应的方法,则会运行里面的代码逻辑。显示数据调用模型

    模型类

    模型类Model继承php内置的PDO类

    构造方法进行参数的设置,并调用父类PDO的构造方法进行数据库连接。然后此时Model类就可以使用PDO的属性和方法。


    此时在控制器中实例化Model模型类,可以写一条sql语句并调用其中的query方法获取数据。并展示出来。


    视图显示思路,这里是这样实现的。

    控制器类继承一个自己写好的公共父类。这里继承imooc.里面有两个公共方法。

    Assign和display

    Assign方法将键和值赋给本类的assign属性。

    Display类将拼接传入的文件名并引入相应文件。

    其中extract()函数将数组中的每个键值分别定义成单独变量。

    然后就可以在视图文件中用传入的键名当变量访问相应的数据。



     


    展开全文
  • 控制器如何接收呢 Thinkphp给了我们一个I方法,这不是L是I, 上的3种方法都可以用I获取 如  I(‘a’),a是写msg_sender:msg_sender,冒号前边的,而冒号后面的是数据 实际看上面的例子 $newid=...
  • 上篇文章我们介绍了Laravel5框架中如何向视图中传送数据,今天我们来研究下如何向视图中传送array,非常的详细,推荐给有需要的小伙伴参考下。
  •  模型-视图控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用 ColdFusion PHP 的...
  • 本文实例讲述了CI(CodeIgniter)框架视图中加载视图的方法。分享给大家供大家参考,具体如下: CI做为php的一个轻量级框架,...2:接下来创建默认的控制器视图,创建控制器的目录为:application\controllers\ 文件夹内
  • 视图包含应用的 HTML 代码,并将应用的控制器逻辑表现逻辑进行分离。视图文件存放在 resources/views 目录中。下面是一个简单的视图示例: <!-- resources/views/greeting.blade.php 视图文件 --> <...
  • 【Yii框架介绍】相关介绍、安装部署框架、商城模板与yii结合、MVC历史:2008年1月 到现在Php框架:cakephp CI(codeIgniter) symfony TP(thinkphp) zendframework(官方) Yii 等等,还有许多叫不上名字的框架。...
  • 在ThinkPHP5的项目版本中,假设我们需要建立一个网站的二级目录 user ...然后在controller下面新建index.php文件,代码如下:   &lt;?php namespace app\User\controller; class inde...
  • Laravel摘记之路由、控制器视图

    千次阅读 2018-07-25 21:33:54
    将用户的请求按照事先规划的方案提交给指定的控制器和方法来进行处理。 Laravel框架中用户需要访问的全部路由都事先设置好,用户只能访问声明的一些路由,即没有声明的路由是不能被访问的,进而可以提高网站的安全...
  • 这个特别好解决,这是tp...你只要在application下的config.php文件修改一下配置, // URL伪静态后缀 'url_html_suffix' => 'html', 改为 // URL伪静态后缀 'url_html_suffix' => '', 即可 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,311
精华内容 16,524
关键字:

php 视图和控制器