网络请求通信过程扩展(了解)

客户端 : 浏览器(Chorme, firefox, Edge) B

服务器 : 提供服务的一台无端主机

IP: 用来在网络当中定位一台绝对的主机电脑.(IPV4,IPV6)

LAN: 局域网

POPT: 端口号(在一台主机中,定义应用程序使用)

域名: 是IP地址的一种关系映射,方便记忆

DNS: 域名解析服务(本地: /etc/hosts, 202.106.0.20)

TCP/IP: 传输控制协议,用来发起网络请求

  • 连接有三次握手
  • 断开连接有四次挥手

HTTP: 超文本传输协议

  • 请求报文
    • 请求行
    • 请求头
    • 空行
    • 请求体(POST)
  • 响应报文
    • 响应行
    • 响应头
    • 空行
    • 响应体(实际请求数据)

Apache: Web服务器软件 (Tomcat, python, Ngix ), 用来接收客户端的请求.

MySQL: 数据库服务器, 存储数据

PHP: PHP程序解析器(处理PHP代码文件)

0. PHP 官方文档

https://www.php.net/manual/zh/index.php

1. PHP语句结束标记

PHP语句,都以 分号做为结束标记,如果没有分号,代码会报错.

2.常量

常量是指值不会发生变化的量。它具有全局性,能在整个脚本中贯穿使用。

如果常量值被定义,则该值在脚本执行期间都不能改变或取消定义。

  • 注意:
    1. 常量名前面没有 $ 符号
    2. 常量习惯上以全大写方式命名
  • 定义方式一

    1. define(key,value);
  • 定义方式二
    使用 const 关键字定义常量时,只能包含标量数据(bool、int、float 、string)。
    可以将常量定义为一个表达式,也可以定义为一个 array。
    还可以定义 resource 为常量,但应尽量避免,因为可能会造成不可预料的结果。

    1. const 常量名 = 值;
  1. // define("PI",3.14);
  2. // define('CARS', array("Benz","BMW","OOOO"));
  3. const PI = 3.14;
  4. const CARS = array("Benz","BMW","OOOO");
  5. echo PI;
  6. echo "<br>";
  7. var_dump(CARS);
  8. echo "<br>";
  9. echo CARS[2];
  • 获取系统中定义的所有常量
    返回值为一个数组;

    1. get_defined_constants()
    1. $cs = get_defined_constants();
    2. foreach ($cs as $key => $value) {
    3. echo $key." --> ".$value . "<br>";
    4. }
  • 判断是否定义某个常量
    函数接收一个字符串类型的常量名,返回值为bool类型

    1. defined("常量名")
    1. echo defined("PI");
    2. echo defined("CARS");
    3. echo defined("CARS1");

3. 预定义常量

PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了

注意: 下列括号中的内容表示该常量表示的数据类型,并不是参数

  • **PHP_VERSION** (string)
    当前 PHP 版本的字符串,”主版本号.子版本号.阶段版本号[扩展信息]”形式。
  • **PHP_MAXPATHLEN** (int)
    当前 PHP 版本支持的最大文件名(包括路径)长度。
  • **PHP_OS** (string)

    1. 运行 PHP 的操作系统。
  • **PHP_EOL** (string)
    当前平台中对于换行符的定义。

  • **PHP_INT_MAX** (int)
    当前 PHP 版本支持的最大整型数字。在 32 位系统中通常为 int(2147483647),64 位系统中为 int(9223372036854775807)。
  • **PHP_INT_MIN** (int)
    当前 PHP 版本支持的最小整型数字。在 32 位系统中通常为 int(-2147483648),64 系统中为 int(-9223372036854775808)。通常情况下 PHP_INT_MIN === ~PHP_INT_MAX。
  • **PHP_INT_SIZE** (int)
    当前 PHP 版本的整数大小(以字节为单位)。

4 魔术常量

PHP中有九个魔术常量它们的值随着它们在代码中的位置改变而改变。

例如 **__LINE__** 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下

**__LINE__** 文件中的当前行号。
**__FILE__** 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
**__DIR__** 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)
。除非是根目录,否则目录中名不包括末尾的斜杠。
**__FUNCTION__** 当前函数的名称。匿名函数则为 {closure}
**__CLASS__** 当前类的名称。类名包括其被声明的作用域(例如 Foo\\Bar
)。当用在 trait 方法中时,CLASS 是调用 trait 方法的类的名字。
**__TRAIT__** Trait 的名字。Trait 名包括其被声明的作用域(例如 Foo\\Bar
)。
**__METHOD__** 类的方法名。
**__NAMESPACE__** 当前命名空间的名称。
**ClassName::class** 完整的类名。
  1. echo "Warning: Division by zero in". __FILE__. " on line". __LINE__;

5. 输出

  • echo
    输出一个或多个字符串,输出所有参数。不会换行。
    echo 不是一个函数(它是一个语言结构), 因此你不一定要使用小括号来指明参数,单引号,双引号都可以,并且没有返回值
    echo (不像其他语言构造)不表现得像一个函数, 所以不能总是使用一个函数的上下文。
    注意,如果你想给 **echo** 传递多个参数, 那么就不能使用小括号。

    1. echo(string $arg1, string $... = ?): void
    1. echo "HELLO";
    2. echo "<br>";
    3. // 多个字符串之间使用 逗号 分隔
    4. echo "HELLO","PHP","WORLD";
    5. echo "<br>";
    6. // 如果有多个字符串输出,不能加小括号
    7. // echo ("HELLO","PHP","WORLD");
  • print(了解)
    Print 用来输出一个字符串, 也就是输出 arg
    print 实际上不是函数(而是语言结构),所以可以不用圆括号包围参数列表。
    echo 最主要的区别: print 仅支持一个参数,并总是返回 1。

    1. print(string $arg): int
    1. print "<br>";
    2. print "HELLO";
    3. print "<br>";
    4. // 多个字符串之间使用 逗号 分隔
    5. // print "HELLO","PHP","WORLD";
    6. print "<br>";
    7. // . 是 php中的连接符,可以连接字符串,相当于js中的 +
    8. print "HELLO"."PHP"."WORLD";
  • print_r()
    print_r() 是一个函数,使用时,必须加 括号
    print_r — 以易于理解的格式打印变量。如果输出内容是标量类型,那么直接输出值
    mixed 等同于 联合类型 object|resource|array|string|int|float|bool|null。
    $return 参数默认为 false, 表是只输出,返回数据, 如果改为 true, 则不会输出内容,而是将内容做为返回值返回.无意义.

    1. print_r(mixed $expression, bool $return = false): mixed

    ```php print_r(“HELLO”); echo “
    “; // 默认输出时,直接将参数输出,返回值为1 $ret = print_r(“PHP”); echo “
    “; echo $ret; echo “
    “;

// 如果给定参数二 $return 的值为 true, 则不输出内容,将内容做为返回值返回 $ret = print_r(“PHP”, true); echo “
“; echo $ret; echo “
“; $animals = array(“cat”,”dog”,’bird’,’duck’,”pig”); print_r($animals);

  1. - var_dump() <br />打印变量的相关信息<br />var_dump() 也是一个函数,括号不能省略.<br />此函数显示关于一个或多个表达式的结构信息,包括表达式的**类型与值**。<br />数组和对象将递归展开值,通过缩进显示其结构。
  2. ```php
  3. var_dump(mixed $value, mixed ...$values): void
  1. var_dump("HELLO");
  2. echo "<br>";
  3. $s = "PHP";
  4. var_dump($s);
  5. echo "<br>";
  6. $animals = array("cat","dog",'bird','duck',"pig");
  7. var_dump($animals);