@TOC
1. PHP简介
php是Hypertext Preprocessor的缩写,是开源的脚本语言,运行在服务端的语言,搭建php环境可以windows系统上可以安装wamp,发布上线的时候可以使用lamp。
lamp:l:linux,a:apache,m:mysql,p:php,这四个都是开源的,所以不用担心版权问题。
2. 五个基本概念
2.1、 静态页面和动态页面的概念区别
静态页面: 页面通过服务端没有编译直接返回给客户端,返回的内容不会改变,不能通过线上管理员端去动态的改变页面内容。
动态页面:不用去修改html,显示的内容可以根据管理员端去修改生成最新的内容。
2.2、 客户端和服务端
客户端:用户访问的这一端是客户端。 服务端:给客户端提供服务功能的一端
2.3、 端口号范围
端口号范围 0 ~ 65536
2.4、 B/S架构和C/S架构
B/S架构: B:browser (浏览器) S:serve (服务器) 优点:只要有浏览器就可以访问,开发成本低。 缺点:开发的代码都是在服务器上。会导致服务器非常的臃肿,俗称胖服务器,瘦客户端。
C/S架构: C:client (客户端软件) S:serve (服务器) 优点:可以开发客户端和服务器端,这个时候代码不会全部存放服务器,可以实现负载均衡。 缺点:必须要去安装指定的软件,例如(QQ,微信,支付宝),开发成本高。
2.5、 前台和后台
前台:用户访问的那端。 后台:管理员端。
3. PHP优点
- 跨平台:能在windows上运行也能在linux上运行。
- 源码开放:不用担心版权问题。
- 运行在服务端:只要在服务器部署环境就可以了。
4. 常用命令
httpd -v:查看版本
httpd -t:检查错误

php -v:查看版本号

5. DNS解析
在我们本机目录C:\Windows\System32\drivers\etc下有个hosts文件,我们可以将如下网址设置成本机ip
在访问www.php.com时就会跳转到本机,如下图:

6. 虚拟目录
当我们安装wamp集成环境时,在你安装的目录下有www文件夹,那么这个就是虚拟目录,这个文件夹不要随意去改动位置,我们可以去看下,在apache中,已经将这个文件目录配置成主机的根目录,我们可以看到apache中conf文件夹下的httpd.conf的配置(我的安装目录如下F:\Program\bin\apache\apache2.4.27\conf):

其中定义了INSTALL_DIR为F:/Program路径。在httpd.conf配置文件中又引入了

conf文件夹下的extra文件夹下的httpd-vhosts.conf配置文件,我们打开这个文件可以看到:

这边配置了虚拟目录的路径,就是F:\Program\www。所以我们不要去随意去改动,当然我们可以自己手动去改变这个路径。我们可以在C盘目录下新建一个web文件夹,我们自己将虚拟目录写到这个文件夹,并且在文件夹下创建h.html并写入h1标签然后写入document文本,我们重启下集成环境wamp,可以看到虚拟目录就改变了:

7. 默认首页
在httpd.conf配置文件中,如下是默认首页顺序,可以自己手动更改。

8. 设置端口号
在httpd.conf配置文件中,Listen,可以更改端口号。

查看端口号占用情况:

9. 虚拟主机配置
配置两个虚拟主机,例如访问www.sina.com时会访问本地F盘的http1文件夹下的index1.php,访问www.ct3r.com时会访问本地D盘的http2文件夹下的index2.php。配置httpd-vhosts.conf,如下:
<VirtualHost *:80>
ServerName www.sina.com
DirectoryIndex index1.php
DocumentRoot "F:/http1"
<Directory "F:/http1/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.ct3r.com
DirectoryIndex index2.php
DocumentRoot "F:/http2"
<Directory "F:/http2/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>其中:
ServerName为虚拟目录绑定的域名DirectoryIndex为默认首页DocumentRoot为指定虚拟目录文件Direcrory为指定虚拟目录的权限。
接着我们在 C:\Windows\System32\drivers\etc下的hosts输入如下代码:
127.0.0.1 www.sina.com
127.0.0.1 www.ct3r.com配置域名dns解析到本地,接着重启我们的wamp,然后可以看到页面访问如下:


9.1 站点、虚拟目录、虚拟主机的区别
- 站点:站点是一个文件夹,用来保存与网站相关的素材。
- 虚拟目录:站点加上权限。
- 虚拟主机:虚拟目录加上域名。
10. PHP是编译型语言
php是编译型语言,在4.X.X版本是解释型语言,在后来5.x.x后变为编译型语言,在php运行是会产生opcode编译文件,存在内存中。
11. PHP定界符
11.1 标准风格
- 标准风格
<?php ?>:
<?php
echo('Hello World!')
?>好的我们在我们的集成环境wamp安装的目录,www目录下,新建hello.php,输入如上代码,并且启动wamp,打开浏览器,如下输出:

如果整个页面都是php的话定界符的结束符可以省略,推荐省略但是必须要加分号,如下:

页面展示如下:

11.2 短标记风格
2. 短标记风格 `<? ?>`:
查看网页:

报错了,默认情况下不支持,需要在php的配置文件中配置段标记:

在php.ini中修改:


将short_open_tag改成On就开启了段标记。重启wamp。效果:

12 PHP中的注释和输出语句
12.1 PHP中的注释
在php中注释与javascript一样,// 表示单行注释,/* */ 表示多行注释,除此之外php中 #也是当行注释。
12.2 PHP中的输出语句
echo,print,print_r,var_dump。其中print会返回一个值,成功为1,失败为0(失败返回也看不到,因为报错了),print_r用来输出数组的。var_dump输出数据信息,并且带有数据类型。在www目录下新建demo.php,代码如下:
<?php
var_dump('abc');
echo '我是echo打印<br/>';
echo print '我是print打印<br/>';
?>效果如图:

13 变量
13.1 变量命名规则
- 在php中变量名必须以
$符开头,但是$符不是变量的一部分。 - 除
$符以外,可以以字母,下划线开头后面跟数字,字母,下划线。 - 语句以分号结尾。
- 变量名区分大小写。
13.2 可变变量
将变量名存储在另外一个变量中。代码如下:
<?php
$a1 = 1;
$a2 = 2;
if (rand(1,2)%2) {
$a = 'a1';
}
else {
$a = 'a2';
}
echo $$a;
?>查看效果:

13.3 变量传递
13.3.1 值的传递
如下代码体现值的传递:
<?php
$a = 10;
$b = $a;
$b = 20;
echo $a
?>效果如图:

结果a不变还是10。
13.3.1 引用地址的传递
如下代码提现地址传递:
<?php
$a = 10;
$b = &$a;
$b = 20;
echo $a
?>效果如图:

$a的引用地址指向$b,$b改变$a也会随着改变。&符在php中表示获取变量的引用地址。
13.3 销毁变量
销毁变量语法unset( ),如下代码:
<?php
$a = 10;
unset($a);
echo $a
?>效果:

变量销毁的是变量名,变量值由php的垃圾回收机制销毁。
在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。










