在类中的函数中设置一个非字符串变量,以获取类中的其他PHP文件
首先: 在main.php上,我可以使用在类中的函数中设置一个非字符串变量,以获取类中的其他PHP文件,php,class,oop,Php,Class,Oop,首先: 在main.php上,我可以使用$this->tester1在函数之间共享变量,因此我需要公共$tester1;在我的文件顶部-没有它似乎可以正常工作 其次: 如果我删除$this->tester1='test',我试图在other.php上的main.php中获取变量集并将public$tester1设置为='test'然后echo$this->tester1都可以正常输出 但是,我需要变量=get_option('my_option'),而不是'test'需要在init操作的\uu构
$this->tester1
在函数之间共享变量,因此我需要公共$tester1;在我的文件顶部-没有它似乎可以正常工作
其次:
如果我删除$this->tester1='test',我试图在other.php上的main.php中获取变量集从函数中选择code>并将public$tester1设置为='test'代码>然后echo$this->tester1任一文件上的代码>都可以正常输出
但是,我需要变量=get_option('my_option'),而不是'test'
需要在init
操作的\uu构造
之后调用,因此需要在函数mymain函数
中
如果我尝试在该函数中设置变量并尝试通过other.php访问它,它会显示意外的PUBLIC,如果我从变量中删除PUBLIC,则输出是未定义的属性:MyMainClass::$tester1
get_选项的输出是一行文本
我想我已经差不多做到了,但是错过了一些简单的事情——希望如此!)
这是我的档案:
main.php
class MyMainClass {
public $tester1;
public function __construct() {
add_action( 'init', array( &$this, 'mymainfunction' ) );
}
public function mymainfunction() {
$this->tester1 = 'test';
echo $this->tester1;
}
}
class MyOtherClass {
public function __construct() {
add_action( 'init', array(&$this, 'myotherfunction' ) );
}
public function myotherfunction() {
require_once 'main.php';
$getvariables = new MyMainClass();
echo 'tester1 is:' . $getvariables->tester1;
}
}
class MyMainClass {
public $tester1;
public function __construct() {
$this->tester1 = 'test1';
}
}
require_once 'main.php';
class MyOtherClass {
public function __construct() {
$main = new MyMainClass();
echo 'tester1 is:' . $main->tester1;
}
}
other.php
class MyMainClass {
public $tester1;
public function __construct() {
add_action( 'init', array( &$this, 'mymainfunction' ) );
}
public function mymainfunction() {
$this->tester1 = 'test';
echo $this->tester1;
}
}
class MyOtherClass {
public function __construct() {
add_action( 'init', array(&$this, 'myotherfunction' ) );
}
public function myotherfunction() {
require_once 'main.php';
$getvariables = new MyMainClass();
echo 'tester1 is:' . $getvariables->tester1;
}
}
class MyMainClass {
public $tester1;
public function __construct() {
$this->tester1 = 'test1';
}
}
require_once 'main.php';
class MyOtherClass {
public function __construct() {
$main = new MyMainClass();
echo 'tester1 is:' . $main->tester1;
}
}
首先:
若我并没有错的话,并没有任何显式可见性关键字的声明被定义为public
其次:
你在另一个方法的中间包含一个类。我觉得很奇怪。。“require_once”只需插入一个文件的内容,在其中调用指令。所以我的猜测是它的PHP语法混乱了。为了帮助您,您是否尝试将“other.php”替换为以下内容:
require_once 'main.php';
class MyOtherClass {
public function __construct() {
add_action( 'init', array(&$this, 'myotherfunction' ) );
}
public function myotherfunction() {
$getvariables = new MyMainClass();
echo 'tester1 is:' . $getvariables->tester1;
}
}
但说实话,我不知道你想做什么,但像这样的事情会更简单,对吧
main.php
class MyMainClass {
public $tester1;
public function __construct() {
add_action( 'init', array( &$this, 'mymainfunction' ) );
}
public function mymainfunction() {
$this->tester1 = 'test';
echo $this->tester1;
}
}
class MyOtherClass {
public function __construct() {
add_action( 'init', array(&$this, 'myotherfunction' ) );
}
public function myotherfunction() {
require_once 'main.php';
$getvariables = new MyMainClass();
echo 'tester1 is:' . $getvariables->tester1;
}
}
class MyMainClass {
public $tester1;
public function __construct() {
$this->tester1 = 'test1';
}
}
require_once 'main.php';
class MyOtherClass {
public function __construct() {
$main = new MyMainClass();
echo 'tester1 is:' . $main->tester1;
}
}
other.php
class MyMainClass {
public $tester1;
public function __construct() {
add_action( 'init', array( &$this, 'mymainfunction' ) );
}
public function mymainfunction() {
$this->tester1 = 'test';
echo $this->tester1;
}
}
class MyOtherClass {
public function __construct() {
add_action( 'init', array(&$this, 'myotherfunction' ) );
}
public function myotherfunction() {
require_once 'main.php';
$getvariables = new MyMainClass();
echo 'tester1 is:' . $getvariables->tester1;
}
}
class MyMainClass {
public $tester1;
public function __construct() {
$this->tester1 = 'test1';
}
}
require_once 'main.php';
class MyOtherClass {
public function __construct() {
$main = new MyMainClass();
echo 'tester1 is:' . $main->tester1;
}
}
这对字符串有效,但我想将get_选项存储在问题中,我不能在_构造中这样做,只能存储在它在init上调用的函数上。