用vue写了一个日历组件,在Firefox、Edge、Chrome以及360等浏览器极速模式中运行一切正常,如图: 但在IE和360等浏览器的兼容模式下却显示了模板,看起来像乱码一样,如图: 按F12...左思右想,突然灵光一闪,在ES5的函数声明中并不能为形参赋默认值,这种写法是ES6新增的,而IE是不兼容ES6的,那就把代码改一改,这里不再赋默认值,为了让方法可以正确执行而不报错,在调用这个方法的地方都强制传参就好了...`es6-promise`项目[github地址](https://github.com/stefanpenner/es6-promise) 现在,这个组件终于可以在IE上正常展示了!...最后,我们的项目是否需要兼容ES5需要您对您的用户有一个较为明确的认知,并不是所有项目都需要去做ES5兼容,毕竟因此会增加不少的工作量。...VUE: 1 / 1 vue在IE下无法正常工作,Promise未定义?
$this->render();//载入布局文件 $this->renderPartial();//不载入布局文件(也不能载入框架自带的jquery) 建立文件夹需要根据控制器名字来建立,里面的文件名也就是...render或者renderPartial方法传递的名字 例如: 控制器是Index,你就需要建立一个index文件夹 $this->render("index");或者$this->renderPartial...> 尾部是公共尾部 4.如何引入外部样式 css与js等一些文件放入assets里面,按照前后台分开 Yii::app()->request->baseUrl 例如: echo Yii::app()->.../assets/index/css/index.css"; Yii::app()返回的是你在index.php里创建的CWebApplication实例。在一次请求处理过程中,这是一个唯一的实例。...$age; print_r($data); 6.处理视图中的分配数据 在Yii框架中,数据以对象的形式存在 也就是说,从数据库中取出的数据都是以对象的形式存在 所以循环数据时是这样的 <?
5.强类型视图(常用命名空间可以定义在Views下的Web.Config) 通过ViewBag传递少量数据的确用的爽,我也挺喜欢这样的。...常用命名空间可以设置在Views的web.config中,eg: ?...===> ">jquery/1.10.2/jquery.min.js"> ? 想一想,为什么这样构造?...==》这样构造不影响他正常使用,那发现的几率就小了 ? 解决方法:Url.Encode 诸如这种的写法以后就不要出现了,如果是因为带了特殊符号而传不过来可以编码后再传 ?...、Html.RenderAction) 先说下这两个的区别:Html.Partial 和 Html.RenderPartial ?
同上结合使用,其中的_view中可以用一个$data的变量,代表当前的model数据 如果dataProvider中的pagination,sort设为false,则CliveView中对应的部分也无法使用...重新看了一遍yii blog,有些记录会与上边的重复 YII:Trace() 在debug模式是才记录信息,同时在main.php中的Log中的配置中的levels中要有trace,至于记录多少 栈由index.php...js提示,可以看下这此组件中的comfirm 而且他们的提交方式都是post,是因为在jquery.yii.js写死了 具体的以在源文件中低部找到那段js中的ajaxsubmit,所在的js看下 filter...是在执行action之前或之后执行的一段代码,要应用filters必须得写 CController::filters()方法 为什么在filters方法写上 ?...它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时, 嵌入其中Web里面的html代码会被执行 renderPartial() render() 后者会把需要的js,css等嵌入
特点 (1)快速 Yii 只加载您需要的功能。它具有强大的缓存支持。它明确的设计能与 AJAX 一起高效率的工作。 (2)安全 Yii 的标准是安全的。...模型-视图-控制器(MVC)设计模式:Yii在WEB编程中采用这一成熟的技术从而可以更好的将逻辑层和表现层分开。...数据库访问对象(DAO)和Active Record:Yii允许开发者模型数据库中的数据对象,从而减少他们在写很长和重复的SQL语句上的精力。...与jQuery整合:作为最流行的JavaScript框架之一,jQuery可以编写高效而灵活的JavaScript接口。 表单输入和验证:YII使得收集表单输入非常容易和安全。...完全面向对象:Yii框架坚持严格的面向对象编程范式。它没有定义任何全局函数或变量。而且,它定义的类层次结构允许最大的可重用性和定制。 友好的使用第三方代码:Yii精心设计让它第三方代码非常好的工作。
拿到了code在session中存储的key(__captcha/verifitycode/captcha)就是一个前缀拼接了类和方法。验证中还有当前图片验证码的存活次数限制。...拿到了session中存放code的key之后, TestController.php的验证可以这样做,代码如下。...->getSession(); $session->open(); //获取这个code 在session 中验证的总次数 $name = $this-...alert(obj.msg); } else { alert(obj.msg); //失败之后重新生成验证码.../3.3.1/jquery.min.js">
举个例子,引入一个用户交互组件[yii\jui\DataPicker\data picker wigets],可以很轻松的在视图中生成一个日期选择控件(jquery ui date picker). use...在重写的构造函数的结尾必须调用父类的构造函数 假设你重写了[yii\base\Object::init()|init()]方法,那么必须在重写的init方法开始调用父类的init方法 举个例子 namespace...::createOject()]的方式看起来更加复杂,但是因为[Yii::createObject]是基于依赖注入的实现,因此更加强大 [yii\base\Object]类强制实现如下生命周期: 在构造函数里实现预初始化...,可以在这个时候设定默认的属性值 通过$config配置对象,在构造函数里通过对象配置可以覆盖默认值 在[yii\base\Object::init()|init()]方法里,进行初始化后的配置。...可以在init方法里实现例行检查和属性正常化检查 对象方法调用 开始的三个阶段都在构造函数里实现,这意味着当你得到一个对象的实例时,它已经被初始化为适当的状态,可以被放心的使用。
yii gridview功能强大,但是时间筛选比较麻烦,与数据库的存储格式有关,本文的时间格式是date类型 那么问题来了,/【当下浏览的服务器和开发工具是哪些】/yii只提供关于时间的text搜索格式...) 2.要在searchmodel里面对数据进行处理,进行时间查询 3.坑:选择日期后,输入框没有光标,需要二次点击,然后回车才能实现数据刷新,与原装gridview体验相差较大 4.梯:在检测到输入日期数据后...try { console.log(r); //重要:如果检测有输入值了,就在输入框显示光标,或者模拟回车事件,自动提交,像gridview原生功能 //不添加下面的代码,将无法自动提交...var issued=$("input[name='PatentDataBdSearch[issued]']").val(); console.log(issued); if(issued){ //输入之后显示光标...setTimeout(function(){ e = jQuery.Event("keydown"); e.keyCode = 13; //enter key jQuery("input[name='
视图相关 渲染一个视图(如果布局有效则使用布局) $this->render('index',['model'=>$model]) 渲染视图(不使用布局) $this->renderPartial...运行之后触发 Controller::EVENT_AFTER_ACTION Model # 模型 在验证Model属性之前触发 Model::EVENT_BEFORE_VALIDATE...在验证Model属性之后触发 Model::EVENT_AFTER_VALIDATE Module # 模块 一个模块的Action运行前触发 Module::EVENT_BEFORE_ACTION...渲染一个视图文件之前触发 View::EVENT_BEFORE_RENDER 在renderFile渲染一个视图文件之后触发 View::EVENT_AFTER_RENDER 执行视图的...一切正常。 201: 响应 POST 请求时成功创建一个资源。Location header 包含的URL指向新创建的资源。
1.在frontend\assets\ActiveFormAsset.php中增加 getView(); ActiveFormAsset::register($view); $view->registerJs("jQuery...$attribute)] = $errors; } } return $result; } } 3.在frontend\assets\YiiAsset.php...'frontend\assets\AppAsset' ]; } 4.frontend\assets\AppAsset.php加入jq的版本,否则由于jq的版本不一致,无法完成校验 jquery-1.11.3.js', 'plugins/bootstrap/js/bootstrap.min.js', 'js/common.js', ];
,之后的每一个View就不用再引用这些命名空间了,_ViewImports.cshtml一样。...asp-controller="Home" asp-action="Privacy">Privacy jquery.../dist/jquery.min.js"> 在Index相同的目录下新建视图页_PartialIndex,并加入一些数据 2....在Index页面,引入该分部页内容 Html.RenderPartial("_PartialIndex", model); 3. 运行,查看效果
于是我就投入了看源码的行列:我打开了bootstrap,打开了Yii框架的vender文件夹,打开了jquery,试图去打开那个封装起来的黑盒子,了解这些框架背后的智慧。...于是我又开始新的一轮学习,看大量的书籍,有一天我重新打开Yii框架在我当时看起来很难理解的代码的时候我发现:我居然有点明白它的工作原理,知道整体的架构了!...我觉得已经可以了,于是就把它推了上去(ps:没有加上自动require,只是在每个文件的最上面加上了),在不断的测试之后就发现,这边有bug,那边也有!...真正的顿悟是在最近一次打开Yii框架源码,看到了autoload之后顿悟:其实可以根据需求自动加载文件,很多问题也就解决了,当然,这篇文章也就列举这一个问题,其实我碰到的问题不止这些,很多以前理解错误的地方也随着编写这个框架变的正确了...如今的框架图.png 之后的工作就是让框架更加的丰满,不敢说比得上一些主流的框架,说实话根本不能够和他们相比,无论从结构、思考还是思考上,编出主流框架的他们才是真正的大师。
需要实现的功能: 数据太多想初次加载部分数据,在底部加上“加载更多”按钮 点击后加载第二页数据(从数据库只取指定页数据)后接在已有数据后面(类似于android中的下拉加载更多) 每次加载时显示“正在加载...主页面Index的View中添加局部视图: @{Html.RenderPartial("_ProductListIndex...InsertionMode.InsertAfter }) } 注意几点: @Html.AjaxPager需要放在局部视图中,否则页码无法更新...,因为首次是直接由Model生成,没有从页码进去,无法执行beforeSend函数。...观察jquery.unobtrusive-ajax源码,其原理是异步从后台取数据然后经过模板解析后拼接到指定元素后面。
前言 shopwind在部署完成后,之后调试过程中遇到的问题,记录修复过程。...关闭网站后无法访问 复现问题 修复 修改代码文件 common/library/Basewind.php 54行左右,修改后恢复正常。...Yii::$app->params['site_status']) { if (stripos($_SERVER['REQUEST_URI...'], 'home') > -1) { Yii::$app->response->redirect(['site/closed...'])->send(); } else Yii::$app->response->redirect(['home/site/closed'
注意坑: 1.pjax必须包含使用到的所有js,也就是在页面中被应用到的pjax,都要被包含,否则js会在第一次执行pjax后失效 试图层 use yii\widgets\Pjax; 可以不显示刷新效果 案例: Pjax是JQuery的插件,结合ajax和Html5的pushState技术来实现异步刷新,每次通过a标签点击和form表单提交向服务器发送一个指定的请求之后,服务器都会返回需要更新的内容...Yii2 framework提供了一个Pjax widget帮助我们快速简洁的使用Pjax. 1. 引入Pjax <?php use yii\widgets\Pjax; ?...如果Pjax没有响应,超时之后页面将会重新加载。 Yii2 Pjax Examples Refresh 本例是一个简单的点击超链接来实现刷新时间,通过Pjax widget实现异步刷新。...('vote'); } public function actionDownvote() { $vote = Yii::$app->session->get('vote', 0); Yii
前言 总是喜欢去尝试各种各样的主题,但寻找很久之后也没有找到一款适合自己的,总有一些地方不合自己的心意,于是萌生了制作子主题的想法,在创建了子主题之后才发现,在子主题的修改和过程中越发感觉子主题的并不是我想要的...,特别是在父主题更新之后,所以开始想着从头开始,自己制作一款主题吧。...在初步阅读了WordPress主题制作相关文档之后,我就开始了我的主题制作旅程,在这里,我将记录下我的制作过程,希望对后来者有所帮助。...WordPress本地运行环境(推荐)或在线的网站空间,并已完成WordPress安装——用于主题测试 配备以下四种(或更多)浏览器——用于测试网页是否显示正常 Microsoft Internet...源码下载 接下来的文章中将会用到一些源代码,在此我已经将其打包为Yii-Candy,请前往下载Yii-Candy源码并保存好。
本文讨论通过composer工具安装Yii2框架并优化Vendor过程中遇到的问题,约定读者对composer基本原理有一定了解,并且有安装Yii2框架的实际经验。...框架安装问题 在Yii2社区里经常会遇到一类问题,那就是 安装完官方推荐的版本后 1 为什么没有vendor文件夹?...在Yii2 中,vendor是composer下载的依赖库文件,官方的项目模板代码里只有其自己的项目文件,而其依赖的yii框架等类库,都记录在composer.json里面,只要安装好composer,...exist: E:\sources\templates\backend\vendor\bower-asset/jquery/dist 文件包不存在只是表现,主要的原因是vendor路径和工程的配置文件不对应...其实在install的时候,假如发现composer.lock版本和目前vendor目录下的代码版本是一致的,则Composer会什么也不做,composer.lock的目的就是让你安心在目前这个版本下工作
():在默认的实现中会触发 yii\base\Model::EVENT_BEFORE_VALIDATE 事件。...你可以重写该方法或者响应此事件,来在验证开始之前,先进行一些预处理的工作。 (比如,标准化数据输入)该方法应该返回一个布尔值,用于标明验证是否通过。...yii\base\Model::afterValidate():在默认的实现中会触发 yii\base\Model::EVENT_AFTER_VALIDATE 事件。...你可以重写该方法或者响应此事件,来在验证结束之后, 再进行一些收尾的工作。...这样这些错误就能在之后的操作中,被读取并展现给终端用户。
它有30个组件可以选择,开发人员可以有足够的自由在RAD环境下进行试验和工作。Symfony API还允许使用第三方应用来方便集成,它可以与流行的前端框架,例如AngularJS一起使用。...Yii也是最快速的PHP框架,这归因于延迟加载技术。 Yii另一个出色的功能是jQuery集成。集成使前端开发人员能够快速地接受框架。它使用脚手架生成代码。...在处理过程中所有在视图文件中的代码都被转换成原生PHP。 Yii默认模板系统 Yii不会默认使用任何第三方的模板系统,但这并不意味着它缺少模板系统支持。模板系统的选择取决于开发团队。...不过,Symfony和Yii都是优秀的框架。Symfony是行之有效的,有一个更大、更成熟的社区。Yii是一个独特的框架,它是强大的,安全的,并能完成工作。...要想了解这些框架是如何工作的,可以访问Livecoding.tv。网站上的开发人员在使用Symfony, Yii和 Laravel来开发项目。他们在直播过程中还可以通过Skype与观众沟通。
想要在Yii2这个PHP框架中很好的使用redis键值存储,那么首先就要推荐yii2-redis这个官方的Github库。...这个库能够很好的帮助我们在Yii2框架中使用redis,它提供缓存,Session以及ActiveRecord模式的支持。...-redis:"~2.0.0" 或者将 "yiisoft/yii2-redis": "~2.0.0" 加入你的composer.json文件里,之后运行composer update,墙内真的很慢,耐心等待即可...' => 'localhost', 'port' => 6379, 'database' => 0, ], ] ]; 如此之后,你便能正常的在...session->get($key)]; } else { $session->set($key, 'Leon'); } return ['session' => 'no session']; 在简单的示范下