配置 PHP 支持
Apache 只能处理静态文件请求,对于后缀名为 .php 这种动态文件,它无法执行,所以就当成是一 个静态文件直接返回。
在服务器上安装 PHP
- 解压 php 到纯英文路径目录中
在 Apache 中添加支持 PHP 的配置
在 Apache 添加 PHP 处理模块
1 | LoadModule php7_module 路径 |
在 <IfModule mime_module> 节点中添加 .php 扩展名解析支持
1 | AddType application/x‐httpd‐php .php |
默认文档配置节点
1 | <IfModule dir_module> |
- 重启Apache
Apache与PHP
我们不能把他们混在一起,他们两者各自有各自负责的领域,各自的职责,但是我们在使用 PHP 做动态网站开发时,两者就会产生联系,具体如下:
你可以理解为:Apache 是一家没有太多能力的公司,只能处理一些简单的业务(静态网站),但是心很大想 做更多的事(动态网站),所以就想到了外包,所有额外的业务都需要外包给其他程序,而 PHP 就是理解为 一个专门能够处理 php 业务的外包公司
PHP
类似于在 HTML 中使用 JavaScript,但是不同的是 JavaScript 运行在客户端,而 PHP 运行在服务端。 只有处于 PHP 标记内部的代码才是 PHP 代码,PHP 标记以外都原封不动。
PHP 标记
- <?php 进入PHP模式
- ?> 退出PHP模式
- 类似于在 HTML 中使用 JavaScript,但是不同的是 JavaScript 运行在客户端,而 PHP 运行在服务端。 只有处于 PHP 标记内部的代码才是 PHP 代码,PHP 标记以外都原封不动。
- 省略结束标记:当PHP处于文件末尾时,省略结束标记,方式出现额外空行。
输出内容格式
echo
1
2
3
4
5
6// echo 是 PHP 中的一个特殊的“指令”,
// 不一定需要像函数那样通过 `()` 去使用
// 注意:echo 后面紧跟着一个空格
echo 'hello php';
echo 'hello', 'world'; //可以输出多个参数
// => `helloworld`
print
print 与 echo 唯一区别就是只能有一个参数 print ‘hello’;
var_dump
1
2
3
4
// var_dump 是一个函数,必须跟上 () 调用
// 可以将数据以及数据的类型打印为特定格式 var_dump('hello php');
// => 'string(9) "hello php"'还有一些输出函数,先不说。。
与HTML混编
普通嵌入
1
<p>echo 'hello'; </p>
语句混编
1
2
3
4
5if ($age > 18):
<p>成年人</p>
else:
<p>小朋友</p>
endif
注释
- 单行====> // 或 #
- 多行====> /* 内容 */
语法
- 和其他编程语言大同小异
变量
- PHP 中申明一个变量是用一个美元符号后面跟变量名来表示。
- 变量名同样是区分大小写的。
- PHP 中变量无需声明类型,变量的类型根据值的类型来推断。
1 |
|
超全局变量
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
这些超全局变量是:
- $GLOBALS — 引用全局作用域中可用的全部变量
- $_SERVER — 获取服务端相关信息
- $_REQUEST — 获取提交参数
- $_POST — 获取 POST 提交参数
- $_GET — 获取 GET 提交参数
- $_FILES — 获取上传文件
- $_ENV — 操作环境变量
- $_COOKIE — 操作 Cookie
- $_SESSION — 操作 Session
常量
定义
// 定义常量使用的是内置的 `define` 函数 // 第一个参数是常量的名称,建议采用全大写字母命名,多个单词下划线分隔 // 第二个参数是常量中存放的数据,可以是任意类型 // 第三个参数是常量名称是否区不分大小写,默认 false 区分大小写 define('SYSTEM_NAME', '大百度'); define('SYSTEM_ENABLE', true); <!--code8-->