文章目录
- PHP概述
-
- 一. apache虚拟主机
-
- 1.1 虚拟主机分类
- 1.2 配置虚拟主机
- 二. php基础
-
- 2.1 变量
- 2.2 预定义变量
- 2.3 变量传值
- 2.4 常量
-
- 2.4.1 规则
- 2.4.2 定义常量
- 2.4.3 访问常量
- 2.5 系统常量
-
- 2.5.1 常见系统固定常量
- 2.5.2 魔术常量
- 2.6 数据类型
-
- 2.6.1 概念
- 2.7 php数据类型分类
PHP概述
项目开发模式
bs:浏览器(browser),服务器模式(server)
cs:客户端(client),服务器模式(server)
php主要应用于bs模式
一. apache虚拟主机
1.1 虚拟主机分类
- 基于域名的虚拟主机(一个域名多个站点)
- 基于ip的虚拟主机(一台主机多个网卡)
在httpd.conf的配置文件中开启apache的虚拟主机功能
Include conf/extra/httpd-vhosts.conf
1.2 配置虚拟主机
- VirtualHost 标记 *:80 虚拟主机
- DocumentRoot 目录位置
- ServerName 主机名
- Directory 目录权限
- Require 设置权限
- Directoryindex 设置默认首页
# httpd-vhosts.conf
# 配置虚拟主机
<VirtualHost *:80>
# 配置主机名DocumentRoot "D:/wamp/vthost/web1" ServerName www.web1.com
# 权限配置
<Directory "D:/wamp/vthost/web1">Require all granted
#Require local:本地访问
#Require all granted:全部访问
#Require all Denied:拒绝所有访问
#Require ip 127.0.0.1:允许指定ip(内部访问)
#Require not ip 127.0.0.1:禁止指定ip访问
#Require host localhost:允许使用localhost访问(私有主机)
# 默认首页DirectoryIndex index.php
</Directory></VirtualHost>
启用 虚拟主机 主配置文件中的 servername localhost:80 就不会生效了,需要在vhost配置文件中添加一条本地文件
使用 httpd -t 查看报错信息
配置hosts文件
在多个虚拟主机环境下,系统会匹配第一个虚拟主机的位置
二. php基础
2.1 变量
数据的加工需要变量
变量需要定义才能使用、
变量的数据都可以随意改变
php变量是一个可以存储数据的符号,都遵循以下规则
- 以$ 符号开始的
- 以字母,下划线,数字构成,不能使用数字开头
- 变量区分大小写
- php是弱类型语言,变量可以存储任何数据
- 尽量使用驼峰法(ServerName),或者下划线法(server_name)
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<?phpecho "hello php";echo "<hr />";$num = 10; //定义变量echo "<br />";echo $num; //输出变量echo "<br />";$num = "hello";echo $num;unset($num); //unset 函数 删除一个变量//echo $num;
?>
</body>
</html>
2.2 预定义变量
规则
- 预定义变量遵循变量规则
- 预定义变量都是数组
- 系统提供9个预定义变量
#预定义变量$_GET //用户通过get方式提交 常用
$_POST //用户通过post方式提交 常用
$_REQUEST //用户通过get和post方式提交 常用
$_SERVER //用户和服务器的基本信息数据 常用
$_FILES //用户提交的文件数据(文件上传) 常用
$_SESSION //session数据 常用
$_COOKIE //cookie数据 常用
$_ENV //环境变量数据
$GLOBALS //所有全局变量,也是为一个不是已下划线开始的预定义变量 常用
如何使用预定义变量
明确数据在那个预定义变量中,然后直接使用
预定义变量是php自带的变量,预定义变量是数组,以数组方式使用
2.3 变量传值
- 值传递:变量代表的数据传递,变量自身不受影响
- 引用传递:变量代表的数据所在内存地址传递,都受影响,使用(&)
#变量传值$a = 10;$b = $a; // b 的值 是将 a的值从内存中取出,赋值给b$a += 20;echo $a."<br />".$b."<br />";$c = 10;$d = &$c; // d 的值 是将c的内存地址取出,”链接“ 给d(共用的一块地址)$c +=20;echo $c."<br />".$d;#结果 30 10 30 30
2.4 常量
不希望被改变的数据,define跟const定义有区别,php7以后允许常量值为数组
2.4.1 规则
- 常量数据被定义,不可改变,只有定义和使用一说
- 通常大写字母
2.4.2 定义常量
- 使用函数:define(‘name’,‘value’);
- 使用关键字:const name = value;
2.4.3 访问常量
- 直接访问常量名
- 使用 constant(‘name’); 函数访问
#常量define('WP','21'); #使用define函数定义const DLX = 20; #使用关键字定义echo WP."<br />".DLX."<br />"; #直接访问echo constant("DLX"); #使用constant函数访问
2.5 系统常量
php自带的常量,只 允许访问
- 固定系统常量:固定不变
- 魔术常量:值可变
2.5.1 常见系统固定常量
PHP_VERSION //php版本号
PHP_INT_SIZE //整数所占用的字节数
PHP_INT_MAX //php中整数表示最大值
2.5.2 魔术常量
基本上用于Debug,服务迁移等
以双下划线开始,以双下划线结束
__DIR__ //当前运行文件所在绝对路径
__FILE__ //当前运行文件的绝对路径(带当前文件名)
__LINE__ //当前代码所在行号
__FUNCTION__ //函数内部使用,表示当前函数名
__CLASS__ //类内部使用,表示当前类名
__METHOD__ //类内部使用,表示当前方法的名字(带类名)
__NAMESPACE__ //当前所属命名空间名
#固定常量echo "PHP当前版本号:".PHP_VERSION."<br/>"."PHP整数支持的最大字节数(B)".PHP_INT_MAX."<br/>";#魔术常量echo "当前运行文件的绝对路径:".__DIR__."<br />"."当前运行文件的绝对路径(带当前文件名):".__FILE__."</br>";
2.6 数据类型
2.6.1 概念
因为php是弱类型语言,所有php基本可以理解只对数据类型进行分类,并没有对定义的数据结构进行分类,数据类型在数据结构中的定义是一组 性质相同的值的集合
2.7 php数据类型分类
三大类八小类
-
基本数据类型(常量)
- 整型(int/integer):整型
- 浮点型 (float):浮点和超出整数部分的
- 布尔型(bool/boolean):0和1;true和fales
- 字符串型(string):字符串
-
复合类型
- 数组(array):数组
- 对象(object):对象
-
特殊类型
- 资源型(resource):资源数据(数据库/文件/等)
- 空(null):null
#数据类型$a_1 = 100;$a_2 = "abc";echo var_dump($a_1,$a_2);