Heim  >  Artikel  >  Backend-Entwicklung  >  入门指引 - PHP手册笔记

入门指引 - PHP手册笔记

WBOY
WBOYOriginal
2016-08-08 09:29:341368Durchsuche

曾经简单的学习过PHP,看的是《PHP和MySQL Web开发》,还有万能的搜索引擎的帮助。这次准备系统的学习一下,参考资料是PHP Manual。

PHP能做什么

PHP主要用于服务端的脚本程序,但PHP的功能远不局限于此。PHP主要用于以下三个领域:
* 服务端脚本
* 命令行脚本
* 编写桌面应用程序(PHP-GTK)

实用的脚本

$_SERVER是一个特殊的PHP保留变量,它包含了web服务器提供的所有信息,被称为超全局变量。可以通过$_SERVER['HTTP_USER_AGENT']检查浏览页面的访问者在用什么浏览器。

对于IE浏览器,$_SERVER['HTTP_USER_AGENT']的值可能是:

<code>Mozilla/<span>5.0</span> (Windows NT <span>6.1</span>; WOW64; Trident/<span>7.0</span>; rv:<span>11.0</span>) <span>like</span> Gecko
Mozilla/<span>5.0</span> (compatible; MSIE <span>10.0</span>; Windows NT <span>6.2</span>; Trident/<span>6.0</span>)
Mozilla/<span>5.0</span> (compatible; MSIE <span>9.0</span>; Windows NT <span>6.1</span>; Trident/<span>5.0</span>)
Mozilla/<span>4.0</span> (compatible; MSIE <span>8.0</span>; Windows NT <span>6.1</span>; Trident/<span>4.0</span>)
Mozilla/<span>4.0</span> (compatible; MSIE <span>7.0</span>; Windows NT <span>6.0</span>)
Mozilla/<span>4.0</span> (compatible; MSIE <span>6.0</span>; Windows NT <span>5.1</span>)</code>

可以通过调用strpos()函数,判断用户代理是否为IE浏览器。

<code><span><?php </span><span>$ua</span> = <span>$_SERVER</span>[<span>'HTTP_USER_AGENT'</span>];
<span>if</span>(strpos(<span>$ua</span>, <span>'Trident'</span>) !== <span>FALSE</span> || strpos(<span>$ua</span>, <span>'MSIE'</span>) !== <span>FALSE</span>) {
    <span>echo</span><span>'You are using Internet Explorer.'</span>;
} <span>else</span> {
    <span>echo</span><span>'You are not using Internet Explorer.'</span>;
}</span></code>

这段代码中涉及到了strpos()!==FALSE的使用。

strpos()是PHP的一个内置函数,其功能是在一个字符串(haystack)中搜索另外一个字符串(needle)。若找到,则函数返回needle在haystack中相对于开头的位置;如果没有,则返回FALSE。

<code><span><?php </span><span>$haystack</span> = <span>'hello, world.'</span>;
<span>$needle</span> = <span>'wo'</span>;
<span>echo</span> strpos(<span>$haystack</span>, <span>$needle</span>);</span></code>

对于上面这段代码,strpos()返回的结果为7。对于strpos()返回的具体的值,可能在空格、中文时,计算方法有所不同,后面再讨论。

处理表单

PHP处理表单的方式很方便,可以使用超全局变量$_POST获得数据。使用下面的方式定义一个简单的HTML表单,当用户填写了该表单并点击了提交按钮,页面action.php将被调用。

<code><span>form</span><span>action</span>=<span>"action.php"</span><span>method</span>=<span>"post"</span>><span>p</span>>Name: <span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"name"</span> /><span><span>p</span>></span><span>p</span>>Age: <span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"age"</span> /><span><span>p</span>></span><span>p</span>><span>input</span><span>type</span>=<span>"submit"</span> /><span><span>p</span>></span><span><span>form</span>></span></code>

通过下面这段代码可以打印来自表单的数据。

<code>Hello, <span><?php </span><span>echo</span> htmlspecialchars(<span>$_POST</span>[<span>'name'</span>]); <span>?></span>. 
You are <span><?php </span><span>echo</span> (int)<span>$_POST</span>[<span>'age'</span>]; <span>?></span> year(s) old.</span></span></code>

这段代码中还涉及到了htmlspecialchars()(int)的使用。htmlspecialchars()使得HTML之中的特殊字符被正确的编码,从而不会被使用者在页面注入HTML标签或者Javascript代码。

工具

工欲善其事,必先利其器。

有个好的工具,能够事半功倍。为了提高效率,我喜欢使用VIM,并且在命令行中运行代码。

对于工具,这个帖子讲的不错的,window下的cmd替代工具? - windows - SegmentFault。

PHP环境推荐使用WampServer和XAMPP。

(全文完)

以上就介绍了入门指引 - PHP手册笔记,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn