@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
的垃圾回收机制销毁。
标签:www,入门,虚拟目录,笔记,如下,文件夹,conf,php From: https://blog.51cto.com/u_14135022/11982162在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。