首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在PHP中,变量是如何存储在类中的?

在PHP中,变量是如何存储在类中的?
EN

Stack Overflow用户
提问于 2018-12-20 21:53:38
回答 2查看 276关注 0票数 1

我在使用PHP时取得了一些进步。最近我一直在玩类,我意识到关于变量的一些基本的东西我可能不理解。

我创建了3个PHP文件。

test1.php:

代码语言:javascript
代码运行次数:0
运行
复制
 <?php
class TEST{
    private $data;
    function setData($name, $value){
        $this->data[$name] = $value;
    }
    function getData($name){
            return $this->data[$name];

    }
    function redirect($url){
        header("Location: $url");
    }
}

$test = new TEST();

test2.php

代码语言:javascript
代码运行次数:0
运行
复制
<?php
include("test1.php");
$test->setData("sample", "Will I work?");
$test->redirect("test3.php");

test3.php

代码语言:javascript
代码运行次数:0
运行
复制
<?php
include("test1.php");
echo $test->getData("sample");

第一个文件定义一个类并创建一个对象。第二个文件包含第一个文件,并在该类中使用一个函数将值存储到私有变量" data“中,然后重定向到第三个文件,该文件也包含第一个文件,并尝试检索此存储的数据,但它不起作用。这两个文件都连接到第一个文件。一个将信息存储在其中,另一个试图访问它。然而,它们似乎完全没有联系。

我遗漏了什么?这感觉非常基本,我很羞愧地说我不知道为什么它不能工作。

EN

回答 2

Stack Overflow用户

发布于 2018-12-20 21:58:47

PHP变量只有在页面处于活动状态/正在执行某些操作时才会被存储,因此当您从第2页重定向到第3页时,存储在该变量中的内容就会被删除。在页面之间保存内容的唯一方法是将其保存到会话/cookie/数据库中,然后从那里重新加载内容。简单地包含第一个文件意味着您能够使用该类及其函数,但是一旦您从Test2.php迁移出去,数据就会被删除。

票数 2
EN

Stack Overflow用户

发布于 2018-12-20 22:06:41

是编程语言结构,它根据存储在变量(也称为属性)中的数据以及由函数(也称为方法)定义的对象的行为来定义类对象所包含的内容。

Objects是容器。它们包含表示单个抽象实体的定义函数和变量。

对象将在页面加载结束时被析构(从内存中卸载),或者如果您先前取消了对它的所有引用。

因此,对于对象和类,PHP变量将在通过解释器运行的脚本的整个生命周期中持续存在。在web请求的情况下,这是处理请求的生命周期。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53870066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档