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浏览器应用程序 ...
随机推荐
- Android开发——Activity启动模式详解
1. Activity的启动模式 本文原创,转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52054893 1.1 Standard标 ...
- python中判断字符串是否为中文
判断字符串是否在中文编码范围内 for c in s: if not ('\u4e00' <= c <= '\u9fa5'): return False ...
- Python Flask+Mysql练习题
#!/usr/bin/pythonfrom flask import Flask,render_template,request,redirect,sessionimport MySQLdb as m ...
- nodejs 如何发送一个带JSON的GET请求?
GET /megacorp/employee/_search { "aggs" : { "all_interests" : { "terms" ...
- GET 方法和 POST方法区别
两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST. GET - 从指定的资源请求数据. POST - 向指定的资源提交 ...
- .net提高文章
文章:.NET程序性能的基本要领 文章:你的字典里有多少元素? 文章:快速自检电脑是否被黑客入侵过(Windows版) 文章:关于DNS,你应该知道这些
- java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment问题解决
2018-09-29 17:45:16.905 ERROR [pool-1-thread-1]o.s.scheduling.support.TaskUtils$LoggingErrorHandler. ...
- Dialog共通写法(两个button)
package jp.co.hyakujushibank.view import android.app.Dialogimport android.content.Contextimport andr ...
- PAT天梯赛练习题——L3-008. 喊山(邻接表+BFS)
L3-008. 喊山 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂 ...
- BZOJ 1007 [HNOI2008]水平可见直线 ——半平面交 凸包
发现需要求一个下凸的半平面上有几个交点. 然后我们把它变成凸包的问题. 好写.好调.还没有精度误差. #include <map> #include <ctime> #incl ...