两个函数中都对这个参数global了也不行。
是不支持这样的调用吗?有没有什么办法?
谢谢
15 个解决方案
#1
class a{
private $b;
public function setB($input){
$this->b = $input;
}
public function getB(){
return $this->b;
}
}
#2
class a{
private $var;
public function a($input){
$this->var = 'this a';
}
public function b(){
return $this->var;
}
}
#3
nnd
一不小心用到了var关键字做变量,不好意啊,
一不小心用到了var关键字做变量,不好意啊,
#4
如果不public function的话有没有办法做到?
#5
可以,只要在类内部调用
#6
#5如何实现呢?
该如何去声明?
我这怎么public、global都不行啊,唉
该如何去声明?
我这怎么public、global都不行啊,唉
#7
呃。。。想到了,是不是因为我类中的两个函数不是在一个页面中调用的缘故呢?
A函数输出form,B函数是form提交后才执行的,是这样是不是用上面的方法也无法得到A函数中变量的值?
纠结。。。
A函数输出form,B函数是form提交后才执行的,是这样是不是用上面的方法也无法得到A函数中变量的值?
纠结。。。
#8
补充下,虽然该参数可以通过form post再来获取,可是我希望能直接利用,不然的话为了防止恶意伪造数据,在后面还要重新对该参数进行校核
如果能直接用的话,安全性就提高很多了。
如果能直接用的话,安全性就提高很多了。
#9
用require()包含另一个你需要的文件。
#10
你问题的描述前后不一样啊
按你最开始的描述 那么用1L, 除此以外的话 比如用什么session之类的都应该被看作是对面向对象概念的不理解
按你7L的描述 可以考虑session
按你最开始的描述 那么用1L, 除此以外的话 比如用什么session之类的都应该被看作是对面向对象概念的不理解
按你7L的描述 可以考虑session
#11
不好意思,刚开始没有把需求描述清楚,重新完整描述一下:
有一个类,里面有两个函数,函数A是用来生成输出一个form表单,函数B是接收表单进行处理
其中有一个变量是在函数A中声明并赋值的,现在是想该类中的B函数能直接使用该变量,而不是通过form post过来。
这样的话,因为不是一步同时执行两个函数,而是两个函数分别单独执行,B接收表单的时候会重新实例化类了,用1、2楼的方法就无效了。
或许只能用session了,只是用session的话还不如直接post了,不想通过post的一大原因就是因为post可以伪造,session同样可以。。。
另外说明一点,整个架构执行过程就是这样,是不能更改的,只能是想办法让B函数获得A函数中这个变量的值.
有一个类,里面有两个函数,函数A是用来生成输出一个form表单,函数B是接收表单进行处理
其中有一个变量是在函数A中声明并赋值的,现在是想该类中的B函数能直接使用该变量,而不是通过form post过来。
这样的话,因为不是一步同时执行两个函数,而是两个函数分别单独执行,B接收表单的时候会重新实例化类了,用1、2楼的方法就无效了。
或许只能用session了,只是用session的话还不如直接post了,不想通过post的一大原因就是因为post可以伪造,session同样可以。。。
另外说明一点,整个架构执行过程就是这样,是不能更改的,只能是想办法让B函数获得A函数中这个变量的值.
#12
这样不行,除非你就用一个实例,把这个实例定义在一个公共的单元,然后再引用这个单元,上面也有人说了,这样应该能满足你的需求,不要重新实例化,这样就变成两个不同的实例了。
#13
楼主的结贴率的确让人惊奇。呵呵。
#14
对PHP不是很熟悉`MS 在C#中可以的
#15
哈~结帖率:123.81% 我也才发现~
谢谢以上各位了,由于两个函数是分开独立使用而且每次使用前都重新实例化了,只能得到类变量的初始赋值
PHP也是玩不深入,暂时得到这个结论。。。谢谢~如果有解决办法大家再讨论
#1
class a{
private $b;
public function setB($input){
$this->b = $input;
}
public function getB(){
return $this->b;
}
}
#2
class a{
private $var;
public function a($input){
$this->var = 'this a';
}
public function b(){
return $this->var;
}
}
#3
nnd
一不小心用到了var关键字做变量,不好意啊,
一不小心用到了var关键字做变量,不好意啊,
#4
如果不public function的话有没有办法做到?
#5
可以,只要在类内部调用
#6
#5如何实现呢?
该如何去声明?
我这怎么public、global都不行啊,唉
该如何去声明?
我这怎么public、global都不行啊,唉
#7
呃。。。想到了,是不是因为我类中的两个函数不是在一个页面中调用的缘故呢?
A函数输出form,B函数是form提交后才执行的,是这样是不是用上面的方法也无法得到A函数中变量的值?
纠结。。。
A函数输出form,B函数是form提交后才执行的,是这样是不是用上面的方法也无法得到A函数中变量的值?
纠结。。。
#8
补充下,虽然该参数可以通过form post再来获取,可是我希望能直接利用,不然的话为了防止恶意伪造数据,在后面还要重新对该参数进行校核
如果能直接用的话,安全性就提高很多了。
如果能直接用的话,安全性就提高很多了。
#9
用require()包含另一个你需要的文件。
#10
你问题的描述前后不一样啊
按你最开始的描述 那么用1L, 除此以外的话 比如用什么session之类的都应该被看作是对面向对象概念的不理解
按你7L的描述 可以考虑session
按你最开始的描述 那么用1L, 除此以外的话 比如用什么session之类的都应该被看作是对面向对象概念的不理解
按你7L的描述 可以考虑session
#11
不好意思,刚开始没有把需求描述清楚,重新完整描述一下:
有一个类,里面有两个函数,函数A是用来生成输出一个form表单,函数B是接收表单进行处理
其中有一个变量是在函数A中声明并赋值的,现在是想该类中的B函数能直接使用该变量,而不是通过form post过来。
这样的话,因为不是一步同时执行两个函数,而是两个函数分别单独执行,B接收表单的时候会重新实例化类了,用1、2楼的方法就无效了。
或许只能用session了,只是用session的话还不如直接post了,不想通过post的一大原因就是因为post可以伪造,session同样可以。。。
另外说明一点,整个架构执行过程就是这样,是不能更改的,只能是想办法让B函数获得A函数中这个变量的值.
有一个类,里面有两个函数,函数A是用来生成输出一个form表单,函数B是接收表单进行处理
其中有一个变量是在函数A中声明并赋值的,现在是想该类中的B函数能直接使用该变量,而不是通过form post过来。
这样的话,因为不是一步同时执行两个函数,而是两个函数分别单独执行,B接收表单的时候会重新实例化类了,用1、2楼的方法就无效了。
或许只能用session了,只是用session的话还不如直接post了,不想通过post的一大原因就是因为post可以伪造,session同样可以。。。
另外说明一点,整个架构执行过程就是这样,是不能更改的,只能是想办法让B函数获得A函数中这个变量的值.
#12
这样不行,除非你就用一个实例,把这个实例定义在一个公共的单元,然后再引用这个单元,上面也有人说了,这样应该能满足你的需求,不要重新实例化,这样就变成两个不同的实例了。
#13
楼主的结贴率的确让人惊奇。呵呵。
#14
对PHP不是很熟悉`MS 在C#中可以的
#15
哈~结帖率:123.81% 我也才发现~
谢谢以上各位了,由于两个函数是分开独立使用而且每次使用前都重新实例化了,只能得到类变量的初始赋值
PHP也是玩不深入,暂时得到这个结论。。。谢谢~如果有解决办法大家再讨论