当前位置:首页 > > PHP编程电子书网盘下载
PHP&MySQL跨设备网站开发实例精粹 PHP&MySQL跨设备网站开发实例精粹
码农之家

码农之家 提供上传

资源
28
粉丝
28
喜欢
119
评论
12

    PHP&MySQL跨设备网站开发实例精粹 PDF 超清扫描版

    PHP编程电子书
    • 发布时间:

    给大家带来的一篇关于PHP编程相关的电子书资源,介绍了关于实例精粹、网站开发、跨设备、MySQL、php方面的内容,本书是由清华大学出版社出版,格式为PDF,资源大小80.9 MB,陈惠贞,陈俊荣编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.8,更多相关的学习资源可以参阅数字信号通信以太坊软件调试思维导图、等栏目。

  • PHP&MySQL跨设备网站开发实例精粹 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1iiDT63iZj_ZDiJUDxYg0i
  • 提取码:8te9
  • PHP&MySQL跨设备网站开发实例精粹

    PHP&MySQL跨设备网站开发实例精粹电子书封面

    读者评价

    我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

    在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定,但是我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。环境搭建好,当你看见你的浏览器输出“it works"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

    对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。

    php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理,这样你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

    内容介绍

    《PHP & MySQL跨设备网站开发实例精粹》从易学实用的角度详细讲解PHP、HTML5语法,MySQL数据库存取;针对网页之间的信息传递、表单的后端处理、HTTP Header、Cookie、Session、文件存取、GD绘图与图像处理、面向对象、使用Ajax、访问MySQL数据库、SQL查询等应用,做了鞭辟入里的讲解;让您克服初学者的迷茫,向专业的程序设计之路迈进。

    为紧跟网站推出“移动版”的潮流,书中列举了如何根据网络设备,自动切换PC版网页和移动版网页,另辟专门章节讲解如何使用jQuery Mobile快速开发移动版网站,以及如何在移动版网站内使用PHP与MySQL进行数据库访问。

    本书最重要的是提供了丰富的网站开发范例,包括建立Google地图应用网站、移动版商品目录、访客留言板、讨论组、文件上传、在线寄信服务、电子贺卡、会员管理系统、在线投票系统、购物车、网络相册等超强范例;满足您应用于各种专题的项目开发或参与程序设计技能竞赛的需求。

    内容节选

    php+mysql开发中的经验与常识小结

     

    本文总结了php+mysql开发中的经验与常识。分享给大家供大家参考,具体如下:

    一、基础规范

    (1)尽量使用 InnoDB 存储引擎

    支持事务、行级锁、并发性能更好,CPU 及内存缓存页优化得当,资源利用率更高

    (2)必须使用 UTF8 字符集

    无需转码,无乱码风险

    (3)数据表、数据字段必须加入中文注释

    N 年后谁知道这个 r1,r2,r3 字段是干嘛的

    (4)尽量不要使用存储过程、视图、触发器、Event

    高并发大数据的互联网业务,架构设计思路是“解放数据库 CPU,将计算转移到服务层”,并发量大的情况下,这些功能很可能将数据库拖死,业务逻辑放到服务层具备更好的扩展性,能够轻易实现“增机器就加性能”。数据库擅长存储与索引,CPU 计算尽量挪到上层

    (5)禁止存储大文件或者大照片

    不要让数据库做它不擅长的事情。大文件和照片存储在文件系统(使用上传服务),数据库里存 URI

    二、命名规范

    (6)库名、表名、字段名:小写,下划线风格,不超过 32 个字符,必须见名知意,禁止拼音英文混用

    (7)表名简洁清晰,非唯一索引名 idx_xxx,唯一索引名 uniq_xxx

    三、表设计规范

    (8)单实例表数目必须小于 500

    (9)单表列数目最好小于 30

    (10)表必须有主键,例如自增主键

    a)主键递增,数据行写入可以提高插入性能,可以避免 page 分裂,减少表碎片,提升空间和内存的使用

    b)主键要选择较短的数据类型, Innodb 引擎普通索引都会保存主键的值,较短的数据类型可以有效的减少索引的磁盘空间,提高索引的缓存效率c) 无主键的表删除,在 row 模式的主从架构,会导致备库卡住

    (11)禁止不要使用外键,如果有外键完整性约束,需要应用程序控制

    外键会导致表与表之间耦合,update 与 delete 操作都会涉及相关联的表,十分影响 sql 的性能,甚至会造成死锁。高并发情况下容易造成数据库性能,大数据高并发业务场景数据库使用以性能优先

    四、字段设计规范

    (12)必须把字段定义为 NOT NULL 并且提供默认值

    a)null 的列使索引/索引统计/值比较都更加复杂,对 MySQL 来说更难优化
    b)null 这种类型 MySQL 内部需要进行特殊处理,增加数据库处理记录的复杂性;同等条件下,表中有较多空字段的时候,数据库的处理性能会降低很多
    c)null 值需要更多的存储空间,无论是表还是索引中每行中的 null 的列都需要额外的空间来标识
    d)对 null 的处理时候,只能采用 is null 或 is not null,而不能采用=、in、<、<>、!=、 not in 这些操作符号。如:where name!='cuiyang',如果存在 name 为 null 值的记录,查询结果就不会包含 name 为 null 值的记录

    (13)禁止使用 TEXT、BLOB 类型

    会浪费更多的磁盘和内存空间,非必要的大量的大字段查询会淘汰掉热数据,导致内存命中率急剧降低,影响数据库性能

    (14)避免使用小数存储货币

    使用整数存储,小数容易导致钱对不上

    (15)必须使用 varchar(20)存储手机号

    • a)涉及到区号或者国家代号,可能出现+-()
    • b)手机号会去做数学运算么?
    • c)varchar 可以支持模糊查询,例如:like“138%”

    (16)禁止使用 ENUM,可使用 TINYINT 代替

    • a)增加新的 ENUM 值要做 DDL 操作
    • b)ENUM 的内部实际存储就是整数,你以为自己定义的是字符串?

    五、索引设计规范

    (17)单表索引建议控制在 5 个以内

    (18)单索引字段数不允许超过 5 个

    字段超过 5 个时,实际已经起不到有效过滤数据的作用了

    (19)禁止在更新十分频繁、区分度不高的属性上建立索引

    • a)更新会变更 B+树,更新频繁的字段建立索引会大大降低数据库性能
    • b)“性别”这种区分度不大的属性,建立索引是没有什么意义的,不能有效过滤数据,性能与全表扫描类似

    (20)建立组合索引,必须把区分度高的字段放在前面

    能够更加有效的过滤数据

    六、SQL 使用规范

    (21)禁止使用 SELECT *,只获取必要的字段,需要显示说明列属性

    • a)读取不需要的列会增加 CPU、IO、NET 消耗
    • b)不能有效的利用覆盖索引
    • c)使用 SELECT *容易在增加或者删除字段后出现程序 BUG

    (22)禁止使用 INSERT INTO t_xxx VALUES(xxx),必须显示指定插入的列属性

    容易在增加或者删除字段后出现程序 BUG

    (23)禁止使用属性隐式转换

    SELECT uid FROM t_user WHERE phone=13812345678

     会导致全表扫描,而不能命中 phone 索引

    (24)避免在 WHERE 条件的属性上使用函数或者表达式

    SELECT uid FROM t_user WHERE from_unixtime(day)>='2017-02-15' 

    会导致全表扫描正确的写法是:

    SELECT uid FROM t_user WHERE day>= unix_timestamp(‘2017-02-15 00:00:00')
    

    (25)避免负向查询,禁止%开头的模糊查询

    a)负向查询条件:NOT、!=、<>、!<、!>、NOT IN、NOT LIKE 等,会导致全表扫描
    b)%开头的模糊查询,会导致全表扫描

    (26)避免大表使用 JOIN 查询及子查询

    会产生临时表,消耗较多内存与 CPU,极大影响数据库性能

    (27)避免使用 OR 条件,尽量改为 IN 查询

    旧版本 Mysql 的 OR 查询是不能命中索引的,即使能命中索引,数据库也需要耗费更多的 CPU 帮助实施查询优化

    (28)应用程序必须捕获 SQL 异常,并有相应处理

    目录

    • 第1章 开始编写PHP程序
    • 1.1 认识动态网页技术
    • 1.1.1 浏览器端Scripts
    • 1.1.2 服务器端Scripts
    • 1.2 认识PHP、Apache与MySQL
    • 1.3 建立PHP、Apache与MySQL运行环境
    • 1.3.1 安装WampServer
    • 1.3.2 设置WampServer
    • 1.3.3 查看PHP文件
    • 1.4 PHP程序的编辑工具
    • 1.5 安装本书范例程序
    • 1.6 编写第一个PHP程序
    • 1.6.1 将PHP程序嵌入HTML文件
    • 1.6.2 将PHP程序放在外部文件中
    • 1.7 PHP程序代码的编写惯例
    • 第2章 类型、变量、常数与运算符
    • 2.1 类型
    • 2.1.1 整数(integer)
    • 2.1.2 浮点数(float、double)
    • 2.1.3 布尔(boolean)
    • 2.1.4 字符串(string)
    • 2.1.5
    • 2.1.6 资源(resource)
    • 2.2 类型转换
    • 2.2.1 检查类型
    • 2.2.2 明确转换类型
    • 2.3 变量
    • 2.3.1 变量的命名规则
    • 2.3.2 变量的访问方式
    • 2.3.3 变量的有效范围
    • 2.3.4 变量处理函数
    • 2.4 常数
    • 2.4.1 用户自定义常数
    • 2.4.2 预定义的常数
    • 2.5 运算符
    • 2.5.1 算术运算符
    • 2.5.2 字符串运算符
    • 2.5.3 递增/递减运算符
    • 2.5.4 比较运算符
    • 2.5.5 位运算符
    • 2.5.6 逻辑运算符
    • 2.5.7 赋值运算符
    • 2.5.8 条件运算符
    • 2.5.9 错误控制运算符
    • 2.5.10 执行运算符
    • 2.5.11 运算符的优先级
    • 2.6 PHP的输出函数
    • 第3章 流程控制与数组
    • 3.1 认识流程控制
    • 3.2 if
    • 3.2.1 if:若...就...(单向选择)
    • 3.2.2 if...else...:若...就...否则...(双向选择)
    • 3.2.3 if...elseif...:若...就...否则 若...就...否则(多向选择)
    • 3.3
    • 3.4 for(计数循环)
    • 3.5 条件循环
    • 3.5.1 while
    • 3.5.2 do...while
    • 3.5.3 break与continue语句
    • 3.5.4 exit() 函数
    • 3.6 foreach
    • 3.7 认识数组
    • 3.8 一维数组
    • ……
    • 第4章 函数
    • 第5章 文件访问
    • 第6章 GD绘图与图像处理
    • 第7章 面向对象
    • 第8章 在网页之间传递信息
    • 第9章 使用Ajax
    • 第10章 jQuery Mobile移动版网页
    • 第11章 管理MySQL数据库
    • 第12章 SQL查询
    • 第13章 访问MySQL数据库
    • 第14章 Google地图应用网站
    • 第15章 移动商品目录
    • 第16章 访客留言板与讨论组
    • 第17章 文件上传
    • 第18章 在线寄信服务与电子贺卡
    • 第19章 会员管理系统
    • 第20章 在线投票系统
    • 第21章 购物车
    • 第22章 网络相册

    上一篇:软件定义网络:基于OpenFlow的SDN技术揭秘  下一篇:算法笔记

    展开 +

    收起 -

     
    PHP编程 相关内容
    《PHP&MySQL跨设备网站开发实例精粹》学习笔记
    网友NO.29110
    网友NO.29110

    我们组使用的是用PHP作为后端开发的语言,所以主要学习php的内容,主要学习了一些有关于后端基本操作和ajax的问题。
    php的后端基本操作
    1.php连接mysql数据库 
    $db_link=mysql_connect("localhost","root","passwd") or die("connect error:". mysql_error());
    mysql_select_db("databasename",$db_link);
    $sql="select * from table ";
    $result=mysql_query($sql,$db_link);
    $rows=mysql_fetch_array($result);
    $row=mysql_num_rows($result);
    $id=$rows["id"];
    之后可以使用create,update等等函数
    2.php中session的使用
    在每个页面开始之前用
    session_start();
    $_SESSION["ID"]="userid";
    用于记录用户的登录的信息,可以根据这个判断是否登录以及做一些判断
    3.php中cookie的使用
    setcookie("TestCookie", $value, time()+3600, "/", ".example.com");
    设置了一个TestCookie的值为$value的一个小时后过期的cookie变量
    清空cookie
    setcookie("TestCookie", "", time()-2*3600, "/", ".example.com");
    4.php取页面地址
    $_SERVER['HTTP_REFERER'] //可以得到上一页的地址
    $_SERVER[PHP_SELF] //得到当前页面地址
    $_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"]."?".$_SERVER["QUERY_STRING"] //这个可以得到带参数的地址
    5.PHP页面跳转
    header("Location:www.baidu.com");

    网友NO.35713
    网友NO.35713

    现在看来,数据库层次的分为三部分,数据库,数据表,数据
    一个数据库包含若干数据表,一个数据表包含若干数据
    以下是一些常用的mysql语句
    数据库:
    创建一个数据库:create database [数据库名];
    删除一个数据库: drop database [数据库名];
    查看当前有哪些数据库:show databases;
    选择(进入)数据库:use [数据库名];
    数据表(在选定一个数据库的情况下):
    创建一个数据表: create table [table_name](列1 属性,列2 属性。。。。);
    一开始的时候并不明白为什么这里要称之为列,到后来学了数据,就明白了
    查看表结构:show columns from [table_name] from [数据库名];
    修改表结构:alter table [table_name] 操作,操作...;
    删除表:drop table [table_name];
    数据:
    插入数据 :insert into [table_name](column_name,column_name2) value(value,value2);
    查询数据:select [选择列(*代表全选)] from [table_name] where (一些满足的条件);(还有更多的功能,暂时还不会,有待学习);
    修改数据:update [table_name] set column_name = new_value where (满足的一些条件);

    Copyright 2018-2020 xz577.com 码农之家

    本站所有电子书资源不再提供下载地址,只分享来路

    免责声明:网站所有作品均由会员网上搜集共同更新,仅供读者预览及学习交流使用,下载后请24小时内删除

    版权投诉 / 书籍推广 / 赞助:QQ:520161757