HTML5和CSS3基础教程(第8本)-读书笔记

第1回 网页的结构块

一个网页根本包括以下三独片:

n        文本内容(text
content):在页面及于访问者了解页面内容的纯文字。

n        对其他文件之援(references to other
files):我们用这些引用来加载图像、音频、视频文件,以及样式表(控制页面的示力量)
和JavaScript文件 (为页面添加行为)。这些引用还好本着任何的 HTML
页面及资源。

n        标记(markup):对文件内容进行描述并包引用正确地干活。

此外,在每个 HTML 页面的始都发出一些第一用于浏览器和查找引擎的音讯。

1.1 HTML 思想

HTML 元素描述的是情是啊,而未看起是何许。

1.2 基本的 HTML页面

每个网页都含有DOCTYPE、html、head 和body 元素,它们是网页的功底。

<!DOCTYPE html> 部分(称为DOCTYPE)告诉浏览器就是一个 HTML5
页面。DOCTYPE应该尽放在页面的首先行。

文档的头颅,即 <head> 和</head> 之间的区域。

<title> 和 </title>
之间的文件。这些文件会产出于浏览器标签页中,对于一些浏览器,这些文件还见面出现在浏览器窗口的顶部,作为网页的标题。此外,这些文件通常要浏览器书签的默认名称,它们对找引擎来说吧是不行重大之音。

1.3 标签:元素、属性、值与另外

签的组成:元素(element)、属性(attribute)和价值(value)。

绝大多数因素既包含文本,也蕴藏其他因素。这些要素由开始标签、内容与终结标签组成。开始标签是坐落有尖括哀号中的元素的名称以及容许含有的性能,结束标签是身处有尖括声泪俱下中的斜杠加元素的称呼。

 

还有一些素是空元素(empty element或 void
element),既不包含文本也非含其他因素。它们看起像是始标签及终结标签的成,由左尖括号开始,然后是素的名和可能包含的属性,然后是一个可选的空格和一个可选的斜杠,最后是必有的右边尖括号。

 

以HTML5面临,空元素结尾处的空格和斜杠是可选的。XHTML
要求空元素结尾处必须有斜杠。

准规矩,元素的名号还因此小写字母。不过,HTML5
对这不开要求,也可采取十分写字母(不推荐)。

属性包含了元素的额外信息。

 

有些元素得以来差不多只特性,每个属性都起独家的价。属性的依次并无紧要。不同之性能–值对中间还为此空格隔开。

有些属性可以领任何价值,有的虽有限制。最常见的还是那些单纯受预约义值(也叫做枚举值)的习性。

 

发生许多性的价需要设置也数字,特别是那些讲述大小和长的习性。数字值无需蕴涵单位,只待输入数字本身。

一些属性(如 href 和 src)用于引用其他文件,它们只能分包
URL(统一资源定位符,是万维网上文件的唯一地址)形式之值。

说到底,还有一样栽新鲜之属性称为布尔属性(Boolean
attribute)。这种性质的价是可选的,因为如果这种属性出现就是意味着其值为真。布尔属性也是先期定义好之,无法自创。

 

如若一个素包含其他一个因素,它就是叫含有元素的父元素,被含有元素称为子元素。子元素中包含的其他因素都是外围的父元素的后。

值得注意的凡,当元素中蕴藏其他因素时,每个元素还不能不嵌套正确,也就是子元素必须完全地含有在父元素中。

 

1.4 网页的公文内容

       首先,浏览器呈现 HTML
时,会拿公文中之几近单空格或制表符压缩成单个空格,把扭曲车符和换行符转换成单个空格,或者将它一起忽略。

说不上,HTML过去只得用ASCII字符。ASCII只包英语字母、数字和少数几乎独常因此之号。开发人员必须用特殊之字符引用来创造重音字符(在群西欧语言中老广阔)和不少普通符号,如
é(表示 é)、©(表示 ©)等。

Unicode 极大缓解了特殊字符问题。用UTF-8
对页面进行编码,并就此平等的编码保留HTML文件已变为平等种植标准做法。(推荐)

1.6 文件称和文件夹名

切记,文件称全副动小写字母,用短横线分隔单词,用.html 作为扩大名。

文本夹的号为答应全部为此小写字母。

1.7 URL

URL(Uniform Resource
Locator,统一资源定位符)是地点的号。它涵盖关于文件存储位置和浏览器应什么处理它的消息。互联网上之每个文件都产生唯一的URL。

核心的URL包含模式、主机名称以及途径。路径包含一个或者多只目录(文件夹),最后是一个文本称。

 

模式告诉浏览器如何处理要开拓的文本。

绝普遍的模式是 HTTP(Hypertext Transfer
Protocol,超文本传输协议)。HTTP是用来访问网页。HTTPS 是打 HTTP
衍生来之,用于电子商务网站等安全网页。

偶尔,URL
路径不为文件称结尾,而以一个目结尾(可以分包一个末段的斜杠,也可以不含)。在这种状态下,URL
指的凡途径中最后一个目录中之默认文件,通常为index.html。

另周边的模式有用于下载文件之 ftp(File Transfer
Protocol,文件传输协议);用于发送电子邮件的 mailto。

 

 

模式后通常紧跟一个冒号和有限独斜杠mailto是个不等,它后就发生一个冒号。

URL 可以是绝的,也可是对立的。

切URL(absolute
URL)包含了依为目录或文件之整体信息,包括模式、主机名与路径。

引用他人 Web 服务器上之文件时,应该总是用绝对化 URL。

于FTP站点以及几所有未以HTTP协议的 URL,都应当利用绝对化 URL。

对立 URL 以富含 URL 本身的文件的职位也参照点,描述目标文件的职:

  • 援同一目录下的文件

假若目标文件及当前页面(也便是含有URL
的页面)在同一个目中,那么是文件之对立 URL 就只有文件称与扩展名。

 

  • 引用子目录下之公文

万一目标文件于当前目录的子目录中,那么是文件之对立 URL
就是子目录名,接着是一个斜杠,然后是文件称及扩充名。

 

  • 援上层目录的文件

一旦假定引用文件层次结构中更上层目录中的文件,那么该利用简单只句点和一个斜杠。每个../都意味着“到手上文件的上一致重合”。

 

  • 根相对 URL

足当太开始用一个斜杠。需要强调的凡,这种做法只能用来 Web 服务器。

 

 

要是未是在服务器本地开发网站,通常应下相对
URL(当然,除非是凭借于外服务器上的文件)。

1.8 HTML:有含义的号子

HTML 描述的凡网页内容的意义,即语义(semantics)。在 Web 社

区被,语义化 HTML(semantic HTML)指的是那些使用最适用的 HTML
元素进行标记的始末,在标记的进程被并无关注内容显示。

应用语义化 HTML 最着重的几乎单因:

  • 提升而访问性和互操作性
  • 升级查找引擎优化(SEO)的意义。
  • 要是保障代码和长体变得好。
  • (通常)使代码更不见,页面加载重快。

盼就篇稿子是,转来珍藏

第2段 处理网页文件

2.1 规划网站

我们可以同样及来就算径直编写网页,但最好好还是先对网站开展考虑与计划。

计划网站的法子:

  • 规定为什么要创是网站,需要展示什么内容。
  • 考虑网站的访问者。应该怎么调整内容一经之诱这些访问者。
  • 亟待有些只页面,你想网站是怎样的结构,你是可望访问者以某种特定的次第浏览网站,还是愿意访问者可以随便地探究。
  • 以纸上作画出网站组织的草图,确定你于每个页面希望表现的情。与另外的干活不同,这项工作是能指导网站设计的。
  • 否页面、图像及其它外部文件设计一个粗略且同样的命名规则。

2.3 保存网页

保留文件时,需要用文件保留也纯文本格式,并使用.html或.htm作为扩大名。

     即使曾指定了 .html 或 .htm 的扩大名,Windows
上的某些文本编辑器也会在文件名末尾加上默认扩展名。有半点只解决办法:一个凡当首次等保存文件时以文件称包在双引号中,这样会防止添加额外之扩展名;另一个凡吃
Windows 显示文件扩展名,从而得以瞥见程序自动抬高的恢宏名并将该除去。

2.4 指定默认页面或主页

大部情况下,系统会将 index.html
识别为默认页面。如果无index.html,就见面持续查找index.htm、default.htm等文件称。如果访问者输入带目录的URL,但绝非点名文件称,那么即便会见打开默认页面.

在网站极度顶层目录(通常称为彻底目录)中创造的默认页面是网站的主页。当访问者就输入域名而没点名路线信息经常,就会来得是页面。

类地,可以吗网站的其他一个目录(甚至各一个目)创建默认页面。

假设目录中尚无默认页面,有的服务器即会见以引得文件列表显示出(你也许连无欲朝访问者暴露这些内容)。为了防范这种情形的发生,应该当网站每一个饱含
HTML
页面的目下开创一个默认页面。另一样种艺术是修改服务器的布置,将文件列表隐藏起来.

2.6 组织文件

当文书数量变得不可开交怪之前,为网站的重中之重区块创建单独的文本夹,将有关的 HTML
页面在一起。

仗管理

第3章 基本HTML结构

每个 HTML 文档都该包含以下基本成分:

<!DOCTYPE html>

<html lang=”en”>

<head>

       <meta charset=”utf-8″ />

       <title></title>

</head>

<body>

</body>

</html>

3.2 创建页面标题

每个 HTML 页面都须产生一个 title
元素。每个页面的标题都应是简简单单的、描述性的,而且是绝无仅有的。在多数浏览器被,页面标题出现于窗口的题

圈(Chrome是个不等)和浏览器的标签页中.

恐怕更为重要的凡,页面标题会被Google、Bing、DuckDuckGo、Yahoo!
等寻找引擎采用,从而能大体了解页面内容,并以页面标题作为找结果被之链接显示。

总的说来,要吃每个页面的title
是绝无仅有的,从而提升查找引擎结果排名,并被访问者获得更好之体验。

提议将 title 的核心内容放在前 60
单字符(含空格)中,因为找引擎通常将跳这个数据(作为条件)的字符截断。

3.3 创建分级标题

HTML 提供了六级标题用于创造页面信息的层级关系。使用 h1、h2、h3、h4、h5
或h6 元素对各标题进行标记,其中 h1 是最高级别的题,h2 是 h1
的子标题,h3 是 h2 之子标题,以此类推。

出于标题通常传达的凡页面的主题,因此,对找引擎而言,如果标题与搜索词匹配,这些题目就见面吃予以老高之权重.

始建分级标题时,要避免超过了一些级别,如自 h3 直接跨越到
h5。不过,允许打低级别越到大级别之标题。

永不使 h1 ~ h6 标记副标题、标语和无法成为独立标题的子标题。

3.5 创建页眉

只要页面被产生同块包含一组介绍性或导航性内容的区域,应该据此 header
元素对该进行标记。

处页面上或看似这职务的header
可能代表全部页面的页眉(有时称页头)。通常,页眉包括网站标志、主导航和其他均站链接,甚至搜索框。

勿能够当 header 里嵌套 footer 元素或任何一个 header,也未可知在 footer 或
address元素里嵌套header。

3.6 标记导航

意味着主导航链接的区域,而HTML5 则发出这样一个要素,即 nav。

光对文档中重要的链接群使用 nav。

HTML5 规范不引进对辅助性的页脚链接(如“使用条款”、“隐私政策”等)使用
nav。不过,有时页脚会再次展示顶级全局导航,或者隐含“商店位置”、“招聘信息”等主要链接。在多数状况下,我们引进以页脚中的此类链接放入
nav 中。

3.7 标记页面的显要区域

一个页面就生一个组成部分代表该重要内容。可以以这么的情节包在 main 元素中.

main 元素是 HTML5 新长的因素。记住,在一个页面里只有使用相同糟糕。

不能将main放置在article、aside、footer、header 或nav 元素中。

3.8 创建文章

       HTML5的外一个初因素就是是article.

       article
元素表示文档、页面、应用或网站被一个独的器皿,原则达成是可独立分配要只是更用的,就如聚合内容中的诸部分。它可以是一律首论坛帖子、一首杂志要报文章、一首博客条目、一则用户提交的评说、一个交互式的小部件或稍微

工具,或者其他其它独立的情节项。

3.9 定义区块

另外一个 HTML5 的新因素是 section.

section
元素代表文档或采用之一个般的回。在这边,section是拥有相似主题的同等组内容,通常含一个标题。

于语义上说道,section 标记的是页面中的特定区域,而 div 则未传达任何语义。

万一一味是由于添加样式的原委使对准情节补充加一个器皿,应使用div而休是section。

3.10 点名附注栏

      
有时候,页面中产生有情以及本位内容相关性没有那强,但可单独存在. 在
HTML5被,我们来矣 aside 元素.

运用 aside
的事例还连主要援、侧栏、指向相关文章的等同组链接(通常对新闻网站)、广告、nav
元素组(如博客的友情链接), Twitter源、
相关产品列表(通常对电子商务网站),等等。

aside 可以嵌套在根本内容里,也得以置身重点内容外。

要aside
嵌套在页面主要内容外(而非是作为侧栏位于重点内容之外),则中的情节应同那个所于的情细致相关,而非是独与页面整体内容有关。

于与情有关的图像(如图、图形或包含说明文字的插画),使用figure而非
aside。

HTML5未允将aside嵌套在address元素内。

3.11 创建页脚

footer元素代表嵌套它的近年的article、aside、blockquote、body、details、fieldset、figure、nav、section
或 td 元素的页脚。只有当它最近之祖辈是 body 时,它才是成套页面的页脚.

       不能够于 footer 里嵌套 header 或任何一个 footer。同时,也未可知以
footer 嵌套在header 或 address 元素里。

3.12 创建通用容器

奇迹需要在相同截内容外包一个容器,从而可以吧其利用 CSS 样式或 JavaScript
效果。

急需之是一个通用容器,一个了无任何语义含义的器皿。这个容器就是
div(来自 division 一词)元素.

span是同div对应的一个因素:div 是块级内容之无语义容器,而
span则是短语内容之无语义容器.

div 应该当最终一个备用容器,因为它没有其它语义价值。大多数时分,使用
header、footer、main(仅使用相同不好)、article、section、aside 甚至
nav代替div会更合适。但是,如果语义上不对劲,也不用为刻意避免下div而动上述要素。

3.13 使用 ARIA 改良而访问性

WAI-ARIA(Web Accessibility Initiative’s Accessible Rich Internet
Applications,无障碍网页倡议 –
无障碍的富互联网应用,也简称ARIA)是一律种技术标准,自称“有桥作用的技艺”。

ARIA 填 补了 HTML 的语义空白。

ARIA的地标角色好帮忙用户识别页面区域,从而让屏幕阅读器用户可直接跨越到这些区域。通常,对这些区域指定
role 属性就好了。

 

一些可用的地标角色:

  • role=”banner”(横幅):将那补偿加至页面级的 header
    元素,每个页面就所以相同软
  • role=”navigation”(导航): 与 nav 元素是对许提到。应以该补充加到每个
    nav 元素,或其它富含导航性链接的器皿。
  • role=”main”(主体): 与 main 元素是针对性诺涉及。最好将该补充加到 main
    元素,也得以长到任何代表主体内容的素(可能是div)。在每个页面就用同一次
  • role=”complementary”(补充性内容): 与 aside
    元素是本着许提到。应拿其上加至 aside 或 div 元素(前提 是欠 div
    仅包含补充性内容)。
  • role=”contentinfo”(内容信息): 将那个补充加至一切页面的页脚(通常为
    footer 元素)。每个页面就用同样不成

 

采用她可以升官利用辅助装置的用户之体验。出于这个理由,推荐以她。

此外三种植地标角色。对表单元素来说,form 角色是多余的;search
用于标记搜索表单;application则属高级用法。

无须当页面上很多地采取地标角色。过多的地标角色会叫屏幕阅读器用户发不胜其烦,从而降低地标的打算,影响整体验。

足于 CSS 选择器中使用 ARIA 角色属性,从而对利用它的因素添加样式。

3.14 为元素指定项目或ID名称

好为 HTML
元素分配唯一的标识符(ID),或指定其属有(或某个几乎单)类别,也可同时指定标识符和类型。

进而,就足以对具备让定 id 或 class
名称的因素添加样式了(但一般不引进由添加样式的目的采取
id);或者创造指向具有特定 id 的因素的链接;还好动用 JavaScript 获取
id 和 class 属性,从而对素添加特定的作为。

当要素的上马标签中输入id=”name”,其中name 是唯一标识该因素的名称.

以要素的发端标签中输入class=”name”,其中name
是项目的称。如果假定指定多个类型,用空格将不同之花色称号分开就可.

引进应用类为素添加样式。

       HTML 文档中之每个 id
都必是唯一的。换句话说,一个页面里不能够冒出零星个颇具同样 id
的因素,并且每个元素都只好有一个id。相同的id可以起于不同的页面里.

       相反,一个 class
名称可以分配为页面中随心所欲数量的因素,并且一个要素得以生一个以上的class。

当class 和id
名称中,通常以短横线分隔多独单词,例如class=”footer-page”。

动用 id 和 class,都应当为她选择来含义的名号。

3.15 为素添加 title属性

得行使 title 属性为网站上另有加上提示标签.
不过,它们并无特是提醒标签,加上她后屏幕阅读器可以吧用户朗读 title
文本.

每当如补偿加 title 的 HTML 元素中,输入title=”label”,其中label
是访问者将鼠标移到之因素上经常想出现于提示框里的文件,或者想由屏幕看器朗读的文本。

IE7 及前的版本会将 img 元素的 alt 属性作为提示框的文本。不过,如果img
元素同时概括 title 和 alt 属性,则提醒框会采用title 属性的情节

3.16 添加注

好于 HTML
文档中添加注释,标明区块开始与了之职位,提醒自己(或未来之代码编辑者)某段代码的用意,或者阻止内容显示等

在 HTML 文档中希插入注释的位置,输入<!–注释文本–>。

在关键区块的开始和结尾处添加注释是同种普遍的做法,这样可为您要么联合合作的开发人员将来涂改代码变得尤其便于。

诠释不能够嵌套在其余注释里。

因以及确保管理库

第4章 文本

4.1 添加段落

HTML
会忽略你当文本编辑器中输入的回车符和其他额外的空格。要于网页中开始一个初的段子,应该用
p 元素

4.2 指定细则

据悉 HTML5,small 代表细则同近似的旁注(side
comment),“通常包括免责声明、注意事项、法律限制、版权信息相当。有时我们还好据此她来表示签约,或者饱许可要求。”

small 通常是行内文本中之同一聊片。

而是,small 只适用于短语,因此不要为此其标志长的律声明,如“使用条款”
和“隐私政策”页面。表示内容的主脑。

4.3 标记重要和强调的文件

strong 元素表示内容的重点,而 em 则表示内容的基本点。

浏览器通常将 strong 文本为粗体显示,而以 em 文本为斜体显示。

永不以 b 元素代替 strong,也毫无使 i 元素代替
em。尽管它于浏览器中显得的体是相同的,但它们的意义却甚不同等。

好以标记为 strong 的短语中再次嵌套 strong
文本。如果如此做,作为其他一个strong 的子元素的 strong
文本的根本程度会递增。这种规则对嵌套在旁一个em 里的em 文本也适用。

于HTML5 中,em 是象征强调的唯一元素,而strong 表示的尽管是重中之重程度。

传统出版业里之少数排版规则以存活的 HTML
语义中尚找不顶对应物,其中虽连用斜体表示植物学名、具体的通畅器名称及外来语。这些词语不是以强调使长斜体的,只是样式上之老规矩。

em 用于所有层次的强调,strong 用于表示要,而另情形则采取b 和 i。

HTML5拿b 重新定义也:

b
元素表示是因为实用目的提醒读者注意的一致片文字,不传达任何附加的关键,也不表示其余的语态和文章,用于如文档摘要里之重中之重词、评论中的产品名、基于文本的交互式软件中指示操作的文字、文章导语等。

HTML5用i 重新定义也:

i元素表示同样块不同为其它文字的文,具有不同之语态或文章,或另不同为正规的远在,用于如分类名、技术术语、外语里之惯用语、翻译的散文、西方文字中之船舶称等。

4.4 创建图

figure
和figcaption,图可以是图形、照片、图形、插图、代码有,以及任何类之独内容。

得由页面上的其余情节引出figure。figcaption 是figure
的题,可卜,出现于 figure 内容之始发或结尾处。

figure 元素可以蕴涵多只内容块。不过如果记住,不管 figure
里生微内容,只允许生一个figcaption。

不过卜的figcaption必须跟其余情节并包含在 figure
里面,不能够独出现在其余岗位。

4.5 指明引用或参阅

利用 cite
元素可以指明对某个内容源的援或参照。例如,戏剧、脚本或图书的题目,歌曲、电影、照片还是雕塑的称,演唱会或者音乐会,规范、报纸或法律文书等。

对于如于引用来源中引用内容的情事,使用 blockquote 或 q
元素标记引述的文书。要为明白的凡,cite
只用于参考源本身,而休是从中引述的情节。

HTML5 声明,不答应利用 cite 作为针对姓名的援。

4.6 引述文本

有少单新鲜的因素用以标记引述的文书。blockquote元素表示单独在的援(通常还丰富,但为或无是),而
q 元素则用于短的援。

基于需要,blockquote 可长可短。可以蕴涵 cite 属性提供引述文本的位置。

浏览器应针对 q
元素中的文书自动抬高一定语言的引号,但不同浏览器的作用并不相同。

浏览器默认对blockquote文本进行缩进,cite 属性的价值则不会见显示出来。

使引述内容的语言及页面默认语言(通过 html 元素的 lang
属性指定)不同,输入 lang=”xx”,其中xx 是援内容语言的少数个假名之代码。

鉴于 q 元素的过浏览器问题,很多(可能是多数)开发人员避免下 q
元素,而是精选直接输入正确的引号或采用字符实体。

4.7 指定时间

俺们好利用time元素标记时间、日期或时刻段,这是HTML5新增加的要素。

要疏忽 datetime 属性,文本内容即必是合法的日子或时刻格式。

切莫可知以 time 元素中嵌套另一个 time元素,也非克于未曾 datetime 属性的 time
元素中隐含其他因素(只能分包文本)。

datetime 属性(或者无 datetime 属性的 time
元素)必须提供特定的机械而读格式的日期及时空。这可以简化为底的形式:YYYY-MM-DDThh:mm:ss

倘要代表时间段,则格式稍有两样。有好几种植语法,不过最好简单易行的款式吗:nh
nm ns(其中,三只n 分别代表小时数、分钟数及秒数。)

公吧足以将日期以及岁月表示为世界经常。在最终加上字母 Z,就改为了
UTC(Coordinated Universal
Time,全球标准日)。也足以经过相对UTC时不同之艺术表示时间。这时不写字母Z,写上–(减)或+(加)及时差即可。

4.8 解释缩写词

足运用 abbr 元素标记缩写词并解释其义。不必对每个缩写词都以
abbr,只以得援助访问者了解该词含义的时段下。

行使可选取的 title
属性提供缩写词之齐。另外,也足以拿均称位于缩写词后面的括号里(这样做或又好)

一般说来,仅于缩写词第一不行面世在屏幕上经常叫闹那全称(通过title或括号的法)。

当对用户的视觉唤起,Firefox
和Opera等浏览器会对带title的abbr文字使用虚线下划线。想以其余浏览器被为这样显示,可以以体制表中加上这条告句子:abbr[title]{border-bottom:
1px dotted #000;}。

若看不到 abbr 有虚线下划线,试着吧那父元素的 CSS 添加 line-height
属性。

4.9 定义术语

每当印物中,首糟糕定义术语通常会指向那补偿加区分为外文件的格式(英文通常为斜体,汉语日常也黑体或者楷体)。

当 HTML 中定义术语时,可以应用 dfn元素对那发语义上的分别。仅用 dfn
包围要定义的术语,而未是包定义。

dfn 元素及其定义必须挨在共。

若是在dfn中上加而摘的title属性,其值应跟 dfn 术语一致。

4.10 创建上标和下标

输入 <sub> 创建下标,或输入 <sup>创建上标。

4.11 添加作者联系信息

address 元素是用来定义及HTML
页面或页面一部分(如一篇报告还是新文章)有关的撰稿人、相关人士或者集体的关系信息,通常在页面底部或系部分内

假如只要也一个 article
提供作者联系信息,就将光标放在该元素内。如果如供全方位页面的撰稿人联系信息,就将光标放在
body 中(更广泛的做法是坐落页面级的 footer 里)。

此外,HTML5 禁止在 address 里含有以下因素:h1 ~
h6、article、address、aside、footer、header、hgroup、nav 和section。

4.12 标注编辑和不再纯粹之文书

起有限栽用于标注编辑的因素:代表添加内容之 ins 元素和标志已抹内容之 del
元素。

再者,s 元素用以标注不再纯粹或不再相关的情(一般不用于标注编辑内容)。

del 和 ins 是罕见的既可包短语内容(HTML5
之前称“行内元素”)又足以包块级内容的元素。

4.13 标记代码

若您的情节涵盖代码示例或文件称,就 可 以 使 用 code 元 素。

code 元素表示其中的公文是代码或文件称。如果你的代码用出示 < 或
>,应分别以 < 和 >。

code 元素的文本其默认字体为等丰厚字体。

 

其他计算机有关要素:kbd、samp 和var:

使kbd 标记用户输入指令。

samp 元素用于指示程序要体系的示范输出。

var 元素表示变量或占位符的值。

可以以HTML5页面被动用math 等MathML 元素表示高级的数学相关的记。

4.14 使用预格式化的文件

习以为常,浏览器会将装有额外的回车和空格压缩,并冲窗口的高低活动换行。预格式化的文书可以保文本固有的换行和空格。

<pre>预格式化的文书通常以当方便字体显示。

假若要展示包含 HTML 元素的情(如教程被之代码示例),应以包元素名称的
< 和 > 分别改也夫对应之字符实体 <和 &gt。

4.15 突出展示文本

无论是何时使用 mark,该因素总是用于提起读者对一定文本片段的令人瞩目。

本着 mark 原生支持的浏览器将针对拖欠因素的文字默认加上黄色背景。

由 mark 是 HTML5
的初因素,因此旧的浏览器不会见默认加上黄色背景。可以于体制表中加上 mark 
{  background-color: yellow; } 让这些浏览器实现均等的效益。

4.16 创建换行

当得换行的地方输入 <br />(或<br>)。

4.17 创建 span

暨div一样,
span元素是从未有过其它语义的。不同的凡,span只抱包围字词或短语内容,而 div
适合包含块级内容。

运用到某一样多少片内容,而 HTML 又尚未供方便的语义化元素,就足以运用span。

4.18 其他因素

通常只是以极少数场面下才见面用到,或者浏览器对其的支持还未圆满(或兼职而来之):

  • u
    元素为平块文字添加明显的非文本注解,比如以汉语言中将文本标为专有名词(即中文的专名号①),或者标明文本拼写有无意。

特于 cite、em、mark 等任何因素语义上不恰当的景象下利用 u 元素。

浏览器默认为 u 元素添加下划线。

  • wbr可以于一个比较丰富之甭管间断短语(如
    URL)中采用该因素,表示此可以于必要之时光进行换行

输入 wbr 时,既可以用 <wbr />,也得以据此 <wbr>。

  • 旁注标记通常用于表示生僻字的失声。这些多少之诠释字符出现在其标注的字符的上或右手。

ruby 元素以及它的子元素 rt 和 rp 是HTML5 中也情上加旁注标记的体制。

  • 若你的 HTML
    页面中混杂了起左到右书写的字符和自右边至左书写的字符,就可能要因此到bdi
    和bdo 元素。

只有在 html 元素中上加 dir
属性并以属于性值设为rtl,否则内容之准绳方向都默认为于错误至右。

倘若用bdo (bidirectional override,双向重载)必须含有 dir
属性并将属于性值设为ltr(由左到右)或rtl(由右至左),指定你望表现的主旋律。bdo
适用于段落里之短语或句子。不克因此它包围多只段子。

bdi 元素是 HTML5
中新加底因素,用于内容之动向未知之状。不必包含dir属性,因为默认已使为活动判断。

  • 可以用 meter
    元素表示分数的值或已经清楚范围的测结果。简单地游说,它表示的是投票结果(如“30%
    Smith,37% Garcia,33% Hawkins”)、已售票数(如“共 850
    张,已售811张” )、考试分数(如“百分制的90瓜分”)、磁盘使用量(如“256
    GB 中的 74 GB”)等测量数据。

HTML5 建议(并非强制)浏览器在展现meter
时,在一侧显示一个像样温度计的图——一个意味测量值的横条,测量值的颜色跟极端要命价值的颜料有所区别(相等除外)。作为当前个别几乎只支持
meter 的浏览器,Firefox正是这么显示的。

E9 不支持 meter,它见面拿 meter
元素里之公文内容展示出来,而无是显示一个绚丽多彩的横条。

meter 不提供定义好之单位,但可运用title 属性指定单位。

meter 支持某些单特性。value 是中唯一必需要蕴涵的性能。如果无指定
min(最小值)和 max(最可怜价值),则默认将她分别要为 0 和 1.0。

Internet Explorer、移动Safari(用于 iOS 设备)和 Android
浏览器还不支持该因素。

支持 meter 的差浏览器显示测量值图形的体可能发差别。

meter 并无用于标记没有限定的日常测量值,如高度、宽度、距离、周长等。

  • progress 元素也是 HTML5 的新因素,它指示某起职责之形成进度。

支撑 progress 的浏览器会冲属性值自动显示一个进度长。

以吃原的浏览器也克呈现进度,最好以 progress 中隐含反映当前速度的文本。

大部桌面浏览器的新式版本都支持 progress 元素。IE9 及前面的本、移动
Safari 和 Android 浏览器还免支持该因素。

  • Composer/Packagist:一个包跟倚重管理器
  • Composer
    Installers:一个多框架Composer库安装器
  • Pickle:一个PHP扩展安装器

第5章 图像

尽管 Web
图像和可打印图像的中坚属性是同一的,但其当格式、下载速度、颜色、大小(尺寸)、透明度和卡通等六只举足轻重方面产生部分界别。

5.1 关于 Web图像

时,Web 上就此的卓绝广大的老三种格式是 GIF、PNG 和 JPEG。

JPEG
格式适用于彩色照片,它含有大量底水彩并拓展了合理的减少,保存的文书相对较小,下载速度就见面更换快。

JPEG 是平等种植起误的格式,注意,对JPEG
进行割除压缩无法恢复图像先前丢失的细节。

PNG 和 GIF
是无害的格式,因此使用当下半种格式对图像进行削减时未见面招人之损失。

PNG 和
GIF均支持透明,它们重新适用于保存非照片类的图像。通常,拥有大片纯色的图像,如标识、重复的图案、插图和图像文字等都符合利用就有限栽格式。

除非在缩减造成的质地损失不足忽略的情景下才使PNG 保存照片。

对此 PNG 和 GIF,应先选项
PNG,因为她对透明度的支持再次好,压缩算法也再好,产生的文件还小。

外一样栽图像格式,名也
WebP。这种格式既支持有损压缩也支持无损压缩,它来的文件大小也大为低于
JPEG和 PNG。跟 PNG 一样,它还支持 alpha
透明。完全支持这种格式的浏览器还仅仅限于Chrome、Opera
12+和有些Android浏览器。

 

图像尺寸越怪,文件就进一步充分,网页加载它的流年虽越长。选择图像尺寸是一个挑选的过程。

理所当然,图像的尺寸也在于该用途。图标通常十分粗,标识稍深有,照片则好得差不多。

打印出来的图像通常比较显示器上看看底要多少有。打印机的各英寸点数(dpi)通常较显示器的诸英寸像素数(ppi)要多。

以GIF格式中,一个像素要么是晶莹剔透底,要么是勿透明的。这如作索引色透明(index
transparency)。而PNG则既支持索引色透明,又支持alpha透明(alpha
transparency)。alpha
透明可以决定一个诸如从透明的程度。也就是说,一个像素可以有透明。

总的说来,对于透明图像,应利用 PNG-8 或PNG-32。后者允许用超过 256 栽颜色。

动画片可以保存也 GIF。

5.5 在页面被插图像

图像加载时间以及访问者的网络连接强度、图像尺寸,以及页面中蕴含的图像个数相关。

5.6 提供代文本

用 alt
属性,可以呢图像添加相同段子描述性文本,当图像出于某种原因不亮的早晚,就拿即时段文字显示出来。屏幕阅读器可以朗读这些文件,帮助视障访问者理解图像的情。

比方图像是页面设计之一律有些,而无是内容的一致有,则承诺利用 CSS
background-image属性引入该图像,而不是运用img标记。

5.7 指定图像尺寸

当HTML中指定图像尺寸

采取“在浏览器被查图像尺寸”或“在 Photoshop
中查阅图像尺寸”,确定图像的尺寸。 

在 img 标签中,src 属性的后,输入 width=”x”
height=”y”,以像素为单位指定x 和y(分别表示图像的宽度与惊人)的值。

常备咱们见面在 HTML 中明确指定图像的可观与宽窄,但来一样栽状况咱应忽视
width 和 height 属性,即展示响应式图像的情

width 和 height 属性不必然要反映图像的骨子里尺寸。

5.8 在浏览器被改变图像的尺码

经过为图像指定新的可观和幅度(以像素为单位),可以变更图像展示的尺寸

因此 width 和 height
属性改变图像展示在网页中的高低,文件本身并未改观,通常用这种办法缩小的图像总是比其实是尺寸的图像加载得还缓慢。较好的做法是下图像编辑器改变图像的尺码。

5.9   当图像编辑器中改变图像的尺寸

运用图像编辑器既而放图像,也不过缩小图像。但是图像放大后质量一般会转换差,看起颇显著。此外,放大图像还会见追加图像文件之大大小小,导致页面加载时间变长。

 减小图像尺寸的外一个吓点子是将图像及无需要的区域裁剪掉。

5.10 为网站上加图标

俺们于浏览器选项卡、历史记录、书签页、收藏夹和地方栏中见到的(与网站相关)的有点图标称为
favicon,这个词是 favorites 
icon(收藏夹图标)的简称。我们创建的图标至少应当也 16×16。

否网站上加图标:

创一个 16×16 的图像,并保留也ICO 格式,文件称也
favicon.ico,作为可卜步骤,为 Retina 显示屏创建一个 32×32 的图像。ICO
文件允许在和一个文本中含有多独不同尺寸的同名文件。

(推荐)为触屏设备至少创建一个图像,并保留也PNG格式。如果只开创了一个,将那取名为
apple-touch-icon.png。

以图标图像在网站的到底目录里。浏览器会自动在干净目录寻找这些特定的文件称,找到后就用图标显示出。

 

 

第六章 连接

链接有零星个第一的局部:目标与标签。

以对象(destination)可以指定访问者点击链接时会发生啊。可以创建链接进入外一个页面,在页面内跳转,显示图像,下载文件,呼叫电话,等等。不过,最常见的是连接至其他网页的链接,其次是连续至另外网页特定岗位(称为锚,anchor)的链接。目标是由此编制
URL 定义的,通常只能以(桌面)浏览器的状态栏中看到。

链接的老二个组成部分是签(label),即访问者在浏览器中见到要当屏幕看器中听到的一些。激活标签就是可以抵达链接的靶子。

6.1 创建指向任何一个网页的链接

a 元素是创造链接的要。

  1. 开创指向任何一个网页的链接

 

  1. HTML 块级链接

HTML5
几乎允许以链接内含有其他类型的要素或元素组。例如段落、列表、整篇文章和节——几乎任何因素还尽(但其余链接、音频、视频、表单元素、iframe等交互式内容除了),这些元素大部分乎块级元素。

无须过于使用块级链接。应该避免用平充分段内容以一个链接包起来。尽管这样的链接是可行之
HTML5.因此,最好不过以同链接的义密切相关的情在链接里。

假若您想为片级链接添加背景、边框、外边距、内边距等体制,需要在样式表中呢链接设置
display:  block。

6.2 创建锚并链接到锚

便,激活一个链接会将用户带来及相应网页的头。如果假定惦记用户超过至网页的一定区域,可以创建一个锚,并以链接中引用该锚。

缔造锚的步子:在想用户跳转至之素的开始标签里。输入id=”anchor-name”。

创建链接到特定锚的链接:输入<a
href=”#anchor-name”>,其中anchor-name 是目标的id 属性值。

每个以#开头的链接href值都指向拥有相应id(不包含#)的元素。

假如锚位于外一个文档,就以 <a href =”page.html#anchor-name”> 引
用 该区域。(在 URL 和 # 之间从来不空格。)

6.3 创建其他项目的链接

永不只能创造指向任何网页的链接,其实可以创建指向任何URL的链接——RSS源、图像、希望访问者可以下载的文书、电子邮件地址、电话号码等。

对此因为万维网上另外文件(包括图像、ZIP文件、程序、PDF
及另等)的链接,输入
http://www.site.com/dir/file.ext,其中www.site.com
是主机名称,dir/file.ext
是目标文件的门径。后者包括了文件目录和文件称(以及扩大名)。

于电子邮件地址,输入mailto:name@domain.com。

对于电话号码,输入tel:+并跟国家代码和电话号码(所有的号子中都无须包含短横线)。

提议不要使用对电子邮件地址的链接,因为垃圾邮件机器人会起网页上采集这些地方并通往那发送垃圾邮件。

尽 管 可 以 链 接 到 PDF 和 其 他 非HTML 文档(Word、Excel
等),但承诺尽可能避免这样做。相反,应链接到带有关于信息的 HTML 页面。

 

其他的依赖性管理

其它的连锁依赖管理

  • Satis:一个静态Composer存储库生成器
  • Composition:一个于运行时检查Composer环境的仓库
  • Version:语义版本的剖析和比较库
  • NameSpacer -转化下划线到命名空间的库
  • Patch
    Installer -使用Composer安装补丁的库房
  • Composer
    Checker -校验Composer配置的工具

 

框架

Web开发框架

  • Symfony2 -一个独门组件组成的框架
  • Zend Framework
    2 -另一个是因为单独组件组成的框架
  • Laravel 4 -另一个PHP框架
  • Aura PHP -独立组件的框架
  • Yii2 – 另一个PHP框架
  • Nette – 另一个是因为个体组件组成的框架
  • PPI Framework 2 -一个互操作性框架
  • Phalcon -通过C扩展实现的框架

 

另框架

旁Web开发框架

  • Symfony
    CMF – 创建于定义CMS的情管理框架
  • Knp RAD Bundle -Symfony
    2的很快应用程序(RAD)包

 

框架组件

根源web开发框架的单身组件

  • Symfony2
    Components -Symfony2组件
  • Zend Framework 2
    Components -ZF2组件
  • Aura Components -PHP5.4组件包
  • Hoa Project -另一个PHP组件包

 

袖珍框架

袖珍框架和路由

  • Silex – 基于Symfony2组件的微型框架
  • Slim – 另一个简易的小型框架
  • Bullet PHP -用于构建REST APIs的袖珍框架
  • Fast Route – 快速路由于库
  • Pux -另一个很快路由于库

 

外小型框架

另有关的微型框架和路由

  • Silex
    Skeleton -Silex的品类架构
  • Silex Web
    Profiler -Silex
    web调试工具修
  • Stack – Silex/Symfony的可堆叠中间件库
  • Slim Skeleton -Slim架构
  • Slim
    View -Slim的自定义视图集合
  • Slim
    Middleware -Slim的自定义中间件集合

 

模板

模板化和词法分析的库和工具

  • Twig -一个健全的沙盘语言
  • Twig Cache
    Extension -一个用以Twig的模板片段缓存库
  • Mustache -一个Mustache模板语言的PHP实现
  • Phly
    Mustache -另一个Mustache模板语言的PHP实现
  • MtHaml – 一个HAML 模板语言的PHP实现
  • PHPTAL -一个 TAL 模板语言的PHP实现
  • Plates -一个本生PHP模板库
  • Lex -一个轻量级模板解析器

 

静态站点生成器

先期处理工具来生成web页面的情节。

  • Sculpin -转换Markdown和Twig为静态HTML的工具
  • Phrozn – 另一个换Textile,Markdown和Twig为HTML的工具

 

HTTP

用来HTTP和网站爬取的库房

  • Guzzle -一个到的HTTP客户端
  • Buzz -另一个HTTP客户端
  • Requests -一个简便的HTTP库
  • HTTPFul -一个链式HTTP库
  • Goutte -一个概括的web爬取器
  • PHP VCR -录制和重放HTTP请求的仓库

 

URL

解析URL的库

  • Purl -一个URL处理库
  • PHP Domain
    Parser -一个本地前缀解析库

 

Email

出殡和剖析邮件的堆栈

  • SwiftMailer – 一个邮件解决方案
  • PHPMailer – 另一个邮件解决方案
  • Fetch -一个IMAP库
  • Email Reply
    Parser -一个邮件回复解析库
  • Stampie -邮件服务库,不如 SendGrid, PostMark, MailGun 和 Mandrill.
  • CssToInlineStyles -一个以邮件模板内联CSS的库房

 

文件

文件处理和MIME类型检测库

  • Gaufrette -一个文件系统抽象层
  • Flysystem – 另一个文件系统抽象层
  • Canal -一个检测互联网媒体类型的堆栈
  • Apache MIME
    Types -一个解析Apache
    MIME类型的仓库
  • Ferret – 一个MIME检测库
  • Hoa Mime -另一个MIME检测库
  • Lurker -一个资源跟踪库
  • PHP File
    Locator -一个当大型项目定位文件之堆栈
  • PHP
    FFmpeg -一个用来FFmpeg 视频包装的库.
  • CSV – 一个CSV数据处理库

 

Streams 流

处理流的库房

  • Streamer – 一个面向对象的流包装库

 

Dependency Injection依赖注入

落实依靠注入设计模式的库

  • Pimple – 一个不怎么之仗注入容器
  • Auryn – 另一个借助注入容器
  • Orno Di -另一个不过伸缩的赖注入容器
  • PHP
    DI -一个应用注释实现之倚重注入
  • Acclimate -一个因注入容器与服务一定的通用接口

 

Imagery 图像

拍卖图像的库

  • Imagine -一个图像处理库
  • PHP Image
    Workshop -另一个图像处理库
  • Intervention
    Image -另一个图像处理库
  • GIF Frame
    Extractor -一个领取GIF动画帧信息之库
  • GIF
    Creator – 一个经多摆图创建GIF动画的仓库
  • Image With
    Text -一个每当图像被置文本的库房
  • Color
    Extractor -一个自图像遭到提取颜色之库

 

Testing 测试

测试代码和变化测试数据的堆栈

  • PHPUnit -一个单元测试框架
  • DBUnit -PHPUnit的数据库测试库
  • ParaTest – PHPUnit的互测试库
  • PHPSpec -基于功能点计划之单元测试库
  • Codeception -一个全栈测试框架
  • AspectMock –  PHPUnit/
    Codeception 模拟框架。
  • Atoum -一个概括的测试库
  • Mockery -一个所以测试的模拟目标库
  • Phake -另一个用测试的学目标库
  • Prophecy -一个只是选度很高之拟框架
  • Faker -一个野鸡数据生成库
  • Samsui – 另一个地下数据生成库
  • Alice -富有表现力的一代库
  • Behat -一个行令开发(BDD)测试框架
  • Pho -一个作为使得开发测试框架
  • Mink -Web验收测试
  • HTTP
    Mock – 一个以单元测试模拟HTTP请求的堆栈
  • VFS
    Stream -一个用来测试的杜撰文件系统流的包装器
  • VFS -另一个用来测试虚拟文件系统
  • Locust -一个为此Python编写的当代加载测试库

 

Continuous Integration 持续集成

随地集成的堆栈以及运

  • Travis CI – 一个相接集成平台
  • PHPCI -一个PHP的开源持续集成平台
  • Sismo – 一个不止测试服务库
  • Jenkins一个 PHP
    支持的不停集成平台
  • JoliCi – 一个于是PHP编写的由于Docker支持之连集成客户端

 

Documentation 文档

变迁项目文档的堆栈

  • Sami -一个API文档生成器
  • APIGen -另一个API文档生成器
  • PHP Documentor
    2 -一个API文档生成器
  • phpDox – 一个PHP项目的文档生成器(不限于API文档)

 

Security 安全

转变安全的任性数,加密数,扫描漏洞的仓库

  • HTML
    Purifier -一个匹标准的HTML过滤器
  • RandomLib -一个生成随机数和字符串的堆栈
  • True
    Random -使用 www.random.org转随机数之库
  • SecurityMultiTool -一个PHP安全库
  • PHPSecLib -一个纯PHP安全通信库
  • TCrypto -一个简便的键值加密存储库
  • PHP IDS – 一个结构化的PHP安全层
  • PHP
    SSH -一个测验的面向对象的SSH包装库
  • IniScan -一个扫描PHP
    INI文件安全的仓库
  • SensioLabs Security
    Check -一个也检查Composer依赖提供安全建议之web工具
  • Zed – 一个集成的web应用渗透测试工具

 

Passwords 密码

拍卖以及仓储密码的堆栈与工具

  • Password
    Compat -一个新的PHP5.5密码函数的兼容库
  • phpass – 一个虽携式的密码哈希框架
  • PHP Password
    Lib -一个变化和校验密码的库
  • Password
    Policy – 一个PHP和JavaScript的密码策略库
  • Password
    Validator – 校验和晋升密码哈希的仓库
  • Zxcvbn PHP -一个基于Zxcvbn
    JS的求实的PHP密码强度估计库

 

Code Analysis 代码分析

分析,解析和处理代码库的库底工具

  • PHP
    Parser -一个PHP编写的PHP解析器
  • PHPPHP – 一个PHP实现的PHP虚拟机
  • PHPSandbox -一个PHP沙盒环境
  • Dissect -一个词法和语法分析的工具集
  • PHP Mess
    Detector -一个围观代码缺陷,次优代码,未用的参数等等的仓库。
  • PHP Code
    Sniffer -一个检测PHP、CSS和JS代码标准冲突之堆栈
  • PHPCPD – 一个检测复制和糊代码的库
  • PHP
    Analyser -一个剖析PHP代码查找症结以及不当的仓库
  • PHP CS
    Fixer – 一个编码标准库
  • PHP
    Manipulator -一个解析及改PHP源代码的堆栈
  • PHP
    Metrics -一个静态测量库
  • PHP Refactoring
    Browser -一个再次构PHP代码的指令行工具集
  • UBench – 一个大概的微型基准检测库
  • Athletic -一个基于注释的尺度检测库
  • Mondrian – 使用以图论的代码分析工具
  • Scrutinizer -一个审核PHP代码的web工具
  • PHPLOC -一个高效测量PHP项目大小的家伙
  • xHprof -另一个PHP分析工具
  • PHPCheckstyle -一个相助遵守一定的编码惯例的家伙。

 

Debugging 调试

调剂代码的库和工具

  • xDebug -一个调节以及剖析PHP的家伙
  • PHP Debug Bar – 一个调剂工具栏
  • PHP
    Console -一个web调试控制台
  • Barbushin PHP
    Console -另一个运用Google
    Chrome的web调试控制台
  • PHPDBG – 一个互的PHP调试器
  • Tracy -一个概括的不当检测,写日记与时间测量库

 

Build Tools 构建工具

列构建与自动化工具

  • Go -一个略的PHP构建工具
  • Bob – 一个简单的花色自动化工具
  • Phake -一个PHP克隆库
  • Box – 一个构建PHAR文件的工具
  • Phing -一个灵感来源于Apache
    Ant的PHP项目构建系统

 

Task Runners 任务运行器

自动运行任务之堆栈

  • Task -一个灵感来源Grunt和Gulp的纯PHP任务运行器
  • Robo -一个面向对象配置的PHP任务运行器
  • Bldr -一个构建以Symfony组件上之PHP任务运行器

 

Navigation导航

构建导航结构的工具

  • KnpMenu – 一个菜单库
  • Cartographer -一个站点地图生成库

 

Asset Management 资源管理

管住,压缩和太小化web站点资源的工具

  • Assetic – 一个资源管理之管道库
  • Pipe -另一个资源管理之管道库
  • Munee -一个资源优化库
  • JShrink -一个JavaScript最小化库
  • Puli – 一个检测资源绝对路径的库房

 

Geolocation 地理位置

为地理编码地址及利用纬度经度的库房。

  • GeoCoder -一个地理编码库
  • GeoTools -一个地理工具系的库
  • PHPGeo -一个略的地理库
  • GeoJSON -一个地理JSON的落实

 

Date and Time 日期和岁月

处理日期与时的库房

  • Carbon – 一个简易的日期时API扩展
  • ExpressiveDate -另一个日子时API扩展
  • CalendR – 一个日历管理库

 

Event 事件

光阴让或非阻塞事件循环实现之库

  • React -一个事件驱动的非阻塞I/O库
  • Rx.PHP – 一个reactive扩展库
  • Ratchet – 一个web套接字库
  • Hoa
    WebSocket -另一个web效接字库
  • Hoa
    EventSource -一个轩然大波源库
  • Evenement -一个事件分发库
  • FuelPHP Event -另一个事变分发库

 

Logging 日志

转变和拍卖日志文件之库

  • Monolog – 一个两全的日志工具
  • KLogger -一个易用的PSR-3兼容的日志类

 

E-commerce 电子商务

拍卖支付与构建在线电子商务企业的仓库和运

  • OmniPay -一个框架混合了大半网关支付处理的堆栈
  • Payum – 一个开支抽象库
  • Sylius – 一个开源之电子商务解决方案
  • Thelia -另一个开源之电子商务解决方案
  • Money – 一个Fowler金钱模式之PHP实现
  • Sebastian
    Money -另一个处理货币值的堆栈
  • Swap -一个汇率库

 

PDF

处理PDF文件之库房以及软件

  • Snappy -一个PDF和图像生成器库
  • WKHTMLToPDF -一个将HTML转换为PDF的工具

 

Database 数据库

下对象关系映射(ORM)或数量映射技术的数据库交互库

  • Doctrine -一个完善的DBAL和ORM
  • Doctrine
    Extensions -一个Doctrine行为扩展的集聚
  • Propel – 一个迅速的ORM,迁移库和查询构架器
  • Eloquent -Laravel 4 ORM
  • Baum -一个Eloquent的嵌套集实现
  • Spot2 -一个MySQL的ORM映射器
  • RedBean -一个轻量级,低配置的ORM
  • Pomm -一个PostgreSQL对象模型管理器
  • ProxyManager -一个为多少映射生成代理对象的工具集

 

Migrations 迁移

拉管理数据库模式与迁移的库房

  • PHPMig -另一个搬管理库
  • Phinx – 另一个数据库迁移管理库
  • Migrations -一个迁管理库
  • Doctrine
    Migrations -一个Doctrine迁移库

 

NoSQL

拍卖NoSQL后端平的堆栈

  • MongoQB -一个MongoDB查询构建库
  • Monga -一个MongoDB抽象库
  • Predis – 一个成效一体化的Redis库

 

Queue 队列

处理事件和天职队列的堆栈

  • Pheanstalk -一个Beanstalkd 客户端库
  • PHP AMQP -一个纯PHP
    AMQP库
  • Thumper – 一个RabbitMQ模式库
  • Bernard -一个基本上晚端抽象库

 

Search 搜索

于数据上索引和履行查询的仓库和软件

  • ElasticSearch
    PHP -ElasticSearch的法定客户端库
  • Elastica -ElasticSearch的客户端库
  • Solarium -Solr的客户端库
  • SphinxQL query
    builder -Sphinx搜索引擎的底查询库

 

Command Line 命令行

构建命令行工具的库房

  • Boris – 一个微型PHP REPL
  • PsySH – 另一个袖珍PHP REPL
  • Pecan -一个事件驱动和非阻塞内核
  • GetOpt – 一个发令执行选解析器
  • OptParse -另一个下令执行选解析器
  • Commando -另一个简约的指令执行选解析器
  • GetOptionKit -另一个命执行选解析器
  • Cron
    Expression -计算cron运行日期的库房
  • ShellWrap -一个大概的一声令下行包装库
  • Hoa Console -另一个命令行库
  • Shunt – 一个在多玉远程机器及相互运行命令行的仓库
  • Cilex -一个构建命令行工具的袖珍框架

 

Authentication 身份验证

实现身份验证的堆栈

  • Sentry -一个混合的身份验证和授权的框架库
  • Sentry
    Social -一个应酬网络身份验证库
  • Opauth -一个大抵渠道的身份验证框架
  • OAuth2 -一个OAuth2身份验证服务,资源服务器和客户端库
  • OAuth2
    Server -另一个OAuth2服务器实现
  • PHP
    oAuthLib -另一个OAuth库
  • TwitterOAuth -一个Twitter
    OAuth库
  • TwitterSDK -一个净测试的Twitter
    SDK
  • Hawk -一个Hawk
    HTTP身份认证库
  • HybridAuth -一个开源的张罗登陆库

 

Markup 标记

处理标记的库房

  • Decoda -一个轻量级标记解析库
  • PHP
    Markdown -一个Markdown解析器
  • CommonMark
    PHP -一个对 CommonMark
    spec净支持的Markdown解析器
  • Dflydev
    Markdown -另一个Markdown解析器
  • Parsedown -另一个Markdown解析器
  • Ciconia – 另一个支撑Github
    Markdown风格的Markdown解析器
  • Cebe
    Markdown -一个飞速的不过扩大的Markdown解析器
  • HTML5
    PHP – 一个HTML5剖析及班化库

 

Strings 字符串

浅析及处理字符串的堆栈

  • ANSI to
    HTML5 -ANSI到HTML5的转化库
  • Patchwork
    UTF-8 -一个处理UTF-8字符串的便携库
  • Hoa
    String -另一个UTF-8配符串库
  • Stringy -一个多字节支持之字符串处理库
  • Color
    Jizz -处理同换颜色的堆栈
  • UUID – 生成UUIDs的库
  • Slugify -转换字符串到slug的仓库
  • Urlify – 一个Django的
    URLify.jsPHP通道
  • Text – 一个文本处理库
  • SQL
    Formatter -一个格式化SQL语句之堆栈
  • UA
    Parser – 一个剖析用户代理字符串的库

 

Numbers 数字

拍卖数字的库房

  • Numbers PHP -处理数字之堆栈
  • Math -处理非常数字之库
  • ByteUnits – 于二进制和胸怀系统遭到剖析,格式化和更换字节单元的库
  • PHP Units of
    Measure -一个计量单位转换的库房
  • PHP
    Conversion – 另一个计量单位转换的仓库
  • LibPhoneNumber for
    PHP -Google电话号码处理的PHP实现库

 

Filtering and Validation 过滤和说明

过滤与认证数据的仓库

  • Filterus – 一个简的PHP过滤库
  • Respect
    Validate -一个略的验证库
  • Valitron -另一个验证库
  • Upload – 一个甩卖公事及污染和说明的库房
  • DMS Filter – 一个诠释过滤库
  • MetaYaml -一个支持YAML,JSON和XML的模式验证库
  • ISO-codes -验证各种ISO和ZIP编码的仓库(IBAN,
    SWIFT/BIC, BBAN, VAT, SSN, UKNIN)

 

 REST和API

开发REST-ful API的库和web工具

  • Apigility -一个运Zend
    Framework 2构建的API构建器
  • Hateoas -一个HOATEOAS REST
    web服务库
  • HAL -一个超文本利用语言(HAL)构建库
  • Negotiation -一个情节协商库
  • Drest -一个将Doctrine实体暴露也REST资源节点的仓库
  • Restler -一个拿PHP方法暴露吗RESTful
    web API的轻量级框架

 

Caching 缓存

缓存数据的仓库

  • Alternative PHP Cache
    (APC) – 打开PHP伪代码缓存
  • Cache -一个缓存库(Doctrine部分)
  • Stash -另一个缓存库

 

数据结构和存储

兑现数据结构和存储技术的库

  • Ardent -一个数据结构库
  • PHP
    Collections – 一个简易的集合库
  • Serializer -一个序列化和反序列化数据的库
  • PHP Object
    Storage -一个对象存储库
  • Fractal -一个转移复杂数据结构及JSON输出的库
  • Totem -一个管理与穿件数据交换集的堆栈
  • PINQ -一个PHP实时Linq库
  • JsonMapper -一个以内嵌JSON结构映射为PHP类的库房

 

Notifications 通知

拍卖通报软件之堆栈

  • Nod -一个通知库(Growl等)
  • Notificato – 一个处理推送通知的库房
  • Notification
    Pusher -一个设备推送通知的独立库
  • Notificator -一个轻量级的通知库

 

Deployment 部署

列布局库

  • Pomander -一个PHP应用部署工具
  • Rocketeer -PHP世界里的一个飞快简单的部署器
  • Envoy -一个用PHP运行SSH任务之家伙
  • Plum – 一个配备库

 

国际化及本地化

国际化(I18n)和本地化(L10n)

  • Aura.Intl

 

第三方API

做客第三方API的库

  • Amazon Web Service SDK – PHP
    AWS SDK官方库
  • S3 Stream
    Wrapper -Amazon
    S3淌包装库
  • Stripe -Stripe官方PHP库
  • Campaign
    Monitor -Campaign
    Monitor官方PHP库
  • Digital Ocean -Digital
    Ocean API 接口库
  • Github – Github
    API交互库
  • PHP Github
    API -另一个Github
    API交互库
  • Twitter OAuth -Twitter
    OAuth工作流交互库
  • Twitter REST – Twitter REST
    API交互库
  • Dropbox SDK – The
    official PHP Dropbox SDK library.
  • Dropbox SDK – Dropbox
    SDK官方PHP库
  • Twilio – The official Twilio
    PHP REST API.
  • Twilio – Twilio官方PHP REST
    API
  • Mailgun The official
    Mailgun PHP API.
  • Mailgun Mailgun官方PHP
    REST API

 

Extensions 扩展

帮组构建PHP扩展的仓库

  • Zephir -用于开发PHP扩展,且在PHP和C++之间的编译语言
  • PHP CPP -一个出PHP扩展的C++库

 

Miscellaneous 杂项

不在上面分类中之有用库和工具

  • Spork -一个处理forking的库
  • JSON Lint – 一个JSON lint工具
  • JSONPCallbackValidator -验证JSONP回调的库房
  • Pagerfanta -一个分页库
  • Ruler – 一个简单的甭管状态的生育条件规则引擎。
  • LiteCQRS -一个CQRS(命令查询责任分开)库
  • Sslurp – 一个令SSL处理减少的库房
  • PHP
    Option一个可选的类型库
  • Metrics -一个简练的量API库
  • Sabre
    VObject – 一个分析VCard和iCalendar对象的库房
  • Annotations -一个注释库(Doctrine部分)
  • Whoops -一个正确的错误处理库
  • Finite -一个简短的PHP有限状态机
  • LadyBug -一个dumper库
  • Procrastinator -运行耗时任务的仓库
  • Compose -一个力量组合库
  • SuperClosure -一个兴闭包序列化的库房
  • Jumper – 一个远距离服务执行库
  • Underscore -一个Undersccore
    JS库的PHP实现
  • PHP PassBook -一个iOS
    PassBook PHP库
  • PHP
    Expression -一个PHP表达式语言
  • RMT – 一个修版本与揭示软件之堆栈
  • Wise – 一个部署管理器
  • Opengraph -一个开花图库
  • Essence -一个领取web媒体的库房
  • Embera -一个Oembed消费库
  • Graphviz -一个图形库
  • Monad PHP 一个简便Monad库
  • Flux -一个正则表达式构建库
  • Patchwork – 一个又定义用户的函数库
  • Galapagos -语言转换进化
  • Design Patterns
    PHP -一个动PHP实现的设计模式存储库
  • PHPCR – 一个Java内容存储库(JCR)的PHP实现
  • Functional
    PHP – 一个函数式编程库
  • ClassPreloader – 一个优化机关加载的库
  • Lib
    Country -一个国度与地方数据的堆栈
  • Lib
    Accessor -一个简化访问的库
  • PHPStack -一个PHP编写的TCP/IP栈概念
  • Nmap -一个Nmap PHP包装器
  • Code
    Mover -一个活动代码的库房
  • Iter -一个运生成器提供迭代原语的仓库
  • Lambda PHP -一个PHP中的Lambda
    计算解析器
  • Country
    List – 所有带有名称和ISO
    3166-1编码的国家列表
  • PHP-GPIO – 用于Raspberry
    PI的GPIO pin的库
  • print_o – 一个靶图的可视化器
  • Alias -一个种类名库

 

Software 软件

创造一个开支环境之软件

PHP安装

以你的微处理器及拉安装以及治本PHP的工具

  • HomeBrew -一个OSX包管理器
  • HomeBrew
    PHP -一个HomeBrew的PHP通道
  • PHP OSX – 一个OSX下的PHP安装器
  • PHP Brew -一个PHP版本管理暨安装器
  • PHP Env – 另一个PHP版本管理器
  • PHP
    Switch – 另一个PHP版本管理器
  • PHP Build – 另一个PHP版本安装器
  • VirtPHP – 一个创造及治本独立PHP环境的工具

 

Development Environment 开发条件

创建沙盒开发环境之软件以及工具

  • Vagrant -一个即携带的开销条件工具
  • Ansible – 一个非常简单的编排框架
  • Puppet -一个服务器自动化框架和下
  • PuPHPet -一个构建PHP开发虚拟机的web工具
  • Protobox -另一个构建PHP开发虚拟机的web工具
  • Phansible – 一个用Ansible构建PHP开发虚拟机的web工具

 

Virtual Machines 虚拟机

相关的PHP虚拟机

  • HipHop
    PHP -Facebook出品的PHP虚拟机,运行时以及JIT
  • HippyVM -另一个PHP虚拟机
  • Hack – 一个PHP进行无缝操作的 HHVM编程语言

IDE 集成开发环境

支持PHP的并开发条件

  • Netbeans -一个支持PHP和HTML5的IDE
  • Eclipse for PHP
    Developers -一个基于Eclipse平台的PHP
    IDE
  • PhpStorm -一个经贸PHP IDE

 

Web Applications Web应用

据悉Web的使及工具

  • 3V4L一个在线的PHP shell
  • DBV -一个数据库版本控制应用
  • PHP
    Queue -一个管制后端队列的应用
  • Composer as a
    Service – 作为一个zip文件下载Composer包的家伙
  • MailCatcher – 一个抓取和查邮件的web工具

 

Resources 资源

各种提高你的PHP开发技巧与知识的资源,比如图书,网站,文章

PHP网站

PHP相关的发出因此网站

  • PHP The Right
    Way -一个PHP最佳实践的便捷指引手册
  • PHP Best
    Practices – 一个PHP最佳实践指南
  • PHP Weekly – 一个PHP新闻周刊
  • PHP
    Security – 一个PHP安全指南
  • PHP FIG – PHP框架交互组
  • PHP UG -一个援用户定位最近底PHP用户组(UG)的网站
  • Seven PHP -一个PHP社区成员采访的网站
  • Nomad PHP -一个于线PHP学习资源
  • PHP Mentoring -点对点PHP导师组织

 

Other Websites 其他网站

web开发相关的产生因此网站

  • The Open Web Application Security Project
    (OWASP) -一个开花软件安全社区
  • WebSec IO – 一个web安全社区资源
  • Web Advent -一个web开发人员日历
  • Semantic Versioning -一个分析语义版本的网站
  • Atlassian Git
    Tutorials -一个Git教程系列
  • Hg Init -一个Mercurial教程系列
  • Servers for
    Hackers – 一个有关服务器管理的新闻通讯

 

PHP 书籍

PHP相关的很好的书籍

  • Scaling PHP
    Applications – 一以Steve
    Corona关于扩大PHP应用程序的电子书
  • The Grumpy Programmer’s Guide to Building Testable PHP
    Applications -一论Chris
    Hartjes关于构建PHP应用程序测试的修
  • Grumpy PHPUnit -一据Chris
    Hartjes关于使用PHPUnit进行单元测试的写
  • Mastering Object-Orientated
    PHP – 一如约Brandon
    Savage关于PHP面向对象的题
  • Signaling PHP -一按照Cal
    Evans关于以CLI脚本捕获PCNTL 信号的书写
  • Securing PHP: Core
    Concepts -一遵循Chris
    Cornutt关于PHP常见安全条款和行的题
  • Modernising Legacy Applications in
    PHP -一本Paul
    M.Jones关于遗留PHP应用进行现代化的书写

 

别书籍

同一般计算和web开发有关的题

  • The Linux Command Line -William
    Shotts关于Linux命令行的一样本书
  • Understanding Computation -Tom
    Stuart关于计算理论的一致本书
  • The Tangled Web — Securing Web
    Applications –
    Michal Zalewski关于web应用安全的同等本书
  • Elasticsearch: The Definitive
    Guide -Clinton
    Cormley和Zachary Tong编写的及Elasticsearch工作之一模一样遵照指南
  • Eloquent JavaScript -Marijin
    Haverbeke关于JavaScript编程的均等本书
  • Vagrant Cookbook-Erika
    Heidi关于创建 Vagrant环境之同本书
  • Pro Git -Scott Chacon和Ben
    Straub关于Git的同一本书

 

PHP视频

PHP相关的良正确的视频

  • Taking PHP
    Seriously – 来自Facebook
    Keith Adams 讲述PHP优势
  • PHP Town Hall – 一个擅自的Ben
    Edmunds和Phil Sturgeon的PHP播客
  • Programming with
    Anthony  Anthony
    Ferrara的视频系列

 

PHP阅读

PHP相关的翻阅材料

  • Create Your Own PHP
    Framework – 一总统Fabien
    Potencier的有关什么创造而协调的PHP框架的泛滥成灾文章
  • Seven Ways to Screw Up
    BCrypt – 一首有关纠正BCrypt实现之稿子
  • Preventing CSRF
    Attacks -一首组织CSRF攻击的章
  • Don’t Worry About
    BREACH – 一首有关BREACH攻击与CSRF令牌的文章
  • On PHP 5.3, Lamda Functions and
    Closures -一篇有关lambda函数和闭包的篇章
  • Use
    Env – 一篇有关利用unix环境救助的文章
  • Composer
    Primer – Composer初级
  • Composer
    Versioning -一篇关于Composer版本的篇章
  • Composer Stability
    Flags -一篇关于Composer稳定性标志的章
  • Innocent Villagefolk or a Pillagin’
    Pirate? -一首关于PHP从外语言获取想法的文章
  • Predicting Random Numbers in
    PHP -一篇有关变更随机数的篇章
  • A 20 Point List for Preventing XSS in
    PHP -一篇有关团队XSS的文章
  • PHP Sucks! But I Like
    It! -一篇有关PHP利弊的篇章
  • PHP Is Much Better Than You
    Think -一篇有关PHP语言和生态圈的文章

 

PHP Internals Reading PHP内核阅读

读PHP内核或性质相关的资料

  • PHP RFCs – PHP RFCs主页(请求注解)
  • PHP Internals
    Book – 一依照由三曰核心开发编写的有关PHP内核的在线书
  • Print vs Echo, Which One is
    Faster? -一篇有关打印和echo性能的章
  • The PHP Ternary Operator. Fast or
    Not? -一篇有关三首届操作性能的篇章
  • Disproving the Single Quotes
    Myth -一篇有关单,双招号字符串性能的章
  • You’re Being Lied
    To – 一首有关内核ZVALs的稿子
  • How Long is a Piece of
    String -一首有关字符串原理的篇章
  • Understanding
    OpCodes -一篇有关伪代码的文章
  • How Foreach
    Works -StackOverflow
    关于foreach回答的详情
  • When Does Foreach
    Copy? -一首有关foreach原理的稿子
  • How Big Are PHP Arrays (And Values)
    Really? – 一首有关数组原理的章
  • Why Objects (Usually) Use Less Memory Than
    Arrays -一首有关目标及数组原理的文章
  • PHP Evaluation
    Order -一篇有关PHP评估顺序的篇章
  • 开发人员的PHP源代码: 1 2 3 4 -关于PHP源代码的多元
  • 垃圾堆收集: 1 2 3 关于PHP垃圾收集原理的不胜枚举

Leave a Comment.