现在时间2016-6-6 16:06,计划在今日21时左右搞清楚PHP是怎么回事,并且完成本篇文稿。
PHP中文学习手册 http://www.php.net/manual/zh/
1安装window下的php环境
- 笔者建议采用xampp的方式安装开发环境,首先进入官网
- 我的电脑是Windows10 64位处理器,所以选择的64位的PHP环境
- 之后选择笔者建议选择“xampp”的安装包,点击down进行下载
- 下载好安装包之后,不用动脑的一直点击next即可,唯一需要注意的是最后的选择语言,建议选择英文(美国国旗),不要选择其他语言。
- 安装完成之后是这样的。
- 点击start就可以使用php的环境了。
- 最后我们打开浏览器,在地址栏输入“localhost”,看一下能否进入到xmpp的页面,如果可以,则说明环境已经搭建好了。
- 环境这么顺利的就搭建好了,迫不及待的写“hello word”吧。需要找到xmpp的安装目录,再找到htdocs目录(比如笔者的目录是C:xampphtdocs)
- 我们在该目录下新建一个.php文件,在文件中输入下面内容
<html>
<body>
<?php
echo "Hello World";
?>
</body>
</html>
- 然后打开浏览器,输入localhost/你的文件名.php(比如笔者的路径是’http://localhost/test.php‘ ),就可以查看用php语言打印的helloword了。
2关键KEY
php.ini
- 入门级的配置文件,参考手册对php进行配置。
php.fpm(管理进程的容器)
- Fast CGI进程管理器,其主要作用实现了对高负载网站很有用的特性。
php扩展
- 说个不恰当但是很好理解的例子:php的扩展就像Java的第三方jar文件,像android的第三方类库,compile文件一样。是别人造的轮子,我们根据业务需求会集成,能调用就ok了。
- 老大说,写PHP的人只有不到10%的人能写扩展。想写扩展的同学,可以看看这篇文章PHP扩展。
掌握php程序的环境支持,多平台兼容
- 如果是团队基于自己搭建的环境开发,普通的开发人员只需了解,不作为重点掌握的内容,不必投入太大精力。
3php的扩展
推荐大家,通读一遍手册,记住关键的key;我在这里手写名词,也没有太大意义。 看手册
4重点理解session和cookie的区别
笔者简单介绍一下2者的不同,已经有非常多优秀的文章详细介绍了,我就不重复写说明书了。 Cookie通过在浏览器端记录信息来确定身份,Session通过在服务器端记录信息确定身份。
- cookie/session机制详解
- cookie/session区别详解
- cookie/session深入理解
5基本语法
require和include的区别
最主要的区别:错误处理的方式不一样:
- require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
- include一个文件存在错误的话,那么程序不会中断执行,而是继续执行,并显示一个警告错误。
- 笔者告诉大家一个系统学习的好方法:
看手册,之后学会查手册(关键字检索,目录图,脑图,新特性….)
6函数
函数内传递的参数建议在3个之内
如果大于3个,建议用数组array的方式传入,提高程序的可读性。
编程之路:万事起于忽微,量变引起质变。看手册
重点理解可变参数的概念
可变参数
闭包(也就是匿名函数,PHP5.3引入的)
- PHP的闭包非常简单,需要注意的是use关键字的使用,use的作用是连接闭包和外界的变量。
$a = function() use($b){
}
- PHP闭包的作用:详解
- 减少foreach循环的代码
- 减少函数的参数
- 解除递归函数
- 延迟绑定
- 想深入学习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("this is Anonymous InterClass showing.");
}
};
anonyInter.show();// 调用其方法
}
总结
- 这是笔者第一次写PHP相关的文章,之前只有Java的编程基础,但是深信“天下语言一家亲,通一晓百”,学习新技术是一件乐趣十足的事情。
- 本文初次整理,恐怕会有不妥之处,欢迎大家在评论区指正。
- 如果大家有问题,也欢迎大家在评论区交流讨论,笔者会根据大家的讨论问题,继续整理文章。
- 本文是笔者方便大家快速学习PHP整理而成,涉及到很多引用和百度的外链,那些内容是需要读者反复学习的。(比如session/cookie部分)
- 包括通读手册的时间基本上完成了5小时之内入门PHP(现在是2016-6-6 20:22)
- The last but not least,感谢简书平台。