Yii2 初体验
看着Yii1.1有那么多的不爽,又看着Yii2一天天成熟起来,于是凑一个小项目的原型阶段,试着用Yii2搞一搞。
随手写了一点体会,以一个Yii1的熟练工人看向Yii2的视角,简单一说吧。(将来随时可能在本文后面追加补充)
默认的模板使用了bootstrap,很美观。
basic版和advanced版的config文件不大一样。basic版里面,有web.php,后者没有。
设置为中文显示:config/web.php 中,增加一行 ‘language‘=>‘zh-CN‘。然后 Home 变成了首页,Powered by Yii Framework 变成了技术支持 Yii 框架。
使用gii生成model,我勾选了Use Table Prefix,这时生成的model,其tableName()函数返回的是 {{%menu}}。如果不勾选,将返回表名的全称,如 ssn_menu
models/user.php里,增加了不少函数,方便了很多。
在models及controllers中,随处都用 [ ... ] 代替 array(...),好看和清爽了许多。
LibCrudController 对应的URL是 ?r=lib-crud
开始尝试用户登陆部分的定制。。
开始做CRUD (from 20:20)
User::find()->all() 而不是 User::model()->findAll()
在_form.php中引用User,需要首先声明 use app\models\User;
在视图文件中引用ArrayHelper需首先声明 use yii\helpers\ArrayHelper;
在Yii v1.1中需要三行才能搞定的数据录入元素,这里只要一行:
<?= $form->field($model, ‘name1‘)->textInput([‘maxlength‘ => true]) ?>
gii生成的CRUD界面大气、美观了许多,且提示信息自动为中文(这应该是GridView的功劳)
User::findOne($user_id); 和下面的这个并不一样。这个返回一条记录,下面的不知是什么鬼。
$user=User::find()->where([‘id‘ => $id]);
增加 my.css:首先在web/css中增加my.css,然后在assets/AppAsset.php中
public $css = [
‘css/site.css‘,
‘css/my.css‘,
];
置入js文件:$this->registerJsFile("js/start.js"); --当依赖jquery的时候,这个明显不行,提示找不到$。
这里讲得很清楚。几个方案。其中修改 assets/AppAsset.php的方案已调通。其中一个关键点在于(见黑体字):AppAsset::addScript($this,‘@web/js/start.js‘);
页面右下有一个酷酷的debug-toolbar按钮,点击会弹出一个水平的状态条。
地址栏的 index.php?r=site/index 会变成 index.php?r=site%2Findex
稿源:七星互联www . qixoo.com
Yii2 初体验的更多相关文章
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Spring之初体验
Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...
- Xamarin.iOS开发初体验
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0
- 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验
在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...
- 百度EChart3初体验
由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...
- Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...
随机推荐
- shell+curl监控网站页面(域名访问状态),并利用sedemail发送邮件
应领导要求,对公司几个主要站点的域名访问情况进行监控.下面分享一个监控脚本,并利用sendemail进行邮件发送. 监控脚本如下:下面是写了一个多线程的网站状态检测脚本,直接从文件中读出站点地址,然后 ...
- [转]VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT
转自:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/03/15/1985084.html VMWare提供了三种工作模式,它们是brid ...
- EBS中使用java进行 JavaConcurrentProgram 请求获取参数
public class MainTest implements JavaConcurrentProgram { //实现interface中的runProgram方法 public void run ...
- 重新理解:ASP.NET 异步编程(转)
http://www.cnblogs.com/xishuai/p/asp-net-async-await-and-exception-handling.html 相关博文: 异步编程 In .NET( ...
- 2015年新版C#从入门到精通(第2版)视频教学录像【无水印版】
<c#从入门到精通(第2版)>以零基础讲解为宗旨,用实例引导读者学习,深入浅出地介绍了c#的相关知识和实战技能.<c#从入门到精通(第2版)>第1篇[c#语言基础]主要讲解c# ...
- File的保存与读取
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...
- jQuery 模板插件jquery-tmpl
Step1:导入脚本: <script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")">&l ...
- 【hello,world 也打脸】记storm-starter在某知名IDE下的悲催调试经历
背景 最近收到这样一个问题: Storm处理消息时会根据Topology生成一棵消息树,Storm如何跟踪每个消息.如何保证消息不丢失以及如何实现重发消息机制? 虽已回复,但心想还是看下storm这块 ...
- js方式清空表单数据的两种方式
方法1:遍历页面元素 /* 清空FORM表单内容 id:表单ID*/ function ClearForm(id) { var objId = document.getElementByI ...
- Swift 玩转 3D Touch 之 Peek & Pop
什么是3D Touch 3D Touch 是iOS9之后专为 iPhone6s 机型加入的新特性,这一新技术移植于 Mac Book 上的 ForceTouch 更准确地说应该是 ForceTouch ...