首页 > 编程语言 >php入门第二弹(未完)

php入门第二弹(未完)

时间:2023-08-19 23:01:48浏览次数:39  
标签:入门 作用域 第二 SERVER 对象 服务器 php 构造函数

前言:开始复习php了,之前学的内容忘差不多了,所以就补一些我忘了的内容,不会全补。

1 php 超级全局变量

php中预定了几个超级变量,这些变量在一个脚本的全部作用域中都可用,不需要特意说明,就可以在函数以及类

中使用

1.1 $GLOBALS

$GLOBALS 是php中的有一个超级全局变量组,在一个php脚本的全部作用域中都可以访问。

具体使用如下:

<?php
$a = 1;
echo $GLOBALS["a"];

执行结果为1

同个此方式,可以调用不同变量的值。另外再提以下php的作用域问题,php的作用域和javascript类似,都是不

以if 或for形成块级作用域的

1.2 $_SERVER

$_SERVER是一个包含了注入头信息(header) 路径(path) 以及脚本位置(script locations)等信息的数组,这个数组

中的项目由web服务器创建,但不能保证每个服务器都提供全部项目。

下面列出所有$_SERVER的重要元素

1 $_SERVER['PHP_SELF']:当前执行脚本的文件名,比如如果在http://example.com/test.php/foo.bar中执

行,将得到/test.php/foo.bar

利用该

**2 $_SERVER['GATEWAY_INTERFACE'] **

可以得到当前服务器使用的cgi规范的版本,例如cgi/1.1

3 $_SERVER['SERVER_ADDR']

可以得到当前运行脚本的服务器ip地址

4 $_SERVER['SERVER_NAME']

当前运行的脚本所在服务器的ip地址。

5 $_SERVER['SERVER_SOFTWARE']

服务器标识字符串,在响应请求时的头信息中给出。 (如:Apache/2.2.24)

6 $_SERVER['SERVER_PROTOCOL']

请求页面通信协议的名称和版本

还有很多其他元素,就不一一阐述了,如果需要可以去菜鸟教程查询,剩下的一些元素的作用我在此统一阐述一下

7 获取请求方法

8 获取开始的时间戳

9 查询字符串

10 获取请求头中的accept项内容

11 获得当前请求头中的host内容

1.3 $_POST

该变量用于收集html表单提交的数据,

具体方法如下:

<html>
<body>
 
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
 
<?php 
$name = $_POST['fname']; 
echo $name; 
?>
 
</body>
</html>

有几个点需要解释下

在action属性嵌套php内容,然后利用echo把本文件的地址输入给action属性,使得表单提交的数据发送给本页面

,然后再下面获得post传递的值,并输出

如果将数据传递给其他页面的php文件,想要重定向会来,可以使用: header("Location: text.html");

来实现重定向

1.4 $_GET

PHP的$_GET被广泛使用于收集表单数据,可以在表单中method属性给与get方法,也可也直接构造url通过get方

法传递数据。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <a href="a.php?subject=PHP">链接</a>
    <?php
    echo $_GET['subject'];
    ?>
</body>

</html>

通过此方式利用get方法在查询字符串时传递数据

1.5 $_REQUEST

$_REQUEST 可以获得无论是get方法传递,还是post方法传递的数据,具体使用方式只需要

$_POST["具体的变量名"]

即可获得传递的数据

2 类和对象

由于太久没有使用了,所以忘差不多了,现在重新整理一下,但只会整理存在遗忘的部分。

2.1 构造函数

构造函数用于对象初始化,再创建对象时,构造函数就会被调用,构造函数具体使用如下:

<?php
class abs
{
    var $a;
    function __construct($a)
    {
        $this->a = $a;
    }
}
$a = new abs(1);
echo $a->a;

2.2析构函数

析构函数是当某个对象成为垃圾或者当对象被显式销毁时执行的方法,没有任何变量引用这个对象时,该对象就会

成为垃圾然后被销毁

直白点的说,当我们人为销毁创建的对象时,或者原来的对象被覆盖时,或php程序结束时对原有对象内存的释放

会执行析构函数。

实例如下:

<?php
class abs
{
    function __destruct()
    {
        echo 1;
    }
}
$a = new abs;
$a=null ;//原有的对象被覆盖,触发析构函数

或者

<?php
class abs
{
    function __destruct()
    {
        echo 1;
    }
}
$a = new abs;

原有的对象在php程序执行结束后被销毁,执行析构函数。

2.3 类的修饰符

存在public private protected 三种修饰符

标签:入门,作用域,第二,SERVER,对象,服务器,php,构造函数
From: https://www.cnblogs.com/rpup/p/17643371.html

相关文章

  • 第二十二节 API(时间,包装类,练习)
    第一章Date类1.1Date概述java.util.Date`类表示特定的瞬间,精确到毫秒。继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,我们重点看以下两个构造函数publicDate():从运行程序的此时此刻到时间原点经历的毫秒值,转换成Date对象,分配Date对象并初始化此对象,以......
  • Kotlin-大师班 第二章-随笔
    1.AppCompatActicity.onCreate()每次Activity创建时调用。Activity对应一个屏幕,如果你的应用程序中有多个屏幕,如登录屏幕、客人资料等,所有这些都是不同的Activity。 可以理解为Activity对等于屏幕。2. setContentView设置View的内容。R代表Resources3.sp:......
  • 《408操作系统 》复习笔记 ② 第二章 进程与线程
    进程的概念、组成、特征程序是静态的,存放在磁盘里的可执行文件,就是一系列的指令集合进程(Process)是动态的,是程序的一次执行过程。同一个程序多次执行会对应多个进程操作系统如何区分各个进程当进程被创建时,操作系统为该进程分配一个唯一的、不重复的PIDPCB操作系统要记......
  • C++入门:内联函数
    1.概念以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。如果在上述函数前增加inline关键字将其改成内联函数,在编译期间编译器会用函数体替换函数的调用。查看方式:1.在release模式下,查看编译器生成......
  • 2-13-Gateway网关-快速入门
    搭建网关1.新建springboot项目2.将新建项目作为模块加入原有体系<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaL......
  • ThinkPHP6学习笔记2
    门面模式facadefacade不能在模型里面建立关联关系:这里是属于注入是不能使用facade类的Facade怎么获取model实例对象-facedeinstance方法$model=TestFacadeModel::instance();-容器类直接实例化$model=app(TestModel::class,[],true);-facade定义类新建......
  • C++入门到放弃(11)——继承
    ​继承是面向对象编程语言当中,最重要的部分,也是代码重用的一种重要形式。不知道为啥不能添加代码了,全部只能用图片替代了。1.基本形式首先继承的有三种基本形式,分别是public、private、protected,代表公有继承、私有继承和保护继承,之前在介绍作用范围的时候提过这三者的区别,但这......
  • 1.5 填报功能入门
    一、填报功能1.概述1.1功能简介将页面数据写入到数据库,包括数据的增加、删除和修改操作。支持对数据的自定义校验,excel导入数据,根据填写值智能联动。1.2预期效果1)新增数据填报预览时,选中某一行数据,点击「增加记录」按钮,在这行数据后面新增一行数据。2)修改数据填报......
  • 【Freertos基础入门】队列(queue)的使用
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档@TOC前言本系列基于stm32系列单片机来使用freerotsFreeRTOS是一个广泛使用的开源实时操作系统(RTOS),它提供了丰富的功能和特性,使嵌入式系统的开发更加简单和高效。队列是FreeRTOS中常用的一种通信机制,它用于在任务之间传......
  • 第二十一节 API(正则表达式)
    正则表达式1.1正则表达式的概念及演示在Java中,我们经常需要验证一些字符串,例如:年龄必须是2位的数字、用户名必须是8位长度而且只能包含大小写字母、数字等。正则表达式就是用来验证各种字符串的规则。它内部描述了一些规则,我们可以验证用户输入的字符串是否匹配这个规则。先......