山山未迟

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2016年5月8日

摘要: HTTP协议:超文本传输协议,b/s架构项目遵循的基本协议,浏览器服务器通信的基本原理(请求连接(TCP/IP协议),连接成功,浏览器发送请求,服务器处理请求,浏览器处理结果,关闭连接),HTTP协议两部分(请求,响应),url,特点(支持客户/服务器模式,简单快速[只需请求方法和路径],灵活[任意数据],无连接[每次连接只处理一个请求],无状态[事务处理没有记忆能力]) HTTP请求:四... 阅读全文
posted @ 2016-05-08 23:09 山山未迟 阅读(168) 评论(0) 推荐(0)

摘要: 1整体知识介绍:mysql基本操作和使用,mysql优化(索引,分表等),mysql部署(读写分离,负载均衡等) 数据库基本介绍:数据库概念,常用数据库,web应用三大软件分工,PHP动态语言特点(处理数据),数据的存放(脚本运行时和执行完毕),数据库系统 关系型数据库:概念(关系+二维表),教学系统实例,常见关系型数据库,关系型数据库特点(所有数据相同结构,没有数据也分配存储空间) 非关系型数据... 阅读全文
posted @ 2016-05-08 23:08 山山未迟 阅读(233) 评论(0) 推荐(0)

摘要: 一、下订单准备: 建表: 订单信息表:存储主要的订单信息 订单id、登录用户的id、订单的总金额、 订单的收货人的信息 1 123 400 梁山宋江 订单和商品的关联表 订单的id 商品的id 商品的属性id 购买的数量 商品的单价 1 12 23,45 10 ... 阅读全文
posted @ 2016-05-08 23:06 山山未迟 阅读(300) 评论(0) 推荐(0)

摘要: 一、购物车的需求分析 购物车数据存储的位置 (1)session里面,关闭网站,下次访问则没有购物车的数据 (2)数据库里面,存储到数据库里面,要求用户必须登录,购买成功,可以把数据给清空。 (3)存储到cookie里面,再次访问网站,能够看到以前存储到购物车里面的数据、 京东的做法,如果用户没有登录则把购物车数据存储到cookie里面, 如果用户登录了,则会把购物车数据存储到数据库里面,并把... 阅读全文
posted @ 2016-05-08 23:01 山山未迟 阅读(263) 评论(0) 推荐(0)

摘要: 三、前台的会员注册和登录 查看ecshop里面会员和管理员表的设计 建立会员表: create table it_user( id smallint unsigned primary key auto_increment, username varchar(32) not null comment '会员的用户名', password ... 阅读全文
posted @ 2016-05-08 22:59 山山未迟 阅读(189) 评论(0) 推荐(0)

摘要: 目录 一、完成前台首页 1 1、布局首页 1 2、在home模块下面,index控制器中添加取出导航栏(顶级栏目)数据的方法, 2 3、在首页中取出栏目的具体的数据 3 二、栏目页面的布局 5 三、前台的会员注册和登录 7 1、完成注册功能: 8 2、完成用户的登录 10 3、保存用户的信息到cookie里面,下次访问直接处于登录状态。 13 四、完成商品的详情页面 13 五、完成一个面包... 阅读全文
posted @ 2016-05-08 22:58 山山未迟 阅读(244) 评论(0) 推荐(0)

摘要: 目录 一、商品管理 1 1、建表的考虑 1 2、添加商品 3 3、上传图片生成缩略图 5 4、封装上传函数,并生成缩略图。 6 5、商品信息入库 8 6、取出商品属性 9 7、商品属性入库 11 一、商品管理 1、建表的考虑 goods_thumb表示小图,100*100的,在列表页面中使用 商品的中图goods_img在商品的详情页面中使用。 使用is_best表示是一个精品,使用i... 阅读全文
posted @ 2016-05-08 22:55 山山未迟 阅读(273) 评论(0) 推荐(0)

摘要: 三、完成属性管理 1、属性的添加 了解属性的类型。单选属性 唯一属性 复选属性 了解 在添加商品的时候,属性值的输入方式,列表选择和手工输入 create table it_attribute( id tinyint unsigned primary key auto_increment, type_id tinyint not null comment '商品类... 阅读全文
posted @ 2016-05-08 22:53 山山未迟 阅读(216) 评论(0) 推荐(0)

摘要: 目录 一、项目布局: 1 1、使用tp3.2.1的一个版本,具体使用方法 1 2、布局后台网站,后台程序是一个独立的网站。 2 二、商品类型管理 4 1、完成商品类型添加 4 2、完成商品类型列表 8 三、完成属性管理 9 1、属性的添加 9 2、属性列表的完成 12 四、完成栏目管理 17 1、添加栏目 17 2、栏目列表 19 一、项目布局: 1、使用tp3.2.1的一个版本,具体使用... 阅读全文
posted @ 2016-05-08 22:52 山山未迟 阅读(343) 评论(0) 推荐(0)

摘要: 八、完成在用户登录是, 可以使用邮箱登录。 1、找到会员登录的模板,修改登录名称。 打开user.php页面,找到$action==’login’代码块,找出对应 的模板页面 (2)打开user_password.dwt模板,修改名称 不要直接在模板中修改,要在语言包文件里面去修改名称,打开user.php页面发现在代码的前部分,有引入语言包的操作。 (3)打开user.php(该语言包... 阅读全文
posted @ 2016-05-08 22:44 山山未迟 阅读(217) 评论(0) 推荐(0)

摘要: 目录 一、目前市场流行的电子商城系统 1 二、ecshop的介绍 1 三、安装 2 四、echsop 的目录结构 5 五、分析ecshop里面程序的架构 5 六、小试牛刀把面包屑导航改成两个大于号 6 1、根据php页面找出该页面对应的模板。 6 2、找到category.dwt模板文件,打开找到面包屑导航的位置 6 3、在library目录中找出 ur_here.lbi文件 7 七、ini... 阅读全文
posted @ 2016-05-08 22:42 山山未迟 阅读(263) 评论(0) 推荐(0)

摘要: 目录 一、常用web服务器的介绍 1 二、nginx的了解 1 三、nginx特点 1 四、支持的操作系统: 2 五、nginx的安装 2 六、配置虚拟主机 3 七、nginx支持php 4 八、配置nginx expires缓存功能 6 1、整体配置有效期: 6 2、根据目录进行判断,添加expires功能 7 九、压缩配置: 7 九、配置负载均衡 9 一、常用web服务器的介绍 ap... 阅读全文
posted @ 2016-05-08 22:39 山山未迟 阅读(192) 评论(0) 推荐(0)

摘要: 目录 一、什么是主从复制 1 二、实现原理 1 三、用户授权, 2 1、添加一个用户,给用户授权 2 2、如果删除一个用户 3 四、log-bin日志 3 1、如何开启log-bin日志 3 2、如何 查看log-bin日志里面的内容。 4 3、log-bin日志相关的一些命令操作 5 4、使用bin-log日志完成一个案例,恢复数据的一个案例 6 五、主从配置 8 1、配置主服务器: 8... 阅读全文
posted @ 2016-05-08 22:37 山山未迟 阅读(202) 评论(0) 推荐(0)

摘要: 三、使用php查询测试 1、要拷贝sphinx的接口文件到php项目中来。 具体的代码: 四、查询的关键词要添加样式显示 使用:$sc->buildExcerpts()来完成对应关键词添加样式来显示 $sc->buildExcerpts(一条记录的数组,索引的名字,查询的关键词,关键词添加的样式) $sc->buildExcerpts(一条记录的数组,索引的名字,查询的关键词,array... 阅读全文
posted @ 2016-05-08 22:33 山山未迟 阅读(166) 评论(0) 推荐(0)

摘要: 一、sphinx的基本介绍 1、使用背景 当对大文本数据进行单词匹配查询时,如:有一个歌曲网站,数据库中 收集着上百万首歌曲的信息,如果要查询出歌词中带“爱情”的所有歌 曲,典型的做法是执行如下SQL语句: SELECT * FROM songs WHERE content LIKE "%爱情%"。 但是在MYSQL中以%开头的查询无法使用索引,所以这条SQL语句将执 行全表扫描,性能极差... 阅读全文
posted @ 2016-05-08 22:31 山山未迟 阅读(168) 评论(0) 推荐(0)

摘要: 目录 一、模型管理 1 二、栏目管理 5 三、内容管理 7 四、RBAC的普通管理员登陆,。 8 一、模型管理 1、模型列表 (1)在模型的控制器里面添加一个lst方法,用于模型数据的显示,并拷贝对应的静态页面 2、字段管理: (1)建立一张字段模型表 #该表用于存储模型字段的信息。 create table it_modelfield( id smallint primary ... 阅读全文
posted @ 2016-05-08 22:21 山山未迟 阅读(188) 评论(0) 推荐(0)

摘要: 三、管理员管理 1、添加管理员: (1)新建一个管理员的控制器,并添加add方法,并拷贝对应的静态模板,并修改样式图片的路径。 (2)在管理员的模型里面,建立一个数据验证, 要求: 管理员名称不能为空 管理员名称必须是唯一的。 密码也不能为空 密码必须大于6位小于12位 两次输入的密码必须要一致 角色不能为空 (3)完成入库,入库时, 一个是角色表(it_role),it_admin_role... 阅读全文
posted @ 2016-05-08 22:14 山山未迟 阅读(196) 评论(0) 推荐(0)

摘要: 目录 一、权限管理设置 1 1、删除权限 1 二、角色管理 2 1、添加角色, 2 2、角色列表 5 3、角色删除 6 三、管理员管理 6 2、管理员列表, 9 3、修改管理员 9 五、模型管理 12 六、栏目管理 13 七、内容管理 13 一、权限管理设置 1、删除权限 在删除权限时,如果有子权限则不能删除。在删除之前要判断一下是否有子权限。 (1)在模型中定义一个方法,用于验证是否子权限。... 阅读全文
posted @ 2016-05-08 22:11 山山未迟 阅读(259) 评论(0) 推荐(0)

摘要: 五、权限管理的设置 权限的crud操作。 1、添加权限 (1)添加一个权限的控制器,并添加一个add方法,并拷贝对应的静态页面,并修改静态页面里面样式图片路径。 思考:表单里面提供的内容,哪些数据需要入库。修改表单 (2)新建一个privilege模型,用于添加数据验证,并添加验证规则 (3)完成权限的入库 (4)在父级权限位置,取出所有的权限,按照层次级别显示出来。 打开privileg... 阅读全文
posted @ 2016-05-08 22:09 山山未迟 阅读(192) 评论(0) 推荐(0)

摘要: 目录 一、项目分析 1 二、权限管理 1 三、网站布局,布局完成首页 4 四、完成管理员登陆 7 五、权限管理的设置 12 1、添加权限 12 2、权限列表 15 3、修改权限 15 4、删除权限 19 一、项目分析 模型管理 栏目管理,(使用无限极分类) 内容的添加,(根据模型里面附加表的字段,自动生成表单) RBAC(管理员管理,角色管理,权限管理) 使用... 阅读全文
posted @ 2016-05-08 22:06 山山未迟 阅读(264) 评论(0) 推荐(0)

摘要: 一、在搜索页面完成栏目的取出 思路:取出的数据是顶级栏目,dede_arctype表(栏目表),条件是:父id等于0 reid=0 要注意:我们要取出的数据是栏目的名称和链接,但是链接信息是通过channel标签计算出来,没有存储表的字段里面,因此要分析channel标签。通过分析发现如下。 最后输出的代码: 把取出的栏目数据给遍历到静态页面中。 二、根据电影的名称或者电影名称... 阅读全文
posted @ 2016-05-08 22:01 山山未迟 阅读(550) 评论(0) 推荐(0)

摘要: 一、完成搜索页面 1、完成分页显示 (1)在plus目录下面新建一个sou.php页面,完成分页的显示,并把对应的模板页面拷贝到templets目录下面a67目录下面,也命名为sou.htm,并修改静态页面里面的样式和图片路径。 (2)执行分页变量的构造, (3)当前的取出数据内容里面 ,没有arcurl内容,因此要查看arclist标签文件,查看是否如何计算出来的。 参考:如下... 阅读全文
posted @ 2016-05-08 21:56 山山未迟 阅读(343) 评论(0) 推荐(0)

摘要: 目录 一、回顾内容: 1 二、在内容详情页面的模板中,要求取出的数据内容和当前的数据内容属于同一个栏目。 2 三、完成电影的评分功能 3 1、完成鼠标滑过,前面变成金星后面变成灰星 3 2、给星星评分 4 3、完成,在加载该页面时,能够实时的显示出分数 7 4、完成对同一部电影,一个用户一天内只能评分一次。 7 四、dede里面的采集功能 8 1、采集电影的列表,获取电影的标题和电影内容页... 阅读全文
posted @ 2016-05-08 21:53 山山未迟 阅读(278) 评论(0) 推荐(0)

摘要: 五:输出子栏目下电影内容; 思路:使用channelartlist标签, 该标签,是获取栏目下面的子栏目,获取栏目下面所属的具体数据内容。 案例1:取出所有的顶级栏目,以及顶级栏目下面的子栏目 效果: 案例2:取出子栏目,以及子栏目所属的内容。 六、制作网站的头部,让其他的模板引入 1、在a67目录下面新建一个文件head.htm,用于存储头部内容, 2、在需要引入头部的地方,使用{de... 阅读全文
posted @ 2016-05-08 21:50 山山未迟 阅读(402) 评论(1) 推荐(0)

摘要: 目录 一、内容回顾 1 1、主要的表 1 2、使用 cms系统完成项目的流程 1 3、标签 1 4、模板与静态页面的关系 1 二、完成如下数据的取出 3 三、完成评分值排序, 6 四、输出电影的子栏目。 8 五:输出子栏目下电影内容; 9 六、制作网站的头部,让其他的模板引入 10 七、完成栏目列表页面的内容 10 八、在栏目页面取出所属栏目的电影。 11 九、在栏目页面页面中,取出条件:地区... 阅读全文
posted @ 2016-05-08 21:48 山山未迟 阅读(405) 评论(0) 推荐(0)

摘要: 六、内容模型修改,自定义内容模型 注意 :在添加完成某个模型的栏目后,想要添加该栏目的数据,需要在后台重新刷新一下,在核心-》内容管理-》会出来该模型数据的添加按钮。 1、修改模型, 在dede里面默认的模型有时不满足我们,需要修改模型 如何更改: 在后台-》核心-》频道模型-》内容模型管理-》 单击修改后,选择字段管理。 选择添加新字段,新添加的字段默认在最后, 在字段管理里面,通... 阅读全文
posted @ 2016-05-08 21:45 山山未迟 阅读(1059) 评论(0) 推荐(0)

摘要: 一、基本概念: 1、cms(content management system)内容管理系统, 适合于管理什么系统(适合于做什么类型的网站) (1)以静态为主, (2)以内容展示为主, (3)逻辑比较简单,网站的结构,比较清晰明了(主页,栏目页(列表页面),内容详情页面) 比如:电影网站,软件下载网站,图片素材网站,简单的企业门户网站,学校网站。 不适合于:SNS(个人设置),股票,复杂的电子... 阅读全文
posted @ 2016-05-08 21:42 山山未迟 阅读(255) 评论(0) 推荐(0)

摘要: 4、sets类型及操作 set是集合,它是string类型的无序集合。set是通过hash table实现的、添加、删除和查找的复杂度都是0(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。 (1)sadd 向名称为key 的set中添加元素。 语法:sadd 集合名 元素 (2)smembers 获取集合中内容,语法:smemb... 阅读全文
posted @ 2016-05-08 21:40 山山未迟 阅读(140) 评论(0) 推荐(0)

摘要: 目录 一、什么是nosql 1 (1)NoSQL的基本说明: 1 (2)兴起的原因: 1 (3)特点: 1 (4)常见的nosql产品 1 二、redis的基本介绍 2 三、完成安装 2 四、redis的数据类型 4 1、string类型, 4 2、哈希(hash)类型 4 3、链表(list): 4 4、集合(set) 5 5、有序集合 5 五、redis的数据类型讲解相关命令 5 1、st... 阅读全文
posted @ 2016-05-08 21:36 山山未迟 阅读(161) 评论(0) 推荐(0)

摘要: 七、索引覆盖 索引覆盖是指:如果查询的列恰好是索引的一部分,那么查询只需要在索引文件上进行,不需要回行到磁盘再找数据,这种查询速度非常快,称为“索引覆盖” 案例1,如下对name字段添加了普通索引,要查询name字段信息。 案例2:比如对id和name字段建立符合索引,我们取出的数据是复合索引的一部分,因此用到了索引覆盖。 八、前缀索引, 利用字段数据的前部分作为索引,称为前缀索引。减少索引长... 阅读全文
posted @ 2016-05-08 21:32 山山未迟 阅读(150) 评论(0) 推荐(0)

摘要: 目录 一、mysql优化概述 1 二、分析需要优化的语句 1 1、使用mysql里面的 慢查询日志, 1 2、使用profiles机制 3 三、索引 4 1、索引 的类型 4 2、如何创建索引 4 3、删除索引 5 4、查询索引: 5 5、创建索引的注意事项 5 四、索引结构 6 五、explain(执行计划)工具的使用 7 六、使用执行计划,完成sql语句索引执行情况查询; 8 1... 阅读全文
posted @ 2016-05-08 21:31 山山未迟 阅读(221) 评论(0) 推荐(0)

摘要: 3、php操作memcache. (1)实例化一个对象。 $mem = new Memcache(); (2)连接memcache,使用connect函数。 入门案例: (3)对存储的数据类型进行讨论。 php的数据类型:标量数据类型的存储方式。 获取的结果: php的标量类型在memcac he里面存储都是转换成字符串的形式来存储的。 php的数据类型:数组的形式。 在存储数组时,把数组... 阅读全文
posted @ 2016-05-08 21:27 山山未迟 阅读(193) 评论(0) 推荐(0)

摘要: memcache的使用: 目录 一、memcache基本的介绍 1 二、基本的原理: 1 三、安装软件 1 四、软件操作 4 1、直接使用telnet远程协议连接,(类似于mysql客户端的黑窗口) 4 2、使用php程序当成客户端,连接memcache要安装memcache的扩展。 7 3、php操作memcache. 9 4、入门案例的使用。 11 5、典型的一个案例应用2 12 五、“分... 阅读全文
posted @ 2016-05-08 21:26 山山未迟 阅读(174) 评论(0) 推荐(0)

摘要: 回顾: 静态化的分类: 真静态: 伪静态: 实现真静态的方式: (1)使用ob缓存 ob_start();ob缓存的数据是:响应的主体数据, 程序缓存:缓存的数据,http返回的数据(头和主体) (2)使用模板替换技术, 一、使用模板替换技术实现真静态。 1、实现方式: (1)在添加新闻内容的时候,生成对应的新闻详情的静态页面。 (2)在修改新闻内容的时候,要重新生成新闻详情的静态页面。 (3)在... 阅读全文
posted @ 2016-05-08 21:24 山山未迟 阅读(283) 评论(0) 推荐(0)

摘要: 五、大存储的解决方案: 最终目标:不查询数据库或少查询数据库,在查询数据库时,要快速的查询到数据。 1、使用服务器端的缓存。 (1)磁盘缓存(页面静态化技术) (2)内存缓存 内存缓存技术: memcache,redis,mysql的memory存储引擎 2、优化数据库 六、页面静态化技术 把一个动态(操作数据库)的php页面,转换成一个静态的.html页面 实现步骤; 一个http请求,返回... 阅读全文
posted @ 2016-05-08 21:21 山山未迟 阅读(288) 评论(0) 推荐(0)

摘要: 目录 一、判断大型网站的标准 1 二、大型网站带来哪些问题: 1 三、高并发如何解决: 2 四、如何解决大流量 2 1、防止网站的资源被盗链,存在于一些大的资源类型的网站, 2 2、减少了http请求, 2 3、配置浏览器缓存 3 4、配置压缩,减少数据传输量 6 5、可以把比较占流量的一些资源单独部署服务器。 8 6、花钱买带宽。 8 五、大存储的解决方案: 9 1、使用服务器端的缓存。 9... 阅读全文
posted @ 2016-05-08 21:20 山山未迟 阅读(251) 评论(0) 推荐(0)

摘要: 1、 多表连接 在查询结果,如果查询条件或查询结果不在同一张表中,那么我们需要使用多表连接 两种方式: 1) 这种查询的缺点: 如上图所示,如果商品表中有一个没有匹配到分类的商品,会被自动排除,也就是说,查询到的商品数量有误。 2) TP中的表连接操作: 1) table :实现上面的第一种连接方式 语法: $model-> table(‘table1 t1,table t2’) ->wh... 阅读全文
posted @ 2016-05-08 21:17 山山未迟 阅读(285) 评论(0) 推荐(0)

摘要: 1、 表名操作 在一个数据库中,如果部署了多个项目,那么我们可以使用表前缀解决问题 ‘DB_PREFIX' =>‘think_’ tp中默认的表前缀是think_ 如:数据库表名 我们接下来需要在配置文件config.php中,添加以下选项: 项目就可以正常工作。 tableName: 如:数据表名是sp_categorys,但是这个表对应的模型是 CategoryModel,那么,... 阅读全文
posted @ 2016-05-08 21:13 山山未迟 阅读(186) 评论(0) 推荐(0)