Yii之路(第八)
【URL地址美化】
给域名地址做一个别名
伪静态。通过设置服务器服务。做域名地址的转换工作。
urlManager地址美化,通过程序的方式实现地址的美化工作
http://xxxxx.com/index.php?r = user/login
变成
http://xxxx.com/index.php/user/login
以路由的方式做路由的转换
变成(加上后缀):
http://xxxx.com/index.php/user/login.html
配置URLManager组件:
这个是动态的配置路由
/aa3d2e17-7c01-4e11-b854-1f64343f8fc6/uk7PfNKRzvqWUrBvgZydhyQGFeUnqXGpS8OBMu6gdpk!/b/dG8BAAAAAAAA&bo=NQKQAAAAAAAFAIQ!" width="565" alt="" style="vertical-align:top;font-family:Arial;font-size:14px;line-height:22px;" />
/aa3d2e17-7c01-4e11-b854-1f64343f8fc6/nuPb3.KqPrCMm3o4ZxnVzZS298TX0QELILUqEsj1r8g!/b/dOQAAAAAAAAA&bo=EAGEAAAAAAAFALY!" width="272" alt="" style="vertical-align:top;font-family:Arial;font-size:14px;line-height:22px;" />
伪静态配置.htaccess
【错误页面的处理】
訪问一个错误的控制器
訪问一个错误的方法
有些控制器和方法禁止訪问
以上错误信息是不方便给外边用户看到的。
错误信息在site/error这个地方定义的
还有就是debug模式要关闭。
才干看到自己定义错误
【主题文件夹】
配置使用主题:
【面包屑】
这是单独的view页面展示
view下的布局(layout)展示:
/aa3d2e17-7c01-4e11-b854-1f64343f8fc6/WMxDJrAfcbR8mFg5A5Q5rScAyWfv8CLqqPNMT8800c8!/b/dH8BAAAAAAAA&bo=9QGnAAAAAAAFAHA!" width="501" alt="" style="vertical-align:top;" />
通过小物件widget实现面包屑的显示。
【数据处理DAO】
Yii框架对数据处理能够通过两种方式:AR/DAO
前者主要是对简单的sql语句处理
后者才是处理复杂的sql语句
两种使用的基础是PDO。php data object
php数据对象PDO就是为了兼容php处理各种数据库(mysql/oracle/sqlserver)我们
定义一条sql语句就能够在mysql/oracle/sqlserver不同数据库来执行。
AR:处理数据 CActiveRecord
DAO:对数据的处理 CdbCommand CDbDataReader
//DAO方式的 插入动作
public function actionCreate()
{
$res=Yii::app()->db->createCommand()->insert("user",array(
'username'=>'水墨淡清',
));
dump($res,FALSE);
dump(Yii::app()->db->getLastInsertID());//获取最新插入的ID
}
//DAO方式的 修修改作
public function actionUpdate()
{
$res=Yii::app()->db->createCommand()->update('user',array(
'username'=>'我是来玩的'
), 'id=:id',array(':id'=>24));
dump($res);
}
//DAO方式的 删除动作
public function actionDelete($id)
{
$id=trim($id);
$res=Yii::app()->db->createCommand()->delete('user','id=:id',array(':id'=>$id));
dump($res);
}
//单条数据查询 queryRow()
public function actionRow()
{
$row=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where('id=:id',array(':id'=>2))->queryRow();
dump($row);
}
//多条数据查询 queryAll()
public function actionAll()
{
$all=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where('id>:id',array(':id'=>1))->queryAll();
dump($all);
}
//统计数据数量 queryScalar()
public function actionScalar()
{
$scalar=Yii::app()->db->createCommand()->select('count(1)')->from('user')->where('id>:id',array(':id'=>1))->queryScalar();
dump($scalar);
}
//查询全部的ID
public function actionColumn()
{
$ids=Yii::app()->db->createCommand()->select('id')->from('user')->where('id>:id',array(':id'=>1))->queryColumn();
dump($ids);
}
Yii之路(第八)的更多相关文章
- 云计算分布式大数据Hadoop实战高手之路第八讲Hadoop图文训练课程:Hadoop文件系统的操作实战
本讲通过实验的方式讲解Hadoop文件系统的操作. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发布云 ...
- Spark学习之路 (八)SparkCore的调优之开发调优
摘抄自:https://tech.meituan.com/spark-tuning-basic.html 前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark ...
- 微软企业库5.0 学习之路——第八步、使用Configuration Setting模块等多种方式分类管理企业库配置信息
在介绍完企业库几个常用模块后,我今天要对企业库的配置文件进行处理,缘由是我打开web.config想进行一些配置的时候发现web.config已经变的异常的臃肿(大量的企业库配置信息充斥其中),所以决 ...
- Spark学习之路 (八)SparkCore的调优之开发调优[转]
前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark的功能涵盖了大数据领域的离线批处理.SQL类处理.流式/实时计算.机器学习.图计算等各种不同类型的计算操作 ...
- FastAPI 学习之路(八)路径参数和数值的校验
系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...
- 架构之路(八)从CurrentUser说起
CurrentUser,也就是当前用户,这是我们系统中大量使用的一个概念. 确认当前用户 当然,我们利用的是cookie:用户的ID存放在cookie中,服务器端通过cookie中的Id,查找数据库, ...
- python之路十八
1.JS 正则 test - 判断字符串是否符合规定的正则 rep = /\d+/; rep.test("asdfoiklfasdf89asdfasdf ...
- 嵌入式Linux驱动学习之路(十八)LCD驱动
驱动代码: /************************************************************************* > File Name: lcd ...
- WPF学习之路(八)页面
传统的应用程序中有两类应用程序模式:桌面应用,Web应用.WPF的导航应用程序模糊了这两类应用程序的界限的第三类应用程序 WPF导航表现为两种形式,一是将导航内容寄宿于窗口,二是XAML浏览器应用程序 ...
随机推荐
- python基础——12(包的概念)
一.模块 1.模块的加载顺序 加载顺序:内存-->内置-->sys.path(一系列自定义模块) import sys sys.path #环境变量:存放文件路径的列表 重点:默认列表的 ...
- SGU 149 树形DP Computer Network
这道题搜了一晚上的题解,外加自己想了半个早上,终于想得很透彻了.于是打算好好写一写这题题解,而且这种做法比网上大多数题解要简单而且代码也比较简洁. 首先要把题读懂,把输入读懂,这实际上是一颗有向树.第 ...
- php expat+DOM+SimpleXML XML读取
XML 文件 将在我们的例子中使用下面的 XML 文件: <?xml version="1.0" encoding="ISO-8859-1"?> & ...
- Knockout v3.4.0 中文版教程-10-绑定-控制文本内容和外观-visible绑定
4.绑定 1. 控制文本内容和外观 1. visible绑定 目的 visible绑定可以根据你传入绑定的值控制关联的DOM元素显示或隐藏. 例子 <div data-bind="vi ...
- python基础-面向对象(装饰器)
属性: @property @method_name.setter @method_name.deleter 三个标签都是放在方法的上面来使用,且方法名要和后续使用的 变量名字相一 ...
- mysql 处理数据库中的重复行
1.对于主键和唯一索引,可以用IGNORE关键字,遇到重复记录会直接忽略插入记录,返回0.insert ignore into table_name ('id','name') values (1,' ...
- python刷toj
1452 import sys a , b , c = map(int,sys.stdin.readline().split()) print ((a+b+c),(a*b*c), '%.2f' %(( ...
- java中传入一个数或字符串或数组进行反转
//将一个数用递归反转--利用余数 public static void inverse(int n) { System.out.print(n % 10); if (n >= 10) inve ...
- IIS中如何应用程序启用https协议
首先已经安装完了SSL证书 1.找到需要添加的站点,右击 ---> 编辑绑定-->添加--->选择 ""https"-->选择"SSL ...
- SPOJ - Distinct Substrings,求不同的字串个数!
DISUBSTR - Distinct Substrings 题意:给你一个长度最多1000的字符串,求不相同的字串的个数. 思路:一个长度为n的字符串最多有(n+1)*n/2个,而height数组已 ...