PHP day1:5小时入门PHP

现在时间2016-6-6 16:06,计划在今日21时左右搞清楚PHP是怎么回事,并且完成本篇文稿。

PHP中文学习手册 http://www.php.net/manual/zh/

1安装window下的php环境
  1. 笔者建议采用xampp的方式安装开发环境,首先进入官网
  2. 我的电脑是Windows10+64位处理器,所以选择的64位的PHP环境
  1. 之后选择笔者建议选择“xampp”的安装包,点击down进行下载
  1. 下载好安装包之后,不用动脑的一直点击next即可,唯一需要注意的是最后的选择语言,建议选择英文(美国国旗),不要选择其他语言。
  2. 安装完成之后是这样的。
  1. 点击start就可以使用php的环境了。
  1. 最后我们打开浏览器,在地址栏输入“localhost”,看一下能否进入到xmpp的页面,如果可以,则说明环境已经搭建好了。
  1. 环境这么顺利的就搭建好了,迫不及待的写“hello word”吧。需要找到xmpp的安装目录,再找到htdocs目录(比如笔者的目录是C:\xampp\htdocs)
  2. 我们在该目录下新建一个.php文件,在文件中输入下面内容
代码语言:javascript
复制
<html>
<body>
<?php
echo "Hello World";
?>
</body>
</html>
  1. 然后打开浏览器,输入localhost/你的文件名.php(比如笔者的路径是’http://localhost/test.php‘ ),就可以查看用php语言打印的helloword了。
2关键KEY

php.ini

  1. 入门级的配置文件,参考手册对php进行配置。

php.fpm(管理进程的容器)

  1. Fast CGI进程管理器,其主要作用实现了对高负载网站很有用的特性。

php扩展

  1. 说个不恰当但是很好理解的例子:php的扩展就像Java的第三方jar文件,像android的第三方类库,compile文件一样。是别人造的轮子,我们根据业务需求会集成,能调用就ok了。
  2. 老大说,写PHP的人只有不到10%的人能写扩展。想写扩展的同学,可以看看这篇文章PHP扩展。

掌握php程序的环境支持,多平台兼容

  1. 如果是团队基于自己搭建的环境开发,普通的开发人员只需了解,不作为重点掌握的内容,不必投入太大精力。
3php的扩展

推荐大家,通读一遍手册,记住关键的key;我在这里手写名词,也没有太大意义。 看手册

4重点理解session和cookie的区别

笔者简单介绍一下2者的不同,已经有非常多优秀的文章详细介绍了,我就不重复写说明书了。 Cookie通过在浏览器端记录信息来确定身份,Session通过在服务器端记录信息确定身份。

  1. cookie/session机制详解
  2. cookie/session区别详解
  3. cookie/session深入理解
5基本语法

require和include的区别

最主要的区别:错误处理的方式不一样:

  1. require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
  2. include一个文件存在错误的话,那么程序不会中断执行,而是继续执行,并显示一个警告错误。
  3. 笔者告诉大家一个系统学习的好方法:

看手册,之后学会查手册(关键字检索,目录图,脑图,新特性….)

6函数

函数内传递的参数建议在3个之内

如果大于3个,建议用数组array的方式传入,提高程序的可读性。

编程之路:万事起于忽微,量变引起质变。看手册

重点理解可变参数的概念

可变参数

闭包(也就是匿名函数,PHP5.3引入的)

  1. PHP的闭包非常简单,需要注意的是use关键字的使用,use的作用是连接闭包和外界的变量。
代码语言:javascript
复制
$a = function() use($b){

}

  1. PHP闭包的作用:详解
    1. 减少foreach循环的代码
    2. 减少函数的参数
    3. 解除递归函数
    4. 延迟绑定
  2. 想深入学习PHP闭包的网站
    http://www.php.net/manual/zh/functions.anonymous.php
    http://www.cnblogs.com/yjf512/archive/2012/10/29/2744702.html
    http://blog.zol.com.cn/1722/article_1721359.html

下面介绍Javascript及Java的匿名函数,方便大家同PHP做类比

JavaScript的闭包:

代码语言:javascript
复制
funcition closure(){
var str = "this is a test";
return function(){
alert(str);
}
}
var test = closure();
test();

对于这种语法简洁的脚本语言,比对代码理解概念最简单了:

  • str是定义在closure()函数内的局部变量,如果str在closure()函数执行完成后不被外界访问,则在函数执行完成之后str资源会被释放。
  • 但是问题来了,如上面的代码,closure函数返回了一个内部函数,而内部函数又引用了str对象,导致了str在closure()执行完成之后还被引用,导致str不能被回收,这样closure就形成了一个闭包。

Java的匿名函数

  • Java多采用的是匿名内部类的方式。
  • 其优点非常直白:就是简化代码;

缺点:因为没有名字,所以只能使用一次;使用时必须继承一个父类或者实现一个接口

代码语言:javascript
复制
//在这个方法中构造了一个匿名内部类
private void show(){
Out anonyInter=new Out(){// 获取匿名内部类实例

 void show(){//重写父类的方法     
     System.out.println(&#34;this is Anonymous InterClass showing.&#34;);     
 }     

};
anonyInter.show();// 调用其方法
}

总结

  1. 这是笔者第一次写PHP相关的文章,之前只有Java的编程基础,但是深信“天下语言一家亲,通一晓百”,学习新技术是一件乐趣十足的事情。
  2. 本文初次整理,恐怕会有不妥之处,欢迎大家在评论区指正。
  3. 如果大家有问题,也欢迎大家在评论区交流讨论,笔者会根据大家的讨论问题,继续整理文章。
  4. 本文是笔者方便大家快速学习PHP整理而成,涉及到很多引用和百度的外链,那些内容是需要读者反复学习的。(比如session/cookie部分)
  5. 包括通读手册的时间基本上完成了5小时之内入门PHP(现在是2016-6-6 20:22)
  6. The last but not least,感谢简书平台。