yii2视图写php标签,yii2教程-视图剖析

视图加载方法://不加载布局文件

$content = $this->renderPartial('about',['test'=>6]);//为布局文件加载内容

return $this->renderContent($content);//对ajax的请求作出回应

$this->renderAjax('about',['test'=>7]);//显示指定文件

$this->renderFile('full file',['test'=>8]);//先加载about.php里面的内容,然后再将内容整合到布局文件中去最后通过浏览器展示给用户

$this->render('/site/about.php',['test'=>5]);

以上方法的原理以及第一个路径参数的几种写法/*

*原理:

* 1.先生成about.php这个页面

* 2.把1生成的结果作为content变量传到布局文件main.php界面

*

* 以上加载视图文件方法里面的view参数格式有五种:

* 1.别名路径制定view文件

* @app/views/site/about.php

*

* 2双斜杠开头:使用app下面的views

* //site/about.php表示当前app下面的views也就是根目录下的

*

* 3单斜杠开头使用当前module下面的views(换句话说就是你的控制器目录下     的views目录)

* /site/about.php

*

* 4当前controller下的view文件直接使用字符串格式(如:about,login,view ect.),ViewContextInterface接口所返回的页面view

* ViewContextInterface

*

* 5上次所使用的路径

* getViewFile

*/

对第五点的补充:

getViewFile

这是在视图中使用$this->render('about');此处的about指的是上一次使用的

目录下的about视图(也就是,你的控制器中加载过来时使用的目录)

在view视图里面的render方法只加载所指定的页面,不加载布局页面

官方解说上述方法中的视图名格式:视图名

渲染视图时,可指定一个视图名或视图文件路径/别名,大多数情况下使用前者因为前者简洁灵活,

我们称用名字的视图为 视图名.

视图名对应的视图文件路径解析:

视图名可省略文件扩展名,这种情况下使用 .php 作为扩展,视图名 about 对应到 about.php 文件名;

视图名以双斜杠 // 开头,对应的视图文件路径为 @app/views/ViewName,也就是说视图文件在 yii\base\Application::viewPath 路径下找, 例如 //site/about 对应到 @app/views/site/about.php。

视图名以单斜杠/开始,视图文件路径以当前使用模块 的yii\base\Module::viewPath开始,如果不存在模块,使用@app/views/ViewName开始, 例如,如果当前模块为user, /user/create 对应成 @app/modules/user/views/user/create.php,

如果不在模块中,/user/create对应@app/views/user/create.php。

如果 yii\base\View::context 渲染视图 并且上下文实现了 yii\base\ViewContextInterface, 视图文件路径由上下文的 yii\base\ViewContextInterface::getViewPath() 开始, 这种主要用在控制器和小部件中渲染视图,例如 如果上下文为控制器SiteController,site/about 对应到 @app/views/site/about.php。

如果视图渲染另一个视图,包含另一个视图文件的目录以当前视图的文件路径开始, 例如被视图@app/views/post/index.php 渲染的item 对应到 @app/views/post/item。

根据以上规则,在控制器中 app\controllers\PostController 调用 $this->render('view'),

实际上渲染 @app/views/post/view.php视图文件,当在该视图文件中调用 $this->render('_overview') 会渲染 @app/views/post/_overview.php 视图文件。

yii在view文件里,如何使用js或css,meta,link

以下的$this变量是在视图文件中使用的。(以下代码均在视图文件里面实现)

方法如下:

1.css$css = "body{padding:0px;margin:0px;}";

$this->registerCss($css);

$this->registerCssFile('');//参数问css文件路径

2.js$js = "alert('hello world!');";

$this->registerJs($js,\yii\web\View::POS_READY);//第二个参数表示位置

$this->registerJsFile(

'assets/35aad32d/gii.js',

[

'depends'=>['yii\web\JqueryAsset','yii\web\YiiAsset'],

'position'=>\yii\web\View::POS_END

]

);

registerJs()的两个参数,第一个是js字符串 第二个为该js代码所放的位置

第二个参数有如下几种类型:(以下常量均在yii\web\View.php里面)/**

* The location of registered JavaScript code block or files.

* This means the location is in the head section.

*/

const POS_HEAD = 1;//在

标签里面

/**

* The location of registered JavaScript code block or files.

* This means the location is at the beginning of the body section.

*/

const POS_BEGIN = 2;//在

标签开头

/**

* The location of registered JavaScript code block or files.

* This means the location is at the end of the body section.

*/

const POS_END = 3;//在

标签末尾,但还是在标签里面

/**

* The location of registered JavaScript code block.

* This means the JavaScript code block will be enclosed within `jQuery(document).ready()`.

*/

const POS_READY = 4;//加载时包含在jQuery(document).ready()方法里面

/**

* The location of registered JavaScript code block.

* This means the JavaScript code block will be enclosed within `jQuery(window).load()`.

*/

const POS_LOAD = 5;//加载时包含在jQuery(document).load()方法里面

registerJsFile():此方法中的第一个参数指定js文件路径,第二个参数是一个数组,里面包含如下key值:

* - `depends`: 一个数组,制定在该js文件依赖的js,好再加载前先加载依赖项

* - `position`: 制定加载js文件的位置,有三种情况(以下常量均在yii\web\View.php里面)

*     const POS_HEAD = 1;//在

标签里面

*     const POS_BEGIN = 2;//在

标签开头

*     const POS_END = 3;//在

标签末尾,但还是在标签里面

*

3.metaTage.g.

registerMetaTag([

'name' => 'description',

'content' => 'This website is about funny raccoons.'

]);$this->registerMetaTag(['name'=>'csrf-param','content'=>'_csrf']);

4.linkTag// registerLinkTag(['rel' => 'icon', 'type' => 'image/png', 'href' => '/myicon.png']);

$this->registerLinkTag(['rel'=>'archives','title'=>'百度','href'=>'http://www.baidu.com']);

以上方法均有第三个参数$key/*

* @param string $key the key that identifies the JS code block. If null, it will use

* $js as the key. If two JS code blocks are registered with the same key, the latter

* will overwrite the former.

*/

以上是对registerJS()方法而言的,其他方法都类似以上的解释,就说此变量用来确定JS代码块,如果为空,它将使用$Js作为key,如果出现两个代码块的key值相同,那么就会覆盖前面的代码块。

从IMC层到应力点:手把手教你用SEM/EDS给BGA焊点做一次‘体检’ 本文详细介绍了如何使用SEM/EDS技术对BGA焊点进行全面失效分析,从样品制备到SEM观察、EDS分析,再到综合诊断,手把手教你识别焊点的微观特征和成分异常。文章特别强调了IMC层分析在BGA焊接失效诊断中的关键作用,并提供了实用的实验室技巧和常见失效模式对照表,帮助工程师快速定位问题根源。 阅读详情

相关推荐

yii2-icons:在Yii Framework 2.0中易于使用的图标框架集

yii2-icons 此扩展提供了一种简单的方法来设置各种图标框架以与Yii Framework 2.0一起使用。 当前支持最流行和免费的图标框架。 将来可以根据需求和反馈来扩展此列表。 :Krajee将其作为CSS图标提供的Unicode符号集合 Socicon Icons :需要您添加图标来源的出处。 Octicons :Github图标集合。 标志图标 打开标志性图标 IcoFont图标 演示版 您可以在此处通过文档和示例查看有关此扩展程序用法的演示。 安装 安装此扩展的首选方法是通过composer 。 注意:检查composer.json以了解此扩展程序的要求和依赖性。 阅读有关设置应用程序的composer.json的minimum-stability设置的Web提示/ wiki 。 无论运行 $ php composer.phar require kartik

yii2.0引入php文件,yii2怎样引入css和js文件_PHP开发框架教程

引入体式格局有多种:1、能够直接在视图页面上引入=Html::cssFile('@web/css/index.css')?>=Html::jsFile('@web/js/jquery.min.js')?>2、能够直接原生代码引入,途径是项目目次/web/css 或许/js3、能够运用assetBundle治理css款式及js剧本资本包定义:basic/assets/AppAsset...

weixin_42492000的博客 254

声卡驱动npruntime650a

声卡驱动 npruntime650a声卡驱动 npruntime650a

yii2 mysql 视图_yii2视图(布局)中各种函数总结报告及使用场景

yii2布局文件里有很多函数,你是否研究过他们都是干嘛用的?这篇文章告诉你~我们以安装完yii2程序后默认的布局为例说明// @app/views/layouts/main.php/* @var $this \yii\web\View *//* @var $content string */use yii\helpers\Html;use yii\widgets\Breadcrumbs;use a...

weixin_39770592的博客 281

yii2 引入php文件,yii2引入视图模版文件的4种路径形式

yii2中,引入视图模版文件的4种方法的区别如下:1、“@app” 开头,“@app”是一个路径别名,对应站点根目录。比如项目路径为:E:/www/yii2/,引入为:$this->render('@app/views/site/about.php'),则对应的文件所在磁盘路径为:“E:/www/yii2/views/site/about.php”(可以用var_dump(Yii::get...

weixin_36416921的博客 454

yii2 中设置/添加 css、js、meta(keywords description) 等样式标签

yii2 中设置/添加 css、js、meta(keywords description) 等样式标签

Bentley_self的博客 2780

YII2前端工具使用的一些总结

数据提供器新字段 数据提供器DataProviter给gridview提供数据。当数据提供器是ActiveDataProvider 时,数据来源为model。当model查询给出额外的字段时,在gridview中调用额外字段会提示未定义。解决方法如下 数据提供器 $query = User::find()->select("*,count(id) as num")->groupBy(['uid']);//num为新增的额外字段 $dataProvider = new ActiveDataPro

u012830303的博客 616

Yii2视图(View)

视图(View) 基本定义 部件(Widget) 安全 模板引擎 在模板中使用视图对象 设置页面标题 添加meta标签 注册连接标签 注册CSS 注册脚本 注册asset bundles 布局(Layout) 局部(Partial) 访问上下文 静态页面 缓存区块 自定义视图组件

wjtlht928的专栏 9377

yii2视图php标签,yii2视图(布局)中各种函数总结报告及使用场景

yii2布局文件里有很多函数,你是否研究过他们都是干嘛用的?这篇文章告诉你~我们以安装完yii2程序后默认的布局为例说明// @app/views/layouts/main.php/* @var $this yiiwebView *//* @var $content string */use yiihelpersHtml;use yiiwidgetsBreadcrumbs;use appasset...

weixin_31807353的博客 300

yii2视图php标签,Yii2框架视图(View)操作及Layout的使用方法分析

本文实例讲述了Yii2框架视图(View)操作及Layout的使用方法。分享给大家供大家参考,具体如下:渲染视图1.我们在Default 控制器里做演示namespace app\controllers;use yii\helpers\Url;use yii\web\Controller;class DefaultController extends Controller{public funct...

weixin_32102305的博客 336

yii2视图php标签,yii2视图模版中引另一个视图2种方法

yii2中,视图模版文件引另一个视图常用的有2种方法。方法一:

weixin_39635432的博客 298

yii2视图php标签,phpyii2:如何在邮件中呈现视图

我可以使用swiftmailer扩展程序发送邮件.我也可以从@ app / mail文件夹中包含视图文件.现在我想知道如何为我的模型视图包含数据,例如说我有一个Model City.php和相关视图view.php或index.php(grid-view)我如何包含在视图中呈现的数据.邮件正文中的index.php中的php(单个记录)或表数据.简而言之,我想在视图中包含yii2中呈现的默认数据或...

weixin_34088048的博客 149

yii2视图php标签,Yii2使用第三方模版渲染视图(smarty模板/Twig模板)

Yii2默认是使用PHP视图渲染数据的,若我们需要使用smarty或者Twig的话,需要安装相应的扩展进行。### 概括- 1.安装yiisoft/yii2-smarty / 安装yiisoft/yii2-twig- 2.配置components节点下的view- 3.使用示例------------#### 1.安装yiisoft/yii2-smarty / 安装yiisoft/yii2-tw...

weixin_39621235的博客 392

php视图,PHPYii框架中View视图的使用进阶

视图名渲染视图时,可指定一个视图名或视图文件路径/别名,大多数情况下使用前者因为前者简洁灵活, 我们称用名字的视图视图名.视图名可以依据以下规则到对应的视图文件路径:视图名可省略文件扩展名,这种情况下使用 .php 作为扩展, 视图名 about 对应到 about.php 文件名;视图名以双斜杠 // 开头,对应的视图文件路径为 @app/views/ViewName, 也就是说视图文件在 ...

weixin_39577964的博客 461

yii2视图php标签,详解Yii2 定制表单输入字段的标签和样式

Yii2中对于表单和字段的支持组件为ActiveForm和ActiveField,要生成一个具有label、input、error提示这样通用格式的登录框,可编如下代码:'id' => 'login-form','options' => ['class' => 'form-horizontal'],'fieldConfig' => ['template' => "{...

weixin_39707725的博客 88

yii2视图php标签,YII2 引用视图布局

方案1:控制器内成员变量public $layout = false; //不使用布局public $layout = "main"; //设置使用的布局文件方案2:控制器成员方法内$this->layout = false; //不使用布局$this->layout = "main"; //设置使用的布局文件方案3:视图中选择布局$this->context->layou...

weixin_35789885的博客 187

php表单yii2,Yii2框架使用教程之如何创建表单

初学php的朋友们。都会想着找一个能够快速上手的框架来学习做项目。一般的话会选择ThinkPHP来尝试来尝试,这个框架的上手难度系数不大,能快速开发一款应用。适合小型的企业应用。因为是国人开发的,中文支持比较好。有比较全面的文档,官网社区也比较活跃。但是到了一定阶段基本就不满足使用ThinkPHP了,进而选择高性能的开发框架。Yii 自带了丰富的功能,包括 MVC,DAO/ActiveRecord...

weixin_39946500的博客 323

php创建view,php yii2学习笔记(一) 创建动作和视图

如何创建一个动作去响应请求,如何创建一个视图去构造响应内容,以及一个应用如何分派请求给动作。创建动作对于“Hello”任务,需要创建一个say动作, 从请求中接收message参数并显示给最终用户。如果请求没有提供message参数, 动作将显示默认参数 “Hello”。注意:动作是最终用户可以直接访问并执行的对象。 动作被组织在控制器中。 一个动作的执行结果就是最终用户收到的响应内容...

weixin_35773019的博客 285
上一篇: php 错误503的原因,CentOS + Apache2.4 + PHP5.6 FPM报503错误
下一篇: php有几种数据结构,PHP数据结构有几种
yy 蠢
博客等级 码龄8年 22粉丝 75原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值