《细说PHP(第2版)》图书信息

细说PHP(第2版)(含DVD光盘1张)

《细说PHP(第2版)》图书信息_第1张图片
(经典畅销书升级版,全面覆盖PHP学习关键点,150小时超大容量视频教学)
LAMP兄弟连 组编
高洛峰编著
ISBN 978-7-121-18563-2
2012年10月出版
定价:109.00元(含DVD光盘1张)
16开
828页
经典畅销书升级版,全面覆盖PHP学习关键点,150小时超大容量视频教学
内容简介
PHP是开发Web应用系统最理想的工具,易于使用、功能强大、成本低廉、高安全性、开发速度快且执行灵活。全书以实用为目标设计,包含PHP开发最主流的各项 技术,对每一个知识点都进行了深入详细的讲解,并附有大量的实例代码,图文并茂。系统地介绍了PHP的相关技术及其在实际Web开发中的应用。
全书共六个部分,分为30个章节,每一章都是PHP独立知识点的总结。内容涵盖了动态网站开发的前台技术(HTML+CSS)、PHP编程语言的语法、PHP的常用功能模块和实用技巧、 MySQL数据库的设计与应用、PHP 面向对象的程序设计思想、 数据库抽象层PDO、Smarty模板技术、Web开发的设计模式、自定义框架BroPHP、Web项目开发整个流程等目前PHP开发中最主流的技术。每一章中都有大量的实用示例,以及详尽的注释,加速读者的理解和学习,也为每章的技术点设置了大量的自测试题。最后以一个比较完整的、采用面向对象思想,以及通过MVC模式设计,并结合Smarty模板,基于BroPHP框架的CMS系统为案例,详细介绍了Web系统开发从设计到部署的各个细节,便于更好地进行开发实践。
对于PHP应用开发的新手而言,本书不失为一本好的入门教材,内容既实用又全面,所有实例都可以在开发中直接应用,并辅以大量的视频教程,使读者轻松掌握所学知识。另外,本书也适合有一定基础的网络开发人员和网络爱好者,以及大中专院校的师生阅读与参考。不仅可以作为PHP开发的学习用书,还可以作为从事Web开发的程序员的参考用书和必备手册。对于行家来说,本书也是一本难得的参考手册,读者必将从中获益。
作者简介
现任北京LAMP兄弟连(易第优教育)教学总监,五年 软件开发工作经验,四年IT教学工作经验。曾在多家上市 企业担任过技术总监、项目经理、高级软件工程师等职务,具有扎实的技术功底。国内资深的高级技术认证讲师,从事IT培训以来累计授课长达6000课时以上,培训近千名学员成功走向IT岗位,具有丰富的IT教学经验。熟悉掌握Unix/Linux/Windows等多种操作系统,一直从事 嵌入式、C\C++、J2EE、J2ME、J2SE、PHP及Oracle数据库等技术研发工作。其中,对Web系统软件开发深有研究,近年来致力于推广LAMP开源平台系列软件。
名家推荐
本书内容充实,是作者多年丰富PHP授课经验的总结,为初学者首选教材。           
     ------腾讯开放平台副总经理/腾讯云平台负责人 陈磊
 
敏捷高效开发是PHP的一大特性,从书中掌握设计思想,学而实习,必将获益匪浅。
     ------盛大云北京研发部经理/PHPCMS负责人 王参加
 
此书对于PHP爱好者,可谓一本好书,内容详尽实用,结构组织符合实战需求,我诚挚推荐。                          
     ------北京4399轻电商团队技术总监 张宴
 
内容详尽,由浅入深,覆盖全面,藏经之作。
     ------ ThinkPHP框架创始人 刘晨
LAMP兄弟连
无兄弟,不 编程
《细说PHP(第2版)》是在第1版热销的基础上,与兄弟连六年教学实践的完美结合。
六年时间,兄弟连由一个名不见经传的小公司,成长为国内PHP培训领域翘楚,累计培训PHP程序员四千余人、论坛会员突破十万、技术视频下载量逾百万、电子杂志《草根》日渐成熟、《细说PHP(第1版)》图书销量更是名列PHP原创图书之首。《细说PHP(第2版)》的出版也是对兄弟连多年教学积累的梳理与总结,书中穿插了更多的教学案例、课后习题,辅以原创视频,加入了兄弟连课程体系中特级课的部分知识点,逻辑性更强,知识点更加完善。
第2版历时一年多,作者高洛峰对本书倾注了大量的心血,除延续第1版深入浅出、循序渐进、剖析细致等特点外,结合自身多年的教学经验,力求做到更精炼、更实用、更全面。
写作本书的初衷不仅是开发一本培训教材,更主要的原因是希望推广PHP技术。兄弟连的学员越来越多,但更多人不一定有时间和精力参加面授学习,一本专业、全面的技术书籍无疑是他们最需要的。本书使读者对PHP技术有更深刻、更系统的了解,掌握Web系统开发的完整思路,通过本书内容的学习足以完成动态网站的建设和一些常用的Web系统软件开发工作。
兄弟连还将陆续推出PHP、Linux、Java、Android、Python等各方面的图书,期望可以对 开源技术在国内的推广做出贡献,也希望广大读者朋友继续支持我们,支持兄弟连。我们也将一直秉承兄弟连的口号“无兄弟,不编程!”,让众多的技术爱好者、从业者、创业者团结起来,拓展人脉、相互学习、相互帮助,为未来的职业发展打下良好的基础。
今天的兄弟连,不仅仅是一所培训学校,更是技术人的筑梦工场,我们秉承兄弟连的核心价值:一是优秀的教学;二是严格的 管理;三是职业素质课贯穿始终。教书育人,成就英才,一直是我们的目标,愿本书的出版,让更多朋友进入PHP的领域,成就自己的职业梦想!
关注兄弟连微博:http://weibo.com/lampbrother
 
兄弟连创始人 李超
前 言
PHP是一种开源免费的开发语言,具有程序开发速度快、运行快、技术本身学习快等快捷性的特点,无疑是当今Web开发中最佳的编程语言。与JSP和ASP相比,PHP具有简易性、高安全性和执行灵活等优点,使用PHP开发的Web项目,在软件方面的投资成本较低、运行稳定。因此现在越来越多的供应商、用户和企业投资者日益认识到,使用PHP开发的各种商业应用和协作构建各种网络应用程序,变得更加具有竞争力,更加吸引客户。无论是从性能、质量还是价格上,PHP都将成为企业和政府 信息化所必须考虑的开发语言。
本书包括六大部分+附录,作为PHP学习的七个阶段,从了解Web开发构件开始到可以完成一个标准化高质量的项目为止。所有内容皆为当今Web项目开发必用的内容,涵盖了PHP的绝大多数知识点,对于某一方面的介绍再从多角度进行延伸。全部内容围绕PHP的面向对象思想设计编写,帮助读者深刻理解PHP开发技术,一步一步引导读者从PHP面向过程的开发模式进入到面向对象的开发时代。本书全部技术点以PHP 5最流行的版本为主,详细地介绍了PHP及与其相关的Web技术,可以帮助读者在较短的时间内熟悉并掌握比较实用的PHP技术。其中包括当前比较流行的DIV+CSS标准化网页布局、PHP面向对象技术、数据库抽象层PDO和Smarty3模板引擎、学习型PHP框架BroPHP等主流技术,实用性非常强。本书所涉及的实例全部以特定的应用为基础,读者在学习和工作过程中,可以直接应用本书给出的一些独立模块和编程思想。
本书编写的宗旨是让读者能拥有一本PHP方面的学习和开发使用的最好书籍,章节虽然不是很多,但对所罗列出的每个知识点都进行了细化和延伸,并力求讲解到位,让读者可以轻松地读懂。所介绍的知识点是不需要借助其他任何书籍进行辅助和补充的。而且对于几乎每个知识点都有对应且详实的可运行的代码配套,对所有实例代码都附有详细注释、说明及运行效果图。在大部分章节的最后一节都结合一个实用的案例,把该章中涉及的零散知识点串在一起进行分析总结,步骤详细,可操作性强。另外在每个章节的最后还为读者安排了大量的和本章知识点配套的自测试题(附加在光盘中),能更好地帮助读者掌握理论知识点,提高实际编程能力,寓学于练。
本书的出版距离上一版发行整三年的时间,在第1版发行后的一年就开始筹划第2版。所有实例都经过了反复的测试,每一句话都进行了反复的推敲,在这两年时间里几乎占用了笔者的全部业余时间。为《细说PHP》(第2版)筹划的几个重要事件如下:
1.根据第1版读者的反馈,在第2版中对大部分内容进行重新整理和优化。
2.用一年时间为本书重新录制了长达150小时的视频教程,全面覆盖了书中的每个知识点。
3.专门为本书开发了一个学习型的PHP框架:BroPHP,这是目前国内唯一一个学习型的专用PHP框架。并用半年时间通过了几百个项目的测试和应用,已经非常成熟和稳定。
4.书中的每个应用实例都做到了最优,直接可以应用在实际项目开发中。
5.结合多家互联网公司的项目开发资料,总结出了一份标准的项目开发流程和几个重要的标准化项目开发文档。
超强资源配套学习,跟踪服务帮助读者提高
在本书所附的DVD光盘中,附书中所有开发实例的源代码,读者在开发中可以直接使用。本书部分章节及课后习题、附录由于书的容量限制,也附加到了光盘中。光盘中还赠送配套的教学视频,共计长达150个小时(由于光盘空间有限,部分视频需要读者到兄弟连论坛:bbs.lampbrother.net下载)。通过参考本书再结合视频教学光盘,可以加快对知识点的掌握,加快学习进度。
为了帮助读者学习到更多的PHP技术,在兄弟连论坛还可以下载常用的技术手册、安装LAMP环境所需要的开源软件和本书每章后面为读者安排的大量自测题配套答案。笔者及“LAMP兄弟连”的全体讲师和技术人员也会及时回答读者提问,与读者进行在线技术交流,并为读者提供各类技术文章,帮助读者提高开发水平,解决读者在开发中遇到的疑难问题。
本书适合读者
    接受PHP培训的学员
     Web开发爱好者
    网站维护及管理人员
    初级或专业的网站开发人员
    大中专院校的教师及培训中心的讲师
    进行毕业设计和对PHP感兴趣的学生
    从事ASP或JSP而想转向PHP开发的程序员
本书由高洛峰主笔编著,参加编写及审校工作的人员有李明、李超、李文凯、赵桐正、丛浩、闫海静、张礼军、李捷、张涛,在此一并表示感谢。
 
                                                                                                   高洛峰
2012年8月   
 
 
目 录
第1部分 Web开发入门篇
第1章 LAMP网站构建     2
1.1 介绍网站给你认识       2
1.1.1 Web应用的优势        3
1.1.2 Web 2.0时代的互联网      4
1.1.3 Web开发标准    5
1.1.4 认识脚本语言    6
1.1.5 了解HTTP协议        6
1.2 动态网站开发所需的Web构件 10
1.2.1 客户端浏览器    10
1.2.2 超文本标记语言HTML     12
1.2.3 层叠样式表CSS        13
1.2.4 客户端脚本编程语言JavaScript      13
1.2.5 Web服务器        14
1.2.6 服务器端编程语言    15
1.2.7 数据库管理系统        16
1.3 几种主流的Web应用程序平台 17
1.3.1 Web应用程序开发平台对比分析    17
1.3.2 动态网站开发平台技术比较    18
1.4 Web的工作原理    19
1.4.1 情景1: 服务器不带应用程序服务器和
数据库     19
1.4.2 情景2:带应用程序服务器的Web服务器     20
1.4.3 情景3:浏览器访问服务器端的数据库 21
1.5 LAMP网站开发组合概述    22
1.5.1 Linux操作系统 22
1.5.2 Web服务器Apache    22
1.5.3 MySQL数据库管理系统 23
1.5.4 PHP后台脚本编程语言    23
1.5.5 LAMP发展趋势        25
1.6 学PHP需要学习什么内容 26
1.6.1 学PHP之前的准备 26
1.6.2 学PHP时需要了解或掌握的内容 27
1.6.3 优秀的Web程序员是怎样练成的    28
1.7 小结       29
本章必须掌握的知识点        29
本章需要了解的内容     29
第2章 HTML的设计与应用     30
2.1 网页制作概述       30
2.1.1 HTML基础        30
2.1.2 简单HTML实例制作       31
2.2 HTML语言的语法       32
2.2.1 HTML标签和元素     32
2.2.2 HTML语法不区分字母大小写        32
2.2.3 HTML标签属性        33
2.2.4 HTML颜色值的设置        33
2.2.5 HTML文档注释        33
2.2.6 HTML代码格式        33
2.2.7 HTML字符实体        34
2.3 HTML文件的主体结构       34
2.4 HTML文档头部元素       35
2.4.1 元素 35 </div> <div> 2.4.2 <base>元素        35 </div> <div> 2.4.3 <link>元素 36 </div> <div> 2.4.4 <meta>元素        36 </div> <div> 2.5 HTML文档主体标记    37 </div> <div> 2.6 文字版面的编辑    37 </div> <div> 2.6.1 格式标签    38 </div> <div> 2.6.2 文本标签    39 </div> <div> 2.7 创建图像和链接    41 </div> <div> 2.7.1 插入图片    41 </div> <div> 2.7.2 建立锚点和超链接    42 </div> <div> 2.8 使用HTML表格 42 </div> <div> 2.9 HTML框架结构    45 </div> <div> 2.10 HTML表单设计 47 </div> <div> 2.11 小结      51 </div> <div> 本章必须掌握的知识点        51 </div> <div> 本章需要了解的内容     51 </div> <div> 本章需要拓展的内容     51 </div> <div> 本章的学习建议     52 </div> <div> 第3章 层叠样式表CSS     53 </div> <div> 3.1 CSS简介       53 </div> <div> 3.2 CSS规则的组成    54 </div> <div> 3.2.1 CSS注释    55 </div> <div> 3.2.2 长度单位    56 </div> <div> 3.2.3 颜色单位和URL值 56 </div> <div> 3.3 在HTML文档中放置CSS的几种方式      57 </div> <div> 3.3.1 内联样式表        57 </div> <div> 3.3.2 嵌入一个样式表        57 </div> <div> 3.3.3 连接到一个外部的样式表        57 </div> <div> 3.4 CSS选择器    58 </div> <div> 3.4.1 HTML选择器     58 </div> <div> 3.4.2 类选择器    58 </div> <div> 3.4.3 ID选择器 59 </div> <div> 3.4.4 关联选择器        59 </div> <div> 3.4.5 组合选择器        59 </div> <div> 3.4.6 伪元素选择器    60 </div> <div> 3.5 CSS常见的样式属性和值    60 </div> <div> 3.5.1 字体属性    60 </div> <div> 3.5.2 颜色属性    61 </div> <div> 3.5.3 背景属性    61 </div> <div> 3.5.4 文本属性    62 </div> <div> 3.5.5 边框属性    62 </div> <div> 3.5.6 鼠标光标属性    64 </div> <div> 3.5.7 列表属性    64 </div> <div> 3.5.8 综合示例    65 </div> <div> 3.6 小结       67 </div> <div> 本章必须掌握的知识点        67 </div> <div> 本章需要了解的内容     67 </div> <div> 本章需要拓展的内容     67 </div> <div> 本章的学习建议     68 </div> <div> 第4章 DIV+CSS网页标准化布局    69 </div> <div> 4.1 DIV+CSS对页面布局的优势      69 </div> <div> 4.2 “无意义”的HTML元素div和span       70 </div> <div> 4.3 W3C盒子模型      70 </div> <div> 4.4 和页面布局有关的CSS属性      72 </div> <div> 4.5 盒子区块框的定位       74 </div> <div> 4.5.1 相对定位    74 </div> <div> 4.5.2 绝对定位    74 </div> <div> 4.6 使用盒子模型的浮动布局    75 </div> <div> 4.6.1 设置浮动    75 </div> <div> 4.6.2 行框和清理        76 </div> <div> 4.7 DIV+CSS的兼容性问题      78 </div> <div> 4.7.1 不同浏览器解释盒子模型的差异    79 </div> <div> 4.7.2 设置浏览器去遵循W3C标准 80 </div> <div> 4.8 使用盒子模型设计页面布局       81 </div> <div> 4.8.1 居中设计    81 </div> <div> 4.8.2 设置两列浮动的布局        82 </div> <div> 4.8.3 设置三列浮动的布局        83 </div> <div> 4.8.4 设置多列浮动的布局        84 </div> <div> 4.9 DIV+CSS网站首页面布局实例 85 </div> <div> 4.9.1 HTML文件的设计     85 </div> <div> 4.9.2 CSS文件设计    87 </div> <div> 4.10 小结     89 </div> <div> 本章必须掌握的知识点        89 </div> <div> 本章需要了解的内容     89 </div> <div> 本章需要拓展的内容     89 </div> <div> 本章的学习建议     89 </div> <div> 第2部分 PHP基础篇 </div> <div> 第5章  从搭建你的PHP开发环境开始    92 </div> <div> 5.1 几种常见的PHP环境 <u><strong>安装</strong></u>方式 92 </div> <div> 5.1.1 Linux系统下源代码包方式安装环境      92 </div> <div> 5.1.2 在Windows系统上安装Web工作环境 93 </div> <div> 5.1.3 搭建学习型的PHP工作环境 93 </div> <div> 5.2 环境安装对操作系统的选择       93 </div> <div> 5.2.1 选择网站运营的操作系统        93 </div> <div> 5.2.2 选择网站开发的操作系统        94 </div> <div> 5.3 安装集成PHP开发环境      94 </div> <div> 5.3.1 安装前准备        94 </div> <div> 5.3.2 安装步骤    95 </div> <div> 5.3.3 环境测试    96 </div> <div> 5.4 phpMyAdmin的配置与应用        98 </div> <div> 5.4.1 HTTP身份验证模式 99 </div> <div> 5.4.2 cookie身份验证模式        99 </div> <div> 5.4.3 config身份验证模式 100 </div> <div> 5.5 小结       101 </div> <div> 本章必须掌握的知识点        101 </div> <div> 本章需要了解的内容     101 </div> <div> 本章需要拓展的内容     101 </div> <div> 第6章 PHP的基本语法     102 </div> <div> 6.1 PHP在Web开发中的应用 102 </div> <div> 6.1.1 就从认识PHP开始吧       102 </div> <div> 6.1.2 PHP都能做什么        103 </div> <div> 6.2 第一个PHP脚本程序 105 </div> <div> 6.3  PHP语言标记       108 </div> <div> 6.3.1 将PHP代码嵌入HTML中的位置 109 </div> <div> 6.3.2 解读开始和结束标记        109 </div> <div> 6.4 指令分隔符“分号”        111 </div> <div> 6.5 程序注释       111 </div> <div> 6.6 在程序中使用空白的处理    113 </div> <div> 6.7 变量       113 </div> <div> 6.7.1 变量的声明        114 </div> <div> 6.7.2 变量的命名        115 </div> <div> 6.7.3 可变变量    116 </div> <div> 6.7.4 变量的引用赋值        116 </div> <div> 6.8 变量的类型    117 </div> <div> 6.8.1 类型介绍    118 </div> <div> 6.8.2 布尔型(boolean)    118 </div> <div> 6.8.3 整型(integer) 119 </div> <div> 6.8.4 浮点型(float或double)        120 </div> <div> 6.8.5 字符串(String)      120 </div> <div> 6.8.6 数组(Array) 122 </div> <div> 6.8.7 对象(Object) 123 </div> <div> 6.8.8 资源类型(Resource)      123 </div> <div> 6.8.9 NULL类型 124 </div> <div> 6.8.10 伪类型介绍      124 </div> <div> 6.9 数据类型之间相互转换       125 </div> <div> 6.9.1 自动类型转换    125 </div> <div> 6.9.2 强制类型转换    126 </div> <div> 6.9.3 类型转换细节    126 </div> <div> 6.9.4 变量类型的测试函数        127 </div> <div> 6.10 常量     128 </div> <div> 6.10.1 常量的定义和使用 128 </div> <div> 6.10.2 常量和变量      129 </div> <div> 6.10.3 系统中的预定义常量      129 </div> <div> 6.10.4 PHP中的魔术常量 129 </div> <div> 6.11 PHP中的运算符 130 </div> <div> 6.11.1 算术运算符      131 </div> <div> 6.11.2 字符串运算符 133 </div> <div> 6.11.3 赋值运算符      133 </div> <div> 6.11.4 比较运算符      134 </div> <div> 6.11.5 逻辑运算符      135 </div> <div> 6.11.6 位运算符 136 </div> <div> 6.11.7 其他运算符      139 </div> <div> 6.11.8 运算符的优先级      140 </div> <div> 6.12 表达式 141 </div> <div> 6.13 小结     142 </div> <div> 本章必须掌握的知识点        142 </div> <div> 本章需要了解的内容     142 </div> <div> 本章需要拓展的内容     142 </div> <div> 第7章 PHP的流程控制结构     143 </div> <div> 7.1 分支结构       143 </div> <div> 7.1.1 单一条件分支结构(if) 144 </div> <div> 7.1.2 双向条件分支结构(else从句)     145 </div> <div> 7.1.3 多向条件分支结构(elseif子句) 145 </div> <div> 7.1.4 多向条件分支结构(switch语句) 147 </div> <div> 7.1.5 巢状条件分支结构    148 </div> <div> 7.1.6 条件分支结构实例应用(简单计算器)        149 </div> <div> 7.2 循环结构       151 </div> <div> 7.2.1 while语句 152 </div> <div> 7.2.2 do…while循环 154 </div> <div> 7.2.3 for语句      155 </div> <div> 7.3 特殊的流程控制语句    157 </div> <div> 7.3.1 break语句 157 </div> <div> 7.3.2 continue语句      158 </div> <div> 7.3.3 exit语句     159 </div> <div> 7.4 小结       160 </div> <div> 本章必须掌握的知识点        160 </div> <div> 本章需要了解的内容     160 </div> <div> 第8章 PHP的函数应用     161 </div> <div> 8.1 函数的定义    161 </div> <div> 8.2 自定义函数    162 </div> <div> 8.2.1 函数的声明        162 </div> <div> 8.2.2 函数的调用        164 </div> <div> 8.2.3 函数的参数        165 </div> <div> 8.2.4 函数的返回值    166 </div> <div> 8.3 函数的工作原理和结构化编程    168 </div> <div> 8.4 PHP变量的范围 168 </div> <div> 8.4.1 局部变量    169 </div> <div> 8.4.2 全局变量    170 </div> <div> 8.4.3 静态变量    171 </div> <div> 8.5 声明及应用各种形式的PHP函数      171 </div> <div> 8.5.1 常规参数的函数        173 </div> <div> 8.5.2 伪类型参数的函数    173 </div> <div> 8.5.3 引用参数的函数        173 </div> <div> 8.5.4 默认参数的函数        175 </div> <div> 8.5.5 可变个数参数的函数        176 </div> <div> 8.5.6 回调函数    177 </div> <div> 8.6 递归函数       181 </div> <div> 8.7 使用自定义函数库       182 </div> <div> 8.8 小结       183 </div> <div> 本章必须掌握的知识点        183 </div> <div> 本章需要了解的内容     183 </div> <div> 本章需要拓展的内容     183 </div> <div> 第9章 PHP中的数组与数据结构     184 </div> <div> 9.1 数组的分类    184 </div> <div> 9.2 数组的定义    186 </div> <div> 9.2.1 直接赋值的方式声明数组        186 </div> <div> 9.2.2 使用array()语言结构新建数组        188 </div> <div> 9.2.3 多维数组的声明        188 </div> <div> 9.3 数组的遍历    190 </div> <div> 9.3.1 使用for语句循环遍历数组      191 </div> <div> 9.3.2 使用foreach语句遍历数组      193 </div> <div> 9.3.3 联合使用list( )、each( )和while循环 </div> <div> 遍历数组        195 </div> <div> 9.3.4 使用数组的内部指针控制函数遍历数组        198 </div> <div> 9.4 预定义数组    199 </div> <div> 9.4.1 服务器变量:$_SERVER 200 </div> <div> 9.4.2 环境变量:$_ENV    200 </div> <div> 9.4.3 URL GET变量:$_GET    200 </div> <div> 9.4.4 HTTP POST变量:$_POST     201 </div> <div> 9.4.5 request变量:$_REQUEST      202 </div> <div> 9.4.6 HTTP文件上传变量:$_FILES       202 </div> <div> 9.4.7 HTTP Cookies:$_COOKIE      202 </div> <div> 9.4.8 Session变量:$_SESSION       203 </div> <div> 9.4.9 Global变量:$GLOBALS        203 </div> <div> 9.5 数组的相关处理函数    203 </div> <div> 9.5.1 数组的键/值操作函数       203 </div> <div> 9.5.2 统计数组元素的个数和唯一性        206 </div> <div> 9.5.3  使用回调函数处理数组的函数        208 </div> <div> 9.5.4 数组的排序函数        211 </div> <div> 9.5.5 拆分、合并、分解和接合数组        215 </div> <div> 9.5.6 数组与数据结构        218 </div> <div> 9.5.7 其他有用的数组处理函数        220 </div> <div> 9.6 操作PHP数组需要注意的一些细节 221 </div> <div> 9.6.1 数组运算符号    221 </div> <div> 9.6.2 删除数组中的元素操作    222 </div> <div> 9.6.3 关于数组下标的注意事项        222 </div> <div> 9.7 小结       223 </div> <div> 本章必须掌握的知识点        223 </div> <div> 本章需要了解的内容     223 </div> <div> 本章需要拓展的内容     223 </div> <div> 第10章 PHP面向对象的程序设计 224 </div> <div> 10.1 面向对象的介绍 224 </div> <div> 10.1.1 类和对象之间的关系      225 </div> <div> 10.1.2 面向对象的程序设计      225 </div> <div> 10.2 如何抽象一个类 226 </div> <div> 10.2.1 类的声明 226 </div> <div> 10.2.2 成员属性 227 </div> <div> 10.2.3 成员方法 228 </div> <div> 10.3 通过类实例化对象     229 </div> <div> 10.3.1 实例化对象      229 </div> <div> 10.3.2 对象类型在内存中的分配      230 </div> <div> 10.3.3 对象中成员的访问 232 </div> <div> 10.3.4 特殊的对象引用“$this” 234 </div> <div> 10.3.5 构造方法与析构方法      235 </div> <div> 10.4 封装性 238 </div> <div> 10.4.1 设置私有成员 239 </div> <div> 10.4.2 私有成员的访问      240 </div> <div> 10.4.3 __set()、__get()、__isset()和__unset() </div> <div> 四个方法        242 </div> <div> 10.5 继承性 247 </div> <div> 10.5.1 类继承的应用 247 </div> <div> 10.5.2 访问类型控制 249 </div> <div> 10.5.3 子类中重载父类的方法 251 </div> <div> 10.6 常见的关键字和魔术方法 253 </div> <div> 10.6.1 final关键字的应用 253 </div> <div> 10.6.2 static关键字的使用 254 </div> <div> 10.6.3 单态设计模式 255 </div> <div> 10.6.4 const关键字     257 </div> <div> 10.6.5 instanceof关键字     257 </div> <div> 10.6.6 克隆对象 257 </div> <div> 10.6.7 类中通用的方法__toString() 259 </div> <div> 10.6.8 __call()方法的应用 259 </div> <div> 10.6.9 自动加载类      261 </div> <div> 10.6.10 对象串行化    262 </div> <div> 10.7 抽象类与接口     265 </div> <div> 10.7.1 抽象类      265 </div> <div> 10.7.2 接口技术 266 </div> <div> 10.8 多态性的应用     268 </div> <div> 10.9 面向对象版图形计算器     270 </div> <div> 10.9.1 需求分析 270 </div> <div> 10.9.2 功能设计及实现      271 </div> <div> 10.9.3 类的组织架构 276 </div> <div> 10.10 小结    277 </div> <div> 本章必须掌握的知识点        277 </div> <div> 本章需要了解的内容     278 </div> <div> 本章需要拓展的内容     278 </div> <div> 第11章 字符串处理 279 </div> <div> 11.1 字符串的处理介绍      279 </div> <div> 11.1.1 字符串的处理方式 279 </div> <div> 11.1.2 字符串类型的特点 280 </div> <div> 11.1.3 双引号中变量解析总结 280 </div> <div> 11.2 常用的字符串输出函数      281 </div> <div> 11.3 常用的字符串格式化函数 284 </div> <div> 11.3.1 去除空格和字符串填补函数 284 </div> <div> 11.3.2 字符串大小写的转换      285 </div> <div> 11.3.3 和HTML标签相关的字符串格式化      286 </div> <div> 11.3.4 其他字符串格式化函数 290 </div> <div> 11.4 字符串比较函数 291 </div> <div> 11.4.1 按字节顺序进行字符串比较 291 </div> <div> 11.4.2 按自然排序进行字符串比较 292 </div> <div> 11.5 小结      293 </div> <div> 本章必须掌握的知识点        293 </div> <div> 本章需要拓展的内容     293 </div> <div> 第12章 正则表达式 294 </div> <div> 12.1 正则表达式简介 294 </div> <div> 12.1.1 选择PHP正则表达式的处理函数库     294 </div> <div> 12.2 正则表达式的语法规则     295 </div> <div> 12.2.1 定界符      296 </div> <div> 12.2.2 原子 296 </div> <div> 12.2.3 元字符      298 </div> <div> 12.2.4 模式修正符      301 </div> <div> 12.3 与Perl兼容的正则表达式函数 302 </div> <div> 12.3.1 字符串的匹配与查找      302 </div> <div> 12.3.2 字符串的替换 305 </div> <div> 12.3.3 字符串的分割和连接      310 </div> <div> 12.4 文章发布操作示例     312 </div> <div> 12.5 小结     317 </div> <div> 本章必须掌握的知识点        317 </div> <div> 本章需要了解的内容     317 </div> <div> 本章需要扩展的内容     317 </div> <div> 第3部分 PHP常用功能模块篇 </div> <div> 第13章 PHP的错误和异常处理      320 </div> <div> 13.1 错误处理     320 </div> <div> 13.1.1 错误报告级别 321 </div> <div> 13.1.2 调整错误报告级别 321 </div> <div> 13.1.3 使用trigger_error()函数来替代die()     323 </div> <div> 13.1.4 自定义错误处理      323 </div> <div> 13.1.5 写错误日志      325 </div> <div> 13.2 异常处理     327 </div> <div> 13.2.1 异常处理实现 328 </div> <div> 13.2.2 扩展PHP内置的异常处理类 328 </div> <div> 13.2.3 捕获多个异常 330 </div> <div> 13.3 小结     332 </div> <div> 本章必须掌握的知识点        332 </div> <div> 本章需要了解的内容     332 </div> <div> 第14章 PHP的日期和时间      333 </div> <div> 14.1 UNIX时间戳      333 </div> <div> 14.1.1 将日期和时间转变成UNIX时间戳      333 </div> <div> 14.1.2 日期的计算      335 </div> <div> 14.2 在PHP中获取日期和时间        335 </div> <div> 14.2.1 调用getdate()函数取得日期/时间信息 335 </div> <div> 14.2.2 日期和时间格式化输出 336 </div> <div> 14.3 修改PHP的默认时区        337 </div> <div> 14.4 使用微秒计算PHP脚本执行时间    338 </div> <div> 14.5 日历类 339 </div> <div> 14.6 小结     343 </div> <div> 本章必须掌握的知识点        343 </div> <div> 本章需要了解的内容     343 </div> <div> 本章需要拓展的内容     343 </div> <div> 本章的学习建议     343 </div> <div> 第15章 文件系统处理       344 </div> <div> 15.1 文件系统概述     344 </div> <div> 15.1.1 文件类型 344 </div> <div> 15.1.2 文件的属性      345 </div> <div> 15.2 目录的基本操作 348 </div> <div> 15.2.1 解析目录路径 348 </div> <div> 15.2.2 遍历目录 349 </div> <div> 15.2.3 统计目录大小 351 </div> <div> 15.2.4 建立和删除目录      352 </div> <div> 15.2.5 复制目录 352 </div> <div> 15.3 文件的基本操作 353 </div> <div> 15.3.1 文件的打开与关闭 353 </div> <div> 15.3.2 写入文件 355 </div> <div> 15.3.3 读取文件内容 356 </div> <div> 15.3.4 访问远程文件 358 </div> <div> 15.3.5 移动文件指针 359 </div> <div> 15.3.6 文件的锁定机制      360 </div> <div> 15.3.7 文件的一些基本操作函数      363 </div> <div> 15.4 文件的上传与下载     364 </div> <div> 15.4.1 文件上传 364 </div> <div> 15.4.2  处理多个文件上传 367 </div> <div> 15.4.3 文件下载 368 </div> <div> 15.5 设计经典的文件上传类     369 </div> <div> 15.5.1 需求分析 369 </div> <div> 15.5.2 程序设计 370 </div> <div> 15.5.3 文件上传类代码实现      370 </div> <div> 15.5.4 文件上传类的应用过程 375 </div> <div> 15.6 小结     376 </div> <div> 本章必须掌握的知识点        376 </div> <div> 本章需要了解的内容     377 </div> <div> 本章需要拓展的内容     377 </div> <div> 本章的学习建议     377 </div> <div> 第16章 PHP动态图像处理      378 </div> <div> 16.1 PHP中GD库的使用 378 </div> <div> 16.1.1 画布管理 380 </div> <div> 16.1.2 设置颜色 380 </div> <div> 16.1.3 生成图像 381 </div> <div> 16.1.4 绘制图像 381 </div> <div> 16.1.5 在图像中绘制文字 383 </div> <div> 16.2 设计经典验证码类     386 </div> <div> 16.2.1 设计验证码类 386 </div> <div> 16.2.2 应用验证码类的实例对象      389 </div> <div> 16.2.3 表单中应用验证码 389 </div> <div> 16.2.4 实例演示 390 </div> <div> 16.3 PHP图片处理     390 </div> <div> 16.3.1 图片背景管理 390 </div> <div> 16.3.2 图片缩放 392 </div> <div> 16.3.3 图片裁剪 393 </div> <div> 16.3.4 添加图片水印 395 </div> <div> 16.3.5 图片旋转和翻转      396 </div> <div> 16.4 设计经典的图像处理类     398 </div> <div> 16.4.1 需求分析 398 </div> <div> 16.4.2 程序设计 399 </div> <div> 16.4.3 图像处理类代码实现      399 </div> <div> 16.4.4 图像处理类的应用过程 404 </div> <div> 16.5 小结     406 </div> <div> 本章必须掌握的知识点        406 </div> <div> 本章需要了解的内容     406 </div> <div> 本章需要拓展的内容     406 </div> <div> 第4部分 数据库开发篇 </div> <div> 第17章 MySQL数据库概述     408 </div> <div> 17.1 数据库的应用     408 </div> <div> 17.1.1 数据库在Web开发中的重要地位 409 </div> <div> 17.1.2 为什么PHP会选择MySQL作为自己 </div> <div> 的黄金搭档     409 </div> <div> 17.1.3 PHP和MySQL的合作方式    409 </div> <div> 17.1.4 结构化查询语言 <u><strong>SQL</strong></u>      410 </div> <div> 17.2 MySQL数据库的常见操作       411 </div> <div> 17.2.1 MySQL数据库的连接与关闭        411 </div> <div> 17.2.2 创建新用户并授权 412 </div> <div> 17.2.3 创建数据库      412 </div> <div> 17.2.4 创建数据表      413 </div> <div> 17.2.5 数据表内容的简单管理 414 </div> <div> 17.3 小结     416 </div> <div> 本章必须掌握的知识点        416 </div> <div> 第18章 MySQL数据表的设计 417 </div> <div> 18.1 数据表(Table)        417 </div> <div> 18.2 数据值和列类型 418 </div> <div> 18.2.1 数值类的数据列类型      418 </div> <div> 18.2.2 字符串类数据列类型      419 </div> <div> 18.2.3 日期和时间型数据列类型      420 </div> <div> 18.2.4 NULL值 421 </div> <div> 18.2.5 类型转换 421 </div> <div> 18.3 数据字段属性     421 </div> <div> 18.4 数据表对象管理 422 </div> <div> 18.4.1 创建表(CREATE TABLE) 422 </div> <div> 18.4.2 修改表(ALTER TABLE)     423 </div> <div> 18.4.3 删除表(DROP TABLE)      424 </div> <div> 18.5 数据表的类型及存储位置 425 </div> <div> 18.5.1 MyISAM数据表      425 </div> <div> 18.5.2 InnoDB数据表        425 </div> <div> 18.5.3 如何选择InnoDB还是MyISAM表 </div> <div> 类型        425 </div> <div> 18.5.4 数据表的储存位置 426 </div> <div> 18.6 数据表的默认字符集 426 </div> <div> 18.6.1 字符集      427 </div> <div> 18.6.2 字符集支持原理      427 </div> <div> 18.6.3 创建数据对象时修改字符集 428 </div> <div> 18.7 创建索引     428 </div> <div> 18.7.1 主键索引(PRIMARY KEY)       428 </div> <div> 18.7.2 唯一索引(UNIQUE) 429 </div> <div> 18.7.3 常规索引( <u><strong>INDEX</strong></u>)      430 </div> <div> 18.7.4 全文索引(FULLTEXT)       430 </div> <div> 18.8 规范化 431 </div> <div> 18.8.1 起点 431 </div> <div> 18.8.2 第一范式 432 </div> <div> 18.8.3 第二范式 432 </div> <div> 18.8.4 第三范式 434 </div> <div> 18.8.5 规范化理论      435 </div> <div> 18.9 数据库的设计技巧     436 </div> <div> 18.9.1 数据库设计要求      436 </div> <div> 18.9.2 起名字的技巧 436 </div> <div> 18.9.3 数据库具体设计工作中的技巧      436 </div> <div> 18.10 小结    437 </div> <div> 本章必须掌握的知识点        437 </div> <div> 本章需要了解的内容     437 </div> <div> 本章需要拓展的内容     437 </div> <div> 第19章 SQL语句设计      438 </div> <div> 19.1 操作数据表中的数据记录(DML)        438 </div> <div> 19.1.1 使用INSERT语句向数据表中添加 </div> <div> 数据        438 </div> <div> 19.1.2 使用UPDATE语句更新数据表中已 </div> <div> 存在的数据     439 </div> <div> 19.1.3 使用DELETE语句删除数据表中不 </div> <div> 需要的数据记录     440 </div> <div> 19.2 通过DQL命令查询数据表中的数据       441 </div> <div> 19.2.1 选择特定的字段      441 </div> <div> 19.2.2 使用AS子句为字段取别名    442 </div> <div> 19.2.3 DISTINCT关键字的使用       442 </div> <div> 19.2.4 在SELECT语句中使用表达式的列      443 </div> <div> 19.2.5 使用WHERE子句按条件检索      444 </div> <div> 19.2.6 根据空值(NULL)确定检索条件        445 </div> <div> 19.2.7 使用BETWEEN AND进行范围比较 </div> <div> 查询        445 </div> <div> 19.2.8 使用IN进行范围比对查询    445 </div> <div> 19.2.9 使用LIKE进行模糊查询       446 </div> <div> 19.2.10 多表查询(连接查询)        446 </div> <div> 19.2.11 嵌套查询(子查询)     449 </div> <div> 19.2.12 使用ORDER BY对查询结果排序      449 </div> <div> 19.2.13 使用LIMIT限定结果行数    450 </div> <div> 19.2.14 使用统计函数        450 </div> <div> 19.2.15 使用GROUP BY对查询结果分组       451 </div> <div> 19.3 查询优化     452 </div> <div> 19.4 小结     454 </div> <div> 本章必须掌握的知识点        454 </div> <div> 本章需要拓展的内容     454 </div> <div> 本章的学习建议     454 </div> <div>   </div> <div> 第20章 PHP访问MySQL的扩展函数    455 </div> <div> 20.1 PHP访问MySQL数据库服务器的 </div> <div> 流程        455 </div> <div> 20.2 在PHP脚本中连接MySQL服务器 457 </div> <div> 20.2.1 在PHP程序中选择已创建的数据库     458 </div> <div> 20.2.2 执行SQL命令 458 </div> <div> 20.2.3 在PHP脚本中处理SELECT查询 </div> <div> 结果集     460 </div> <div> 20.3 设计完美分页类 462 </div> <div> 20.3.1 需求分析 462 </div> <div> 20.3.2 程序设计 462 </div> <div> 20.3.3 完美分页类的代码实现 463 </div> <div> 20.3.4 分页类的应用过程 468 </div> <div> 20.4 管理books表实例      470 </div> <div> 20.4.1 需求分析 470 </div> <div> 20.4.2 程序设计 471 </div> <div> 20.5 PHP的mysqli扩展介绍     477 </div> <div> 20.5.1 启用mysqli扩展模块      478 </div> <div> 20.5.2 mysqli扩展接口的应用概述 479 </div> <div> 20.6 小结     480 </div> <div> 本章必须掌握的知识点        480 </div> <div> 本章需要了解的内容     480 </div> <div> 本章需要拓展的内容     480 </div> <div> 本章的学习建议     480 </div> <div> 第21章 数据库抽象层PDO      481 </div> <div> 21.1 PDO所支持的数据库        481 </div> <div> 21.2 PDO的安装        482 </div> <div> 21.3 创建PDO对象    483 </div> <div> 21.3.1 以多种方式调用构造方法      484 </div> <div> 21.3.2 PDO对象中的成员方法 486 </div> <div> 21.4 使用PDO对象    487 </div> <div> 21.4.1 调整PDO的行为属性     487 </div> <div> 21.4.2 PDO处理PHP程序和数据库之间的 </div> <div> 数据类型转换        487 </div> <div> 21.4.3 PDO的错误处理模式     488 </div> <div> 21.4.4 使用PDO执行SQL语句       489 </div> <div> 21.5 PDO对预处理语句的支持        491 </div> <div>   </div> <div>   </div> <div> 21.5.1 了解PDOStatement对象        491 </div> <div> 21.5.2 准备语句 492 </div> <div> 21.5.3  绑定参数 493 </div> <div> 21.5.4 执行准备好的查询 494 </div> <div> 21.5.5 获取数据 495 </div> <div> 21.5.6 大数据对象的存取 499 </div> <div> 21.6 PDO的事务处理        499 </div> <div> 21.6.1 MySQL的事务处理        500 </div> <div> 21.6.2 构建事务处理的应用程序      500 </div> <div> 21.7 小结     502 </div> <div> 本章必须掌握的知识点        502 </div> <div> 本章需要了解的内容     502 </div> <div> 本章需要拓展的内容     502 </div> <div> 第5部分 PHP开发高级篇 </div> <div> 第22章 MemCache管理与应用        504 </div> <div> 22.1 MemCache概述 504 </div> <div> 22.1.1 初识MemCache       504 </div> <div> 22.1.2 MemCache在Web中的应用 505 </div> <div> 22.2 memcached的安装及管理 507 </div> <div> 22.2.1 Linux下安装MemCache软件        507 </div> <div> 22.2.2 Windows下安装memcached软件 507 </div> <div> 22.2.3 memcached服务器的管理      508 </div> <div> 22.3 使用Telnet作为memcached的客户端 </div> <div> 管理        509 </div> <div> 22.3.1 连接memcached服务器 509 </div> <div> 22.3.2 基本的memcached客户端命令      509 </div> <div> 22.3.3 查看当前memcached服务器的运行 </div> <div> 状态信息        510 </div> <div> 22.3.4 数据管理指令 510 </div> <div> 22.4 PHP的memcached管理接口     511 </div> <div> 22.4.1 安装PHP中的MemCache应用程序 </div> <div> 扩展接口        512 </div> <div> 22.4.2 MemCache应用程序扩展接口       513 </div> <div> 22.4.3 MemCache的实例应用    518 </div> <div> 22.5 memcached服务器的安全防护 519 </div> <div> 22.6 小结     519 </div> <div> 本章必须掌握的知识点        519 </div> <div> 本章需要了解的内容     520 </div> <div> 本章需要拓展的内容     520 </div> <div> 第23章 会话控制       521 </div> <div> 23.1 为什么要使用会话控制     521 </div> <div> 23.2 会话跟踪的方式 522 </div> <div> 23.3 Cookie的应用     523 </div> <div> 23.3.1 Cookie概述      523 </div> <div> 23.3.2 向客户端计算机中设置Cookie      524 </div> <div> 23.3.3 在PHP脚本中读取Cookie的资料 </div> <div> 内容        525 </div> <div> 23.3.4 数组形态的Cookie应用 525 </div> <div> 23.3.5 删除Cookie      526 </div> <div> 23.3.6 基于Cookie的用户登录模块 526 </div> <div> 23.4 Session的应用     528 </div> <div> 23.4.1 Session概述     528 </div> <div> 23.4.2 配置Session     529 </div> <div> 23.4.3 Session的声明与使用     530 </div> <div> 23.4.4 注册一个会话变量和读取Session 531 </div> <div> 23.4.5 注销变量与销毁Session 531 </div> <div> 23.4.6 Session的自动回收机制 533 </div> <div> 23.4.7 传递Session ID        533 </div> <div> 23.5 一个简单的邮件系统实例 536 </div> <div> 23.5.1 为邮件系统准备数据      536 </div> <div> 23.5.2 编码实现邮件系统 537 </div> <div> 23.5.3 邮件系统执行说明 539 </div> <div> 23.6 自定义Session处理方式    540 </div> <div> 23.6.1 自定义Session的存储机制     540 </div> <div> 23.6.2 使用数据库处理Session信息        543 </div> <div> 23.6.3 使用memcached处理Session信息        546 </div> <div> 23.7 小结     549 </div> <div> 本章必须掌握的知识点        549 </div> <div> 本章需要了解的内容     549 </div> <div> 本章需要拓展的内容     549 </div> <div> 第24章 PHP的模板引擎Smarty      550 </div> <div> 24.1 什么是模板引擎 550 </div> <div> 24.2 自定义模板引擎 552 </div> <div> 24.2.1 自定义模板引擎类 552 </div> <div> 24.2.2 使用自己的模板引擎      554 </div> <div> 24.2.3 应用自定义模板引擎的示例分析 556 </div> <div> 24.3 选择Smarty模板引擎        559 </div> <div> 24.4 安装Smarty及初始化配置        560 </div> <div> 24.4.1 安装Smarty      561 </div> <div> 24.4.2 初始化Smarty类库的默认设置     561 </div> <div> 24.4.3 第一个Smarty的简单示例     564 </div> <div> 24.5 Smarty的基本应用     566 </div> <div> 24.5.1 PHP程序员常用和Smarty相关的 </div> <div> 操作        567 </div> <div> 24.5.2 模板设计时美工的常用操作 568 </div> <div> 24.6 Smarty模板设计的基本语法     569 </div> <div> 24.6.1 模板中的注释 569 </div> <div> 24.6.2 模板中的变量应用 569 </div> <div> 24.6.3 模板中的函数应用 572 </div> <div> 24.6.4 忽略Smarty解析     574 </div> <div> 24.7 在Smarty模板中的变量应用    574 </div> <div> 24.7.1 从配置文件中读取变量 575 </div> <div> 24.7.2 在模板中使用保留变量 578 </div> <div> 24.8 在Smarty模板中的变量调解器        580 </div> <div> 24.8.1 变量调解器函数的使用方式 580 </div> <div> 24.8.2 Smarty默认提供的变量调解器      581 </div> <div> 24.8.3 自定义变量调解器插件 582 </div> <div> 24.9 Smarty模板中自定义函数        585 </div> <div> 24.9.1 为Smarty模板扩充函数插件        585 </div> <div> 24.9.2 为Smarty模板扩充块函数插件     586 </div> <div> 24.10 Smarty模板中的内置函数       587 </div> <div> 24.10.1 变量声明        588 </div> <div> 24.10.2 流程控制        589 </div> <div> 24.10.3 声明和调用模板函数    592 </div> <div> 24.10.4 数组遍历        593 </div> <div> 24.10.5 Smarty提供的其他内置函数       598 </div> <div> 24.11 Smarty的模板继承特性 599 </div> <div> 24.11.1 使用{extends}函数实现模板继承        599 </div> <div> 24.11.2 在子模板中覆盖父模板中的部分 </div> <div> 内容区域        600 </div> <div> 24.11.3 合并子模板和父模板的{block}标签 </div> <div> 内容        601 </div> <div> 24.12 Smarty的缓存控制 602 </div> <div> 24.12.1 在Smarty中控制缓存 603 </div> <div> 24.12.2 每个模板多个缓存        604 </div> <div> 24.12.3 为缓存实例消除处理开销    605 </div> <div> 24.12.4 清除缓存        605 </div> <div> 24.12.5 关闭局部缓存        606 </div> <div> 24.13 小结    606 </div> <div> 本章必须掌握的知识点        606 </div> <div> 本章需要了解的内容     606 </div> <div> 本章需要拓展的内容     607 </div> <div> 第25章 MVC模式与PHP框架        608 </div> <div> 25.1 MVC模式在Web中的应用       608 </div> <div> 25.1.1 MVC模式的工作原理     608 </div> <div> 25.1.2 MVC模式的优缺点        609 </div> <div> 25.2 PHP开发框架     610 </div> <div> 25.2.1 什么是框架      611 </div> <div> 25.2.2 为什么要用框架      611 </div> <div> 25.2.3 框架和MVC设计模式的关系       612 </div> <div> 25.2.4 比较流行的PHP框架     612 </div> <div> 25.3 划分模块和操作 614 </div> <div> 25.3.1 为项目划分模块      614 </div> <div> 25.3.2 为模块设置操作      615 </div> <div> 第26章 超轻量级PHP框架BroPHP       616 </div> <div> 26.1 BroPHP框架概述       616 </div> <div> 26.1.1 系统特点 616 </div> <div> 26.1.2 环境要求 617 </div> <div> 26.1.3 BroPHP框架源码的目录结构        617 </div> <div> 26.2 单一入口     618 </div> <div> 26.2.1 基于BroPHP框架的单一入口编写 </div> <div> 规则        618 </div> <div> 26.3 部署项目应用目录     619 </div> <div> 26.3.1 项目部署方式 620 </div> <div> 26.3.2 URL访问 622 </div> <div> 26.4 BroPHP框架的基本设置 623 </div> <div> 26.4.1 默认开启 623 </div> <div> 26.4.2 配置文件 623 </div> <div> 26.4.3 内置函数 624 </div> <div> 26.5 声明控制器(Control)     625 </div> <div> 26.5.1 控制器的声明(模块) 625 </div> <div> 26.5.2 操作的声明      626 </div> <div> 26.5.3 页面跳转 627 </div> <div> 26.5.4 重定向      628 </div> <div> 26.6 设计视图(View)     629 </div> <div> 26.6.1 视图与控制器之间的交互      629 </div> <div> 26.6.2 切换模板风格 630 </div> <div> 26.6.3 模板文件的声明规则      630 </div> <div> 26.6.4 display()用新用法    631 </div> <div> 26.6.5 在模板中的几个常用变量应用      631 </div> <div> 26.6.6 在PHP程序中定义资源位置 632 </div> <div> 26.7 应用模型(Model) 632 </div> <div> 26.7.1 BroPHP数据库操作接口的特性    632 </div> <div> 26.7.2 切换数据库驱动      633 </div> <div> 26.7.3 声明和实例化Model       634 </div> <div> 26.7.4 数据库的统一操作接口 637 </div> <div> 26.8 自动验证     654 </div> <div> 26.9 缓存设置     656 </div> <div> 26.9.1 基于memcached缓存设置      656 </div> <div> 26.9.2 基于Smarty的缓存机制        657 </div> <div> 26.10 调试模式    658 </div> <div> 26.11 内置扩展类库    659 </div> <div> 26.11.1 分页类Page    659 </div> <div> 26.11.2 验证码类Vcode     660 </div> <div> 26.11.3 图像处理类Image 661 </div> <div> 26.11.4 文件上传类FileUpload 662 </div> <div> 26.12 自定义功能扩展       664 </div> <div> 26.12.1 自定义扩展类库    664 </div> <div> 26.12.2 自定义扩展函数库        664 </div> <div> 26.13 小结    664 </div> <div> 本章必须掌握的知识点        664 </div> <div> 本章需要了解的内容     665 </div> <div> 第6部分 项目开发篇 </div> <div> 第27章 B/S结构软件开发流程        668 </div> <div> 27.1 软件开发过程的划分 668 </div> <div> 27.2 需求开发     669 </div> <div> 27.2.1 需求分析流程 670 </div> <div> 27.2.2 需求分析说明 670 </div> <div> 27.2.3 输出 671 </div> <div> 27.3 系统设计     671 </div> <div> 27.3.1 系统设计流程 672 </div> <div> 27.3.2 系统设计说明 672 </div> <div> 27.4 编码测试     674 </div> <div> 27.4.1 编码与测试流程      675 </div> <div> 27.4.2 编码说明 675 </div> <div> 27.4.3 结果测试说明 676 </div> <div> 27.5 试运行 678 </div> <div> 27.5.1 软件试运行流程      678 </div> <div> 27.5.2 软件试运行说明      679 </div> <div> 27.6 实施     679 </div> <div> 27.6.1 软件实施流程 680 </div> <div> 27.6.2 软件实施说明 680 </div> <div> 27.7 验收     681 </div> <div> 27.7.1 软件验收流程 681 </div> <div> 27.7.2 软件验收说明 682 </div> <div> 27.7.3 验收标准 683 </div> <div> 27.8 服务与维护 683 </div> <div> 27.8.1 责任人      683 </div> <div> 27.8.2 收集信息 683 </div> <div> 27.8.3 维护分析 684 </div> <div> 27.8.4 软件维护 684 </div> <div> 27.8.5 改进 684 </div> <div> 27.8.6 输出 684 </div> <div> 27.9 项目管理     684 </div> <div> 27.9.1 软件项目的计划      685 </div> <div> 27.9.2 软件项目的组织      687 </div> <div> 27.9.3 项目小组组织形式 687 </div> <div> 27.10 项目参考    688 </div> <div> 第28章 需求分析说明书 689 </div> <div> 28.1 文档介绍     689 </div> <div> 28.1.1 编写说明 690 </div> <div> 28.1.2 项目背景 690 </div> <div> 28.1.3 读者对象 690 </div> <div> 28.1.4 参考资料 690 </div> <div> 28.1.5 术语与缩写解释      691 </div> <div> 28.2 任务概述     691 </div> <div> 28.2.1 产品的描述      691 </div> <div> 28.2.2 系统目标 692 </div> <div> 28.2.3 系统功能结构 692 </div> <div> 28.2.4 系统流程图      692 </div> <div> 28.3 业务描述     694 </div> <div> 28.3.1 后台登录管理 694 </div> <div> 28.3.2 后台操作界面管理 695 </div> <div> 28.3.3 常规管理 698 </div> <div> 28.3.4 公告管理 700 </div> <div> 28.3.5 友情链接管理 702 </div> <div> 28.3.6 相册管理 705 </div> <div> 28.3.7 图片管理 708 </div> <div> 28.3.8 栏目管理 710 </div> <div> 28.3.9 文章管理 713 </div> <div> 28.3.10 幻灯片管理    716 </div> <div> 28.3.11 用户组管理     719 </div> <div> 28.3.12 用户管理        721 </div> <div> 28.3.13 前台首页管理        724 </div> <div> 28.3.14 栏目列表管理        725 </div> <div> 28.3.15 文章内容管理        727 </div> <div> 28.3.16 文章搜索管理        728 </div> <div> 28.3.17 登录注册管理        730 </div> <div> 28.3.18 个人空间管理        731 </div> <div> 28.3.19 消息管理        736 </div> <div> 28.3.20 动态管理        739 </div> <div> 28.4 系统运行环境     743 </div> <div> 28.4.1 硬件环境 743 </div> <div> 28.4.2 软件环境 743 </div> <div> 28.5 需求设计评审     744 </div> <div> 第29章 数据库设计说明书       745 </div> <div> 29.1 引言     745 </div> <div> 29.1.1 编写目的 746 </div> <div> 29.1.2 背景 746 </div> <div> 29.1.3 定义 746 </div> <div> 29.1.4 参考资料 746 </div> <div> 29.2 外部设计     746 </div> <div> 29.2.1 标识符和状态 747 </div> <div> 29.2.2 使用它的程序 747 </div> <div> 29.2.3 约定 747 </div> <div> 29.2.4 支持软件 747 </div> <div> 29.3 结构设计     748 </div> <div> 29.4 逻辑结构设计     754 </div> <div> 29.4.1 ER图向关系模型的转化        754 </div> <div> 29.4.2 确定关系模式 754 </div> <div> 29.4.3 消除冗余 755 </div> <div> 29.5 物理结构设计     755 </div> <div> 29.5.1 设计数据表结构      755 </div> <div> 29.5.2 创建数据表      760 </div> <div> 29.5.3 数据表记录的输入 764 </div> <div> 29.6 安全保密设计     764 </div> <div> 29.6.1 完整性      764 </div> <div> 29.6.2 数据库设计的其他问题 765 </div> <div> 第30章 程序设计说明书 766 </div> <div> 30.1 引言     766 </div> <div> 30.1.1 编写目的 766 </div> <div> 30.1.2 背景 767 </div> <div> 30.1.3 定义 767 </div> <div> 30.1.4 使用技术 767 </div> <div> 30.1.5 参考资料 767 </div> <div> 30.2 系统的结构 767 </div> <div> 30.2.1 项目的目录结构      768 </div> <div> 30.2.2 模块结构 768 </div> <div> 30.2.3 程序结构 769 </div> <div> 30.3 用户管理模块设计说明     774 </div> <div> 30.3.1 功能 774 </div> <div> 30.3.2 流程逻辑 774 </div> <div> 30.3.3 接口 775 </div> <div> 30.3.4 存储分配 775 </div> <div> 30.3.5 注释设计 775 </div> <div> 30.3.6 限制条件 775 </div> <div> 30.3.7 测试计划 776 </div> <div> 30.3.8 尚未解决的问题      776 </div> <div> 30.3.9 获取添加用户的界面操作add()     776 </div> <div> 30.3.10 用户数据入库的操作insert()       777 </div> <div> 30.3.11 查询用户列表操作index()    778 </div> <div> 30.3.12 获取修改用户的界面操作mod() 779 </div> <div> 30.3.13 用户数据修改的操作update()      780 </div> <div> 30.3.14 删除用户操作del()       781 </div> <div> 附 录 </div> <div> 附录A 编码规范 784 </div> <div> A.1 绪论      784 </div> <div> A.1.1 适用范围    784 </div> <div> A.1.2 目标    784 </div> <div> A.1.3 开发工具    785 </div> <div> A.2 PHP的文件格式 785 </div> <div> A.2.1 PHP开始和结束标记       785 </div> <div> A.2.2 注释规范    786 </div> <div> A.2.3 空行和空白       786 </div> <div> A.2.4 字符串的使用    787 </div> <div> A.2.5 命名原则    788 </div> <div> A.2.6 语言结构    791 </div> <div> A.2.7 其他规范细节    793 </div> <div> A.3 MySQL设计规范        794 </div> <div> A.3.1 数据表的设计    794 </div> <div> A.3.2 索引设计原则    795 </div> <div> A.3.3 SQL语句设计 796 </div> <div> A.4 模板设计      796 </div> <div> 附录B PHP的安全和优化        798 </div> <div> B.1 网站安全Security        798 </div> <div> B.1.1 安全配置PHP    799 </div> <div> B.1.2 隐藏配置细节    802 </div> <div> B.1.3 隐藏敏感数据    803 </div> <div> B.1.4 清理用户数据    804 </div> <div> B.1.5 数据加密    806 </div> <div> B.2 网站优化Optimize       807 </div> <div> B.2.1 PHP脚本级优化       807 </div> <div> B.2.2 使用代码优化工具    809 </div> <div> B.2.3 缓存加速    810 </div> <div> B.2.4 HTTP加速 810 </div> <div> B.2.5 启用GZIP内容压缩 810 </div> <div> 附录C、附录D见本书光盘 </div> </div> <br> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1562689175927459840"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(脚本语言)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1771702708542177280.htm" title="Lua入门" target="_blank">Lua入门</a> <span class="text-muted">Lodger007</span> <a class="tag" taget="_blank" href="/search/Game/1.htm">Game</a><a class="tag" taget="_blank" href="/search/Development/1.htm">Development</a><a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a><a class="tag" taget="_blank" href="/search/dll/1.htm">dll</a> <div>翻译自http://gamedevgeek.com/tutorials/getting-started-with-lua/Lua入门Lua是一个被设计成用于扩展C/C++编程的轻量级脚本语言。不幸的是,网上很少有关于这个语言的在线教程。我主要通过阅读其源代码来了解它是怎样工作并且通过一些发布的程序学习它。希望,通过下面的教程,会让学习Lua更加简单。本教程涵盖了Lua5.1。在Lua的每一个版本中</div> </li> <li><a href="/article/1769882428865839104.htm" title="C#、ASP、ASP.NET、.NET、ASP.NET CORE区别、ASP.NET Core其概念和特点、ASP.NET Core个人心得体会" target="_blank">C#、ASP、ASP.NET、.NET、ASP.NET CORE区别、ASP.NET Core其概念和特点、ASP.NET Core个人心得体会</a> <span class="text-muted">lijingguang</span> <a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a> <div>C#是一种面向对象的编程语言,主要用于开发跨平台的应用程序。它是.NET框架的一部分,并且可以在.NET平台上运行。ASP(ActiveServerPages)是一种用于构建动态Web页面的技术,使用VBScript或JScript作为服务器端脚本语言。它是早期的Microsoft技术,现已逐渐过时。ASP.NET是微软推出的下一代Web应用程序开发技术,它提供了更强大、更高效的功能和工具。ASP</div> </li> <li><a href="/article/1769048369604395008.htm" title="docker部署OpenVAS开源漏洞扫描系统——筑梦之路" target="_blank">docker部署OpenVAS开源漏洞扫描系统——筑梦之路</a> <span class="text-muted">筑梦之路</span> <a class="tag" taget="_blank" href="/search/linux%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/1.htm">linux系统运维</a><a class="tag" taget="_blank" href="/search/%E6%BC%8F%E6%B4%9E%E6%89%AB%E6%8F%8F%E7%B3%BB%E7%BB%9F/1.htm">漏洞扫描系统</a> <div>OpenVAS是一个全功能的漏洞扫描器。它的功能包括非认证测试、认证测试、各种高水平和低水平的互联网和工业协议、大规模扫描的性能调整和一个强大的内部编程语言来实现任何类型的漏洞测试。用户需要一种自动测试的方法,并确保正在运行一种最恰当的最新测试。OpenVAS包括一个中央服务器和一个图形化的前端。这个服务器准许用户运行几种不同的网络漏洞测试(以Nessus攻击脚本语言编写),而且OpenVAS可以</div> </li> <li><a href="/article/1768923254866640896.htm" title="Jmeter+Ant+Git/SVN+Jenkins实现持续集成接口测试,一文精通(三)" target="_blank">Jmeter+Ant+Git/SVN+Jenkins实现持续集成接口测试,一文精通(三)</a> <span class="text-muted">L小林同学</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/1.htm">软件测试</a><a class="tag" taget="_blank" href="/search/jmeter/1.htm">jmeter</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/svn/1.htm">svn</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a><a class="tag" taget="_blank" href="/search/jenkins/1.htm">jenkins</a><a class="tag" taget="_blank" href="/search/ci%2Fcd/1.htm">ci/cd</a><a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a> <div>一、Jmeter中的BeanShell组件和语言规则BeanShell是一种完全符合java语法规则的脚本语言,同时他还有自己的语法规则。java包括:javase,jjavaee,javameJmeter有哪些BeanShell:1.前置处理器:Beanshell预处理程序。2.定时器:BeanShell3.采样器:BeanShell4.后置处理器:BeanShell5.断言:BeanShell</div> </li> <li><a href="/article/1768809710305214464.htm" title="霸榜的 JavaScript,框架为什么越来越复杂?" target="_blank">霸榜的 JavaScript,框架为什么越来越复杂?</a> <span class="text-muted">Itmastergo</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/ecmascript/1.htm">ecmascript</a> <div>JavaScript的霸榜地位在很大程度上源自其灵活性和强大的生态系统。随着Web技术的不断发展,JavaScript也在不断演进,从简单的页面交互脚本到复杂的前端框架和工具链。JavaScript的霸榜地位JavaScript是一种脚本语言,最初被设计用来给网页添加一些简单的交互效果。但随着Web应用的复杂化,JavaScript的作用也越来越重要,它不仅可以用来开发交互式网页,还可以构建复杂的</div> </li> <li><a href="/article/1768572426637082624.htm" title="web开发-PHP基础学习" target="_blank">web开发-PHP基础学习</a> <span class="text-muted">前端薛之谦...</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/web%E5%BC%80%E5%8F%91/1.htm">web开发</a> <div>PHP是什么PHP是一种创建动态交互性站点的强有力的服务器端脚本语言。PHP是免费的,并且使用非常广泛。同时,对于像微软ASP这样的竞争者来说,PHP无疑是另一种高效率的选项。PHP开发环境集成安装通常,PHP集成环境包,都会将Apache、Ngnix、PHP、MySQL集成在一起,给用户一个非常简单的解决方案。并且大多数情况下:php版本是允许切换的。MySQL一般都是提供phpMyAdmin网</div> </li> <li><a href="/article/1768272076382208000.htm" title="2023年收入最高的10种编程语言之6-10名" target="_blank">2023年收入最高的10种编程语言之6-10名</a> <span class="text-muted">qintian0225</span> <a class="tag" taget="_blank" href="/search/swift/1.htm">swift</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a><a class="tag" taget="_blank" href="/search/typescript/1.htm">typescript</a> <div>以下均来自相关资料,不代表任何个人观点。根据DevJobsScanner对2023年编程语言市场的分析,以下是收入最高的10种编程语言之6-10名:第十名--PHPPHP是一种广泛用于Web开发的服务器端脚本语言。PHP开发人员的平均年薪约为7.5万美元。第九名--TypeScriptTypeScript是JavaScript的一个超集,添加了静态类型检查等特性,提高了代码的可维护性和可读性。Ty</div> </li> <li><a href="/article/1767230305300709376.htm" title="Python 和 Lua 学习比较 一" target="_blank">Python 和 Lua 学习比较 一</a> <span class="text-muted">Peace-4703</span> <a class="tag" taget="_blank" href="/search/Python-Lua/1.htm">Python-Lua</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC%E6%AF%94%E8%BE%83/1.htm">脚本比较</a> <div>好记性不如烂笔头。作的笔记以后也能来再看看。python有多种语言写成的版本,这里只记录C/C++写的版本,lua本身是使用标准C/C++编写的。所以各位同学知道C的强大了吧,我觉得作为程序员,应该都要学一下C/C++,这是你以后成长的奠基石。以后你如果不爽python或者lua了,自己编一种新的脚本语言,^_^我使用Windows平台,python3.4.4版本https://www.pytho</div> </li> <li><a href="/article/1765018374707961856.htm" title="JavaScript" target="_blank">JavaScript</a> <span class="text-muted">qq_48818933</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/ecmascript/1.htm">ecmascript</a> <div>JavaScript(JS)是一种广泛用于Web开发的脚本语言,它使得网页具有交互性,能够动态地改变内容、响应事件等。控制网页行为,使网页可交互。引入方式:1.内联方式(Inline):在HTML文件的标签内直接编写JavaScript代码。这种方式适用于简单的脚本或很小的代码段。InlineJavaScriptHello,World!//可以在任意地方放置,一般放在元素底部//这里编写JavaS</div> </li> <li><a href="/article/1763337056349675520.htm" title="Javascript 学习体会" target="_blank">Javascript 学习体会</a> <span class="text-muted">af50379b7d82</span> <div>JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。javascript是一种基于java基本语句和控制流之上的简单简化,所以java和javascript在许多语法上是一致的,并且javascript也具有面向对象,事件驱动和安全性的特性,只是没有java那么完整而已。//通过“{}”创建对象,对象的成员以键值对的形式存放在{}中,多个成员之间使用逗号分</div> </li> <li><a href="/article/1762792010793705472.htm" title="连猴子都能学会的Lua速成教学" target="_blank">连猴子都能学会的Lua速成教学</a> <span class="text-muted">雨果66666</span> <a class="tag" taget="_blank" href="/search/Game/1.htm">Game</a><a class="tag" taget="_blank" href="/search/Develop/1.htm">Develop</a><a class="tag" taget="_blank" href="/search/Lua/1.htm">Lua</a> <div>Lua语言是游戏开发的一个重要助手,是一种比较流行的脚本语言,在国内也有像鹅厂这样的大厂在做维护和支持(xLua等),质量是很能得到保证的。它体积小速度快,是一种很优秀的语言。Lua速成1.注释①Lua的注释是以两个”-“开始的,例如:--Thisisacomment②同时也存在着块注释(多行注释),使用的是两个方括号,例如:--[[Thisisasinglecommentthattakesmul</div> </li> <li><a href="/article/1762472417034330112.htm" title="关于php、php-fpm的解释" target="_blank">关于php、php-fpm的解释</a> <span class="text-muted">it_zhenxiaobai</span> <a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>PHP语言是由PHP程序解释的,而不是由php-fpm程序解释的。PHP(HypertextPreprocessor)是一种通用开源脚本语言,最初是为创建动态Web页面而设计的,但现在也可以用于命令行脚本编写等用途。PHP程序通常由Web服务器(如Apache、Nginx等)调用,用于处理Web页面的动态生成和数据库连接等操作。php-fpm(PHPFastCGIProcessManager)是一</div> </li> <li><a href="/article/1761292862928019456.htm" title="Unity3D 框架如何搭建基于纯Lua的U框架与开发模式详解" target="_blank">Unity3D 框架如何搭建基于纯Lua的U框架与开发模式详解</a> <span class="text-muted">Thomas_YXQ</span> <a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/Unity3D/1.htm">Unity3D</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%80%E5%8F%91/1.htm">游戏开发</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/1.htm">游戏引擎</a> <div>前言Unity3D是一款非常流行的游戏开发引擎,它支持C#、JavaScript和Boo等多种脚本语言。而Lua语言作为一种轻量级的脚本语言,也在游戏开发中得到了广泛应用。本文将介绍如何在Unity3D框架中搭建基于纯Lua的U框架,并详细讲解其开发模式。对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀一、Lua语言介绍Lua是一种轻量级的脚本语言,由巴西里约热内卢天主</div> </li> <li><a href="/article/1759914890308448256.htm" title="CTFHub技能树web之RCE(一)" target="_blank">CTFHub技能树web之RCE(一)</a> <span class="text-muted">wz_fisher</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a> <div>RCE是php的代码执行简称,是RemoteCommandExec(远程命令执行)和RemoteCodeExec(远程代码执行)的缩写;Command指的是操作系统的命令,code指的是脚本语言(php)的代码。第一题:eval执行根据代码可以看到该网页使用request得到cmd参数并使用eval执行cmd的代码,其中isset函数用于检测是否传入了一个名为cmd的变量的值(是否非空),eval</div> </li> <li><a href="/article/1759911196036788224.htm" title="可以用Shell语言写一个Linux服务器巡检脚本么" target="_blank">可以用Shell语言写一个Linux服务器巡检脚本么</a> <span class="text-muted">长野君</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>是的,可以用Shell语言写一个Linux服务器巡检脚本。Shell脚本是一种解释型的脚本语言,可以在Linux系统中运行。通过Shell脚本,可以自动执行多条Linux命令,实现一些自动化的任务。要写一个Linux服务器巡检脚本,需要先确定巡检的内容,然后使用Shell脚本语言按顺序写出各个步骤的命令。例如,可以写一个巡检脚本,检查服务器的CPU使用情况、内存使用情况、磁盘使用情况和网络连接情况</div> </li> <li><a href="/article/1759905847636488192.htm" title="ECMAScript学习" target="_blank">ECMAScript学习</a> <span class="text-muted">qianxun0921</span> <div>ECMAScript它是一种由ECMA组织(前身为欧洲计算机制造商协会)制定和发布的脚本语言规范而我们学的JavaScript是ECMA的实现,但术语ECMAScript和JavaScript平时表达同一个意思JS包含三个部分:1).ECMAScript(核心)2).扩展==>浏览器端*BOM(浏览器对象模型)*DOM(文档对象模型)3).扩展==>服务器端*NodeES的几个重要版本ES5:09</div> </li> <li><a href="/article/1759903810433675264.htm" title="PHP文章采集技巧:轻松获取优质内容" target="_blank">PHP文章采集技巧:轻松获取优质内容</a> <span class="text-muted">wanghui19880909</span> <a class="tag" taget="_blank" href="/search/%E9%87%87%E9%9B%86/1.htm">采集</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E7%AB%A0/1.htm">文章</a><a class="tag" taget="_blank" href="/search/%E8%81%94%E7%BD%91/1.htm">联网</a> <div>1.什么是文章采集文章采集是指通过程序自动抓取互联网上的文章内容,并将其保存到数据库或文件中的过程。这样做的好处是可以节省人工复制粘贴的时间,提高工作效率。2.PHP的优势PHP是一种流行的服务器端脚本语言,具有简单易学、灵活性高以及强大的文本处理能力等优势。这使得PHP成为进行文章采集的理想选择。3.学习PHP文章采集的必要性随着信息爆炸时代的到来,人们需要从海量的互联网信息中获取有价值的内容。</div> </li> <li><a href="/article/1759896822786125824.htm" title="vue2和vue3中sass的使用" target="_blank">vue2和vue3中sass的使用</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/vue3vue2sass/1.htm">vue3vue2sass</a> <div>Sass(SyntacticallyAwesomeStyleSheets)是一种流行的预处理器脚本语言,用于扩展CSS的功能。它提供了许多功能,使编写和维护CSS代码更加容易。我们将讨论如何在Vue2和Vue3版本中使用Sass。一.Vue2中使用Sass有两种方法:1.全局使用1.1要在Vue2中全局使用Sass,使用以下命令安装sass-loader和node-sass包:npminstall</div> </li> <li><a href="/article/1759876259841667072.htm" title="第一章 Shell 概述" target="_blank">第一章 Shell 概述</a> <span class="text-muted">[禾火]</span> <a class="tag" taget="_blank" href="/search/shell%E8%84%9A%E6%9C%AC%E7%BC%96%E7%A8%8B/1.htm">shell脚本编程</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>目录1.1.为什么学习和使用Shell编程1.2.Shell是什么1.2.1.shell起源1.2.2.查看当前系统支持的shell1.2.3.查看当前系统默认shell1.2.4.Shell概念1.3.Shell程序设计语言1.3.1.Shell也是一种脚本语言1.3.2.用途1.4.如何学好shell1.4.1.熟练掌握shell编程基础知识1.4.2.建议1.5.Shell脚本的基本元素1.</div> </li> <li><a href="/article/1759843930129657856.htm" title="前端技术探秘-Nodejs的CommonJS规范实现原理 | 京东物流技术团队" target="_blank">前端技术探秘-Nodejs的CommonJS规范实现原理 | 京东物流技术团队</a> <span class="text-muted"></span> <div>了解Node.jsNode.js是一个基于ChromeV8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。Node中增添了很多内置的模块,提供各种各样的功能,同时也提供许多第三方模块。模块的问题为什么要有模块复杂的前端项目需</div> </li> <li><a href="/article/1759824993329442816.htm" title="java动态编程脚本研究(springboot)" target="_blank">java动态编程脚本研究(springboot)</a> <span class="text-muted">熊出没</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>一、学习背景核心代码gitee地址:ScriptDemo:java脚本语言实现动态编程最近学习了下动态编程的java相关技术,针对日常开发中经常有业务规则变换的场景,频繁修改代码发布极为不便,这时候可以利用java支持的动态编程技术,把不停变换的业务规则封装成其他语言的逻辑函数(或者java类本身也可以),作为不同的脚本模板,以字符串的形式存储在数据库中,甚至可以直接在前端界面编写脚本语言,不需要</div> </li> <li><a href="/article/1759803148127531008.htm" title="文件上传漏洞" target="_blank">文件上传漏洞</a> <span class="text-muted">技术小白痴</span> <a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/web%E6%BC%8F%E6%B4%9E/1.htm">web漏洞</a><a class="tag" taget="_blank" href="/search/web%E6%B8%97%E9%80%8F/1.htm">web渗透</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/web/1.htm">web</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/1.htm">程序人生</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a> <div>文件上传漏洞一、文件上传原理1.在文件上传的功能处,若服务端脚本语言未对上传的文件进行严格验证和过滤,导致恶意用户上传恶意的脚本文件时,就有可能获取执行服务端命令的能力,这就是文件上传漏洞。2.文件上传漏洞对Web应用来说是一种非常严重的漏洞。一般情况下,Web应用都会允许用户上传一些文件,如头像、附件等信息,如果Web应用没有对用户上传的文件进行有效的检查过滤,那么恶意用户就会上传一句话木马等W</div> </li> <li><a href="/article/1759775351090802688.htm" title="nginx+lua+redis实现灰度发布 | 京东云技术团队" target="_blank">nginx+lua+redis实现灰度发布 | 京东云技术团队</a> <span class="text-muted"></span> <div>前言:授人以鱼不如授人以渔.先学会用,在学原理,在学创造,可能一辈子用不到这种能力,但是不能不具备这种能力。这篇文章主要是沉淀使用nginx+lua+redis实现灰度,当我们具备了这种能力,随时可以基于这种能力和思想调整实现方案:比如nginx+lua+(其他数据源)、nginx+(其他脚本语言)一、灰度方案:常见的灰度实现方案:请求路由:通过请求中的标识(如用户ID、设备ID、请求头等)来决定</div> </li> <li><a href="/article/1759759843444486144.htm" title="Lua基础语法讲解" target="_blank">Lua基础语法讲解</a> <span class="text-muted">ddry47579</span> <a class="tag" taget="_blank" href="/search/c%2Fc%2B%2B/1.htm">c/c++</a><a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/1.htm">数据结构与算法</a> <div>Lua是什么?Lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua是巴西里约热内卢天主教大学(PontificalCatholicUniversityofRiodeJaneiro)里的一个研究小组,由RobertoIerusalimschy、WaldemarCeles和LuizHenriquedeFigu</div> </li> <li><a href="/article/1759731601949945856.htm" title="使用【Python+Appium】实现自动化测试" target="_blank">使用【Python+Appium】实现自动化测试</a> <span class="text-muted">咖 啡加剁椒</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/1.htm">软件测试</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/appium/1.htm">appium</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/1.htm">软件测试</a><a class="tag" taget="_blank" href="/search/%E5%8A%9F%E8%83%BD%E6%B5%8B%E8%AF%95/1.htm">功能测试</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/1.htm">自动化测试</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/1.htm">程序人生</a> <div>一、环境准备1.脚本语言:Python3.xIDE:安装Pycharm2.安装JavaJDK、AndroidSDK3.adb环境,path添加E:\Software\Android_SDK\platform-tools4.安装Appiumforwindows,官网地址Redirecting点击下载按钮会到GitHub的下载页面,选择对应平台下载安装完成后,启动Appium,host和port默认的</div> </li> <li><a href="/article/1759722919145074688.htm" title="浅谈Java和JavaScript区别与联系" target="_blank">浅谈Java和JavaScript区别与联系</a> <span class="text-muted">Zzexi</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>Java和JavaScript虽然名字相似,但它们是由不同的公司开发的不同产品,存在明显的区别。以下是它们的主要区别:出身与平台:Java是由SUNMicrosystems公司推出的一种面向对象的程序设计语言,设计初衷是“一次编写,到处运行”。它主要用于开发企业级应用、Android应用等。JavaScript最初是Netscape公司的脚本语言,主要用于web浏览器中的客户端脚本,实现前端页面的</div> </li> <li><a href="/article/1759654148602687488.htm" title="JavaScript初级入门练习" target="_blank">JavaScript初级入门练习</a> <span class="text-muted">飞灰非辉</span> <div>JavaScript为简称js,是现如今十分流行的脚本语言,可插入HTML页面编程代码,对页面改进设计,实现动态操作,此处进行两个简单的js练习,熟悉js操作.一.全选操作在我们日常上网中,经常会接触到全选操作.本文中通过HTML,CSS,JavaScrpit进行一个简单的实现1.HTML搭建网页结构此处通过使用表格标签.创建一个表格,使用input属性,插入可选框,通过tr,td对表格行列项的内</div> </li> <li><a href="/article/1759630772878274560.htm" title="pythonqt对比,初识 Python与Qt" target="_blank">pythonqt对比,初识 Python与Qt</a> <span class="text-muted">weixin_39843151</span> <a class="tag" taget="_blank" href="/search/pythonqt%E5%AF%B9%E6%AF%94/1.htm">pythonqt对比</a> <div>本文先来介绍Python与Qt的关系,对于Python本文也属于小白那类,咱们一块学习!1、Qt内建的Script支持:QtScriptforApplications(QSA),跨平台脚本工具箱,为静态的QtC++程序提供了一个脚本界面,可以定制和扩展程序。支持脚本语言--QtScript(基于ECMAScript,Microsoft'sJScript,and.NETscape'sJAVAScri</div> </li> <li><a href="/article/1759575980432781312.htm" title="python基本语法" target="_blank">python基本语法</a> <span class="text-muted">ldxzs</span> <div>一、Python介绍Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。Python是交互式语言:这意味着,您可以在一个Python提示符,直接互动执行写</div> </li> <li><a href="/article/1759541202497138688.htm" title="JavaScript基础语法--乐字节Java" target="_blank">JavaScript基础语法--乐字节Java</a> <span class="text-muted">天上的小仙女呀</span> <div>JavaScript基础语法主要内容JavaScript7ceba.pngJavaScript简介JavaScript是一种具有面向对象能力的、解释型的程序设计语言。更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言。它的主要目的是,验证发往服务器端的数据、增加Web互动、加强用户体验度等。1234567d38cd.pngJavaScript的组成1fuvj25353.pngECM</div> </li> <li><a href="/article/107.htm" title="web报表工具FineReport常见的数据集报错错误代码和解释" target="_blank">web报表工具FineReport常见的数据集报错错误代码和解释</a> <span class="text-muted">老A不折腾</span> <a class="tag" taget="_blank" href="/search/web%E6%8A%A5%E8%A1%A8/1.htm">web报表</a><a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81/1.htm">代码</a><a class="tag" taget="_blank" href="/search/%E5%8F%AF%E8%A7%86%E5%8C%96%E5%B7%A5%E5%85%B7/1.htm">可视化工具</a> <div>在使用finereport制作报表,若预览发生错误,很多朋友便手忙脚乱不知所措了,其实没什么,只要看懂报错代码和含义,可以很快的排除错误,这里我就分享一下finereport的数据集报错错误代码和解释,如果有说的不准确的地方,也请各位小伙伴纠正一下。   NS-war-remote=错误代码\:1117 压缩部署不支持远程设计 NS_LayerReport_MultiDs=错误代码</div> </li> <li><a href="/article/234.htm" title="Java的WeakReference与WeakHashMap" target="_blank">Java的WeakReference与WeakHashMap</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%B1%E5%BC%95%E7%94%A8/1.htm">弱引用</a> <div>首先看看 WeakReference wiki 上 Weak reference 的一个例子: public class ReferenceTest { public static void main(String[] args) throws InterruptedException { WeakReference r = new Wea</div> </li> <li><a href="/article/361.htm" title="Linux——(hostname)主机名与ip的映射" target="_blank">Linux——(hostname)主机名与ip的映射</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/hostname/1.htm">hostname</a> <div>一、 什么是主机名 无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,所以又有了域名。域名只是在公网(INtERNET)中存在,每个域名都对应一个IP地址,但一个IP地址可有对应多个域名。域名类型 linuxsir.org 这样的; 主机名是用于什么的呢? 答:在一个局域网中,每台机器都有一个主</div> </li> <li><a href="/article/488.htm" title="oracle 常用技巧" target="_blank">oracle 常用技巧</a> <span class="text-muted">18289753290</span> <div>oracle常用技巧 ①复制表结构和数据   create table  temp_clientloginUser as   select distinct userid from tbusrtloginlog ②仅复制数据 如果表结构一样 insert into  mytable  select  * &nb</div> </li> <li><a href="/article/615.htm" title="使用c3p0数据库连接池时出现com.mchange.v2.resourcepool.TimeoutException" target="_blank">使用c3p0数据库连接池时出现com.mchange.v2.resourcepool.TimeoutException</a> <span class="text-muted">酷的飞上天空</span> <a class="tag" taget="_blank" href="/search/exception/1.htm">exception</a> <div>有一个线上环境使用的是c3p0数据库,为外部提供接口服务。最近访问压力增大后台tomcat的日志里面频繁出现 com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResou</div> </li> <li><a href="/article/742.htm" title="IT系统分析师如何学习大数据" target="_blank">IT系统分析师如何学习大数据</a> <span class="text-muted">蓝儿唯美</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>我是一名从事大数据项目的IT系统分析师。在深入这个项目前需要了解些什么呢?学习大数据的最佳方法就是先从了解信息系统是如何工作着手,尤其是数据库和基础设施。同样在开始前还需要了解大数据工具,如Cloudera、Hadoop、Spark、Hive、Pig、Flume、Sqoop与Mesos。系 统分析师需要明白如何组织、管理和保护数据。在市面上有几十款数据管理产品可以用于管理数据。你的大数据数据库可能</div> </li> <li><a href="/article/869.htm" title="spring学习——简介" target="_blank">spring学习——简介</a> <span class="text-muted">a-john</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>Spring是一个开源框架,是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只能由EJB完成的事情。然而Spring的用途不仅限于服务器端的开发,从简单性,可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。其主要特征是依赖注入、AOP、持久化、事务、SpringMVC以及Acegi Security 为了降低Java开发的复杂性,</div> </li> <li><a href="/article/996.htm" title="自定义颜色的xml文件" target="_blank">自定义颜色的xml文件</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a> <div><?xml version="1.0" encoding="utf-8"?> <resources> <color name="white">#FFFFFF</color> <color name="black">#000000</color> &</div> </li> <li><a href="/article/1123.htm" title="运营到底是做什么的?" target="_blank">运营到底是做什么的?</a> <span class="text-muted">aoyouzi</span> <a class="tag" taget="_blank" href="/search/%E8%BF%90%E8%90%A5%E5%88%B0%E5%BA%95%E6%98%AF%E5%81%9A%E4%BB%80%E4%B9%88%E7%9A%84%EF%BC%9F/1.htm">运营到底是做什么的?</a> <div>文章来源:夏叔叔(微信号:woshixiashushu),欢迎大家关注!很久没有动笔写点东西,近些日子,由于爱狗团产品上线,不断面试,经常会被问道一个问题。问:爱狗团的运营主要做什么?答:带着用户一起嗨。为什么是带着用户玩起来呢?究竟什么是运营?运营到底是做什么的?那么,我们先来回答一个更简单的问题——互联网公司对运营考核什么?以爱狗团为例,绝大部分的移动互联网公司,对运营部门的考核分为三块——用</div> </li> <li><a href="/article/1250.htm" title="js面向对象类和对象" target="_blank">js面向对象类和对象</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/1.htm">面向对象</a><a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0%E5%88%9B%E5%BB%BA%E7%B1%BB%E5%92%8C%E5%AF%B9%E8%B1%A1/1.htm">函数创建类和对象</a> <div>接触js已经有几个月了,但是对js的面向对象的一些概念根本就是模糊的,js是一种面向对象的语言 但又不像java一样有class,js不是严格的面向对象语言 ,js在java web开发的地位和java不相上下  ,其中web的数据的反馈现在主流的使用json,json的语法和js的类和属性的创建相似   下面介绍一些js的类和对象的创建的技术   一:类和对</div> </li> <li><a href="/article/1377.htm" title="web.xml之资源管理对象配置 resource-env-ref" target="_blank">web.xml之资源管理对象配置 resource-env-ref</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/web.xml/1.htm">web.xml</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a> <div>resource-env-ref元素来指定对管理对象的servlet引用的声明,该对象与servlet环境中的资源相关联 <resource-env-ref> <resource-env-ref-name>资源名</resource-env-ref-name> <resource-env-ref-type>查找资源时返回的资源类</div> </li> <li><a href="/article/1504.htm" title="Create a composite component with a custom namespace" target="_blank">Create a composite component with a custom namespace</a> <span class="text-muted">sunjing</span> <div>https://weblogs.java.net/blog/mriem/archive/2013/11/22/jsf-tip-45-create-composite-component-custom-namespace   When you developed a composite component the namespace you would be seeing would </div> </li> <li><a href="/article/1631.htm" title="【MongoDB学习笔记十二】Mongo副本集服务器角色之Arbiter" target="_blank">【MongoDB学习笔记十二】Mongo副本集服务器角色之Arbiter</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div> 一、复本集为什么要加入Arbiter这个角色 回答这个问题,要从复本集的存活条件和Aribter服务器的特性两方面来说。 什么是Artiber? An arbiter does not have a copy of data set and cannot become a primary. Replica sets may have arbiters to add a </div> </li> <li><a href="/article/1758.htm" title="Javascript开发笔记" target="_blank">Javascript开发笔记</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div> 获取iframe内的元素 通常我们使用window.frames["frameId"].document.getElementById("divId").innerHTML这样的形式来获取iframe内的元素,这种写法在IE、safari、chrome下都是通过的,唯独在fireforx下不通过。其实jquery的contents方法提供了对if</div> </li> <li><a href="/article/1885.htm" title="Web浏览器Chrome打开一段时间后,运行alert无效" target="_blank">Web浏览器Chrome打开一段时间后,运行alert无效</a> <span class="text-muted">bozch</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/chorme/1.htm">chorme</a><a class="tag" taget="_blank" href="/search/alert/1.htm">alert</a><a class="tag" taget="_blank" href="/search/%E6%97%A0%E6%95%88/1.htm">无效</a> <div>今天在开发的时候,突然间发现alert在chrome浏览器就没法弹出了,很是怪异。 试了试其他浏览器,发现都是没有问题的。 开始想以为是chorme浏览器有啥机制导致的,就开始尝试各种代码让alert出来。尝试结果是仍然没有显示出来。 这样开发的结果,如果客户在使用的时候没有提示,那会带来致命的体验。哎,没啥办法了 就关闭浏览器重启。   结果就好了,这也太怪异了。难道是cho</div> </li> <li><a href="/article/2012.htm" title="编程之美-高效地安排会议 图着色问题 贪心算法" target="_blank">编程之美-高效地安排会议 图着色问题 贪心算法</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a> <div> import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; public class GraphColoringProblem { /**编程之美 高效地安排会议 图着色问题 贪心算法 * 假设要用很多个教室对一组</div> </li> <li><a href="/article/2139.htm" title="机器学习相关概念和开发工具" target="_blank">机器学习相关概念和开发工具</a> <span class="text-muted">chenbowen00</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/matlab/1.htm">matlab</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a> <div>基本概念: 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。 开发工具 M</div> </li> <li><a href="/article/2266.htm" title="[宇宙经济学]关于在太空建立永久定居点的可能性" target="_blank">[宇宙经济学]关于在太空建立永久定居点的可能性</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%BB%8F%E6%B5%8E/1.htm">经济</a> <div>        大家都知道,地球上的房地产都比较昂贵,而且土地证经常会因为新的政府的意志而变幻文本格式........        所以,在地球议会尚不具有在太空行使法律和权力的力量之前,我们外太阳系统的友好联盟可以考虑在地月系的某些引力平衡点上面,修建规模较大的定居点</div> </li> <li><a href="/article/2393.htm" title="oracle 11g database control 证书错误" target="_blank">oracle 11g database control 证书错误</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E8%AF%81%E4%B9%A6%E9%94%99%E8%AF%AF/1.htm">证书错误</a><a class="tag" taget="_blank" href="/search/oracle+11G+%E5%AE%89%E8%A3%85/1.htm">oracle 11G 安装</a> <div>oracle 11g database control 证书错误  win7 安装完oracle11后打开 Database control 后,会打开em管理页面,提示证书错误,点“继续浏览此网站”,还是会继续停留在证书错误页面 解决办法: 是 KB2661254 这个更新补丁引起的,它限制了 RSA 密钥位长度少于 1024 位的证书的使用。具体可以看微软官方公告:</div> </li> <li><a href="/article/2520.htm" title="Java I/O之用FilenameFilter实现根据文件扩展名删除文件" target="_blank">Java I/O之用FilenameFilter实现根据文件扩展名删除文件</a> <span class="text-muted">游其是你</span> <a class="tag" taget="_blank" href="/search/FilenameFilter/1.htm">FilenameFilter</a> <div>在Java中,你可以通过实现FilenameFilter类并重写accept(File dir, String name) 方法实现文件过滤功能。 在这个例子中,我们向你展示在“c:\\folder”路径下列出所有“.txt”格式的文件并删除。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 </div> </li> <li><a href="/article/2647.htm" title="C语言数组的简单以及一维数组的简单排序算法示例,二维数组简单示例" target="_blank">C语言数组的简单以及一维数组的简单排序算法示例,二维数组简单示例</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/array/1.htm">array</a> <div># include <stdio.h> int main(void) { int a[5] = {1, 2, 3, 4, 5}; //a 是数组的名字 5是表示数组元素的个数,并且这五个元素分别用a[0], a[1]...a[4] int i; for (i=0; i<5; ++i) printf("%d\n",</div> </li> <li><a href="/article/2774.htm" title="PRIMARY, INDEX, UNIQUE 这3种是一类 PRIMARY 主键。 就是 唯一 且 不能为空。 INDEX 索引,普通的 UNIQUE 唯一索引" target="_blank">PRIMARY, INDEX, UNIQUE 这3种是一类 PRIMARY 主键。 就是 唯一 且 不能为空。 INDEX 索引,普通的 UNIQUE 唯一索引</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/primary/1.htm">primary</a> <div>PRIMARY, INDEX, UNIQUE 这3种是一类PRIMARY 主键。 就是 唯一 且 不能为空。INDEX 索引,普通的UNIQUE 唯一索引。 不允许有重复。FULLTEXT 是全文索引,用于在一篇文章中,检索文本信息的。举个例子来说,比如你在为某商场做一个会员卡的系统。这个系统有一个会员表有下列字段:会员编号   INT会员姓名  </div> </li> <li><a href="/article/2901.htm" title="java集合辅助类 Collections、Arrays" target="_blank">java集合辅助类 Collections、Arrays</a> <span class="text-muted">shuizhaosi888</span> <a class="tag" taget="_blank" href="/search/Collections/1.htm">Collections</a><a class="tag" taget="_blank" href="/search/Arrays/1.htm">Arrays</a><a class="tag" taget="_blank" href="/search/HashCode/1.htm">HashCode</a> <div>  Arrays、Collections   1 )数组集合之间转换 public static <T> List<T> asList(T... a) { return new ArrayList<>(a); }      a)Arrays.asL</div> </li> <li><a href="/article/3028.htm" title="Spring Security(10)——退出登录logout" target="_blank">Spring Security(10)——退出登录logout</a> <span class="text-muted">234390216</span> <a class="tag" taget="_blank" href="/search/logout/1.htm">logout</a><a class="tag" taget="_blank" href="/search/Spring+Security/1.htm">Spring Security</a><a class="tag" taget="_blank" href="/search/%E9%80%80%E5%87%BA%E7%99%BB%E5%BD%95/1.htm">退出登录</a><a class="tag" taget="_blank" href="/search/logout-url/1.htm">logout-url</a><a class="tag" taget="_blank" href="/search/LogoutFilter/1.htm">LogoutFilter</a> <div>       要实现退出登录的功能我们需要在http元素下定义logout元素,这样Spring Security将自动为我们添加用于处理退出登录的过滤器LogoutFilter到FilterChain。当我们指定了http元素的auto-config属性为true时logout定义是会自动配置的,此时我们默认退出登录的URL为“/j_spring_secu</div> </li> <li><a href="/article/3155.htm" title="透过源码学前端 之 Backbone 三 Model" target="_blank">透过源码学前端 之 Backbone 三 Model</a> <span class="text-muted">逐行分析JS源代码</span> <a class="tag" taget="_blank" href="/search/backbone/1.htm">backbone</a><a class="tag" taget="_blank" href="/search/%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/1.htm">源码分析</a><a class="tag" taget="_blank" href="/search/js%E5%AD%A6%E4%B9%A0/1.htm">js学习</a> <div>Backbone 分析第三部分  Model 概述: Model 提供了数据存储,将数据以JSON的形式保存在 Model的 attributes里, 但重点功能在于其提供了一套功能强大,使用简单的存、取、删、改数据方法,并在不同的操作里加了相应的监听事件, 如每次修改添加里都会触发 change,这在据模型变动来修改视图时很常用,并且与collection建立了关联。 </div> </li> <li><a href="/article/3282.htm" title="SpringMVC源码总结(七)mvc:annotation-driven中的HttpMessageConverter" target="_blank">SpringMVC源码总结(七)mvc:annotation-driven中的HttpMessageConverter</a> <span class="text-muted">乒乓狂魔</span> <a class="tag" taget="_blank" href="/search/springMVC/1.htm">springMVC</a> <div>这一篇文章主要介绍下HttpMessageConverter整个注册过程包含自定义的HttpMessageConverter,然后对一些HttpMessageConverter进行具体介绍。 HttpMessageConverter接口介绍: public interface HttpMessageConverter<T> { /** * Indicate</div> </li> <li><a href="/article/3409.htm" title="分布式基础知识和算法理论" target="_blank">分布式基础知识和算法理论</a> <span class="text-muted">bluky999</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/%E4%B8%80%E8%87%B4%E6%80%A7%E5%93%88%E5%B8%8C/1.htm">一致性哈希</a><a class="tag" taget="_blank" href="/search/paxos/1.htm">paxos</a> <div>  分布式基础知识和算法理论 BY NODEXY@2014.8.12 本文永久链接:http://nodex.iteye.com/blog/2103218   在大数据的背景下,不管是做存储,做搜索,做数据分析,或者做产品或服务本身,面向互联网和移动互联网用户,已经不可避免地要面对分布式环境。笔者在此收录一些分布式相关的基础知识和算法理论介绍,在完善自我知识体系的同</div> </li> <li><a href="/article/3536.htm" title="Android Studio的.gitignore以及gitignore无效的解决" target="_blank">Android Studio的.gitignore以及gitignore无效的解决</a> <span class="text-muted">bell0901</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/gitignore/1.htm">gitignore</a> <div>  github上.gitignore模板合集,里面有各种.gitignore : https://github.com/github/gitignore   自己用的Android Studio下项目的.gitignore文件,对github上的android.gitignore添加了       # OSX files      //mac os下      .DS_Store </div> </li> <li><a href="/article/3663.htm" title="成为高级程序员的10个步骤" target="_blank">成为高级程序员的10个步骤</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a> <div>What 软件工程师的职业生涯要历经以下几个阶段:初级、中级,最后才是高级。这篇文章主要是讲如何通过 10 个步骤助你成为一名高级软件工程师。   Why 得到更多的报酬!因为你的薪水会随着你水平的提高而增加 提升你的职业生涯。成为了高级软件工程师之后,就可以朝着架构师、团队负责人、CTO 等职位前进 历经更大的挑战。随着你的成长,各种影响力也会提高。 </div> </li> <li><a href="/article/3790.htm" title="mongdb在linux下的安装" target="_blank">mongdb在linux下的安装</a> <span class="text-muted">xtuhcy</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>一、查询linux版本号: lsb_release -a  LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noa</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>