如何在 php 中的相同 class 中将变量从一个函数提取到另一个函数中
How to extract variable from one function into another in same class in php
我想将一个函数中的变量值用于相同 class 的另一个函数中。我正在使用 abstract class
间接声明变量为 global
。我无法在 class 中将变量声明为 global
。我的演示代码如下:
<?php
abstract class abc
{
protected $te;
}
class test extends abc
{
public function team()
{
$te = 5;
$this->te += 100;
}
public function tee()
{
$tee = 51;
return $this->te;
}
}
$obj = new test();
echo $obj->tee();
//echo test::tee();
?>
我可以回显 105 作为答案吗?
我的主要动机是我想学习如何从一个函数获取变量值到另一个函数而不用在同一个函数中声明全局变量 class 请让我知道这是可能的还是我需要删除我的问题?
<?php
abstract class abc
{
protected $te;
}
class test extends abc
{
public function __construct() {
$this->te = 5;
}
public function team()
{
$this->te += 100;
}
public function tee()
{
return $this->te;
}
}
$obj = new test();
$obj->team();
echo $obj->tee();
-- 编辑:至少使用摘要 "feature":
<?php
abstract class abc
{
protected $te;
abstract public function team();
public function tee()
{
return $this->te;
}
}
class test extends abc
{
public function __construct() {
$this->te = 5;
}
public function team()
{
$this->te += 100;
}
}
$obj = new test();
$obj->team();
echo $obj->tee();
-- edi2:既然你问过你是否必须调用团队(然后删除了那个评论):
<?php
abstract class abc
{
protected $te;
abstract public function team();
public function tee()
{
$this->team();
return $this->te;
}
}
class test extends abc
{
public function __construct() {
$this->te = 5;
}
public function team()
{
$this->te += 100;
}
}
$obj = new test();
echo $obj->tee();
所以,是的,它必须在某处调用。但是,根据您要实现的目标,有多种方法可以实现。
class 的每个 属性 都可以通过相同 class 的每个方法访问。因此,您可以创建使用相同 属性 的方法。而且您不需要创建父摘要 class.
class test
{
protected $te = 5;
public function team()
{
$this->te += 100;
}
public function tee()
{
return $this->te;
}
}
$obj = new test();
$obj->team();
echo $obj->tee();
我想将一个函数中的变量值用于相同 class 的另一个函数中。我正在使用 abstract class
间接声明变量为 global
。我无法在 class 中将变量声明为 global
。我的演示代码如下:
<?php
abstract class abc
{
protected $te;
}
class test extends abc
{
public function team()
{
$te = 5;
$this->te += 100;
}
public function tee()
{
$tee = 51;
return $this->te;
}
}
$obj = new test();
echo $obj->tee();
//echo test::tee();
?>
我可以回显 105 作为答案吗?
我的主要动机是我想学习如何从一个函数获取变量值到另一个函数而不用在同一个函数中声明全局变量 class 请让我知道这是可能的还是我需要删除我的问题?
<?php
abstract class abc
{
protected $te;
}
class test extends abc
{
public function __construct() {
$this->te = 5;
}
public function team()
{
$this->te += 100;
}
public function tee()
{
return $this->te;
}
}
$obj = new test();
$obj->team();
echo $obj->tee();
-- 编辑:至少使用摘要 "feature":
<?php
abstract class abc
{
protected $te;
abstract public function team();
public function tee()
{
return $this->te;
}
}
class test extends abc
{
public function __construct() {
$this->te = 5;
}
public function team()
{
$this->te += 100;
}
}
$obj = new test();
$obj->team();
echo $obj->tee();
-- edi2:既然你问过你是否必须调用团队(然后删除了那个评论):
<?php
abstract class abc
{
protected $te;
abstract public function team();
public function tee()
{
$this->team();
return $this->te;
}
}
class test extends abc
{
public function __construct() {
$this->te = 5;
}
public function team()
{
$this->te += 100;
}
}
$obj = new test();
echo $obj->tee();
所以,是的,它必须在某处调用。但是,根据您要实现的目标,有多种方法可以实现。
class 的每个 属性 都可以通过相同 class 的每个方法访问。因此,您可以创建使用相同 属性 的方法。而且您不需要创建父摘要 class.
class test
{
protected $te = 5;
public function team()
{
$this->te += 100;
}
public function tee()
{
return $this->te;
}
}
$obj = new test();
$obj->team();
echo $obj->tee();