php如何在class内定义全局变量
展开全部
你追问的代码有语法错误,
这句:$curl = curl_init();
不能通过调用函数的方式为成员变量赋值!!
楼主全局变量不能在class内部定义,但是可以在类内部使用。
如果要访问类内部的变量,可以把成员变量设置成public
<?php
// 定义一个全局变量
$global_var = 1;
class A
{
// 定义一个public型成员变量
public static $public_class_var = 2;
public function print_global()
{
// 使用全局变量
global $global_var;
echo $global_var;
}
}
// 测试
$a = new A();
$a->print_global();
echo A::$public_class_var;
这句:$curl = curl_init();
不能通过调用函数的方式为成员变量赋值!!
楼主全局变量不能在class内部定义,但是可以在类内部使用。
如果要访问类内部的变量,可以把成员变量设置成public
<?php
// 定义一个全局变量
$global_var = 1;
class A
{
// 定义一个public型成员变量
public static $public_class_var = 2;
public function print_global()
{
// 使用全局变量
global $global_var;
echo $global_var;
}
}
// 测试
$a = new A();
$a->print_global();
echo A::$public_class_var;
更多追问追答
追问
我只想让$global_var在class A内生效看可以吗?
追答
不能在类内声明,不要跟语法拧着干。
换别的实现方法吧
生效的意思是使用,还是声明?
展开全部
public 是表示该属性公用,类内外都能调用。(类外是指实例话后的调用,或静态调用)
private 是表示该属性或方法只能在该类内使用,不能继承,类外也不能调用。global 是全局变量,在程序的任何位置都能使用,在方法或类方法内使用前必须声明该变量是全局变量global $var
private 是表示该属性或方法只能在该类内使用,不能继承,类外也不能调用。global 是全局变量,在程序的任何位置都能使用,在方法或类方法内使用前必须声明该变量是全局变量global $var
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我猜你是想在其他函数都可以调用到$curl 这个变量的值,你在其他函数里面直接global就行了。且你写法是错的,直接在类里面调方法赋值是什么意思?
//我猜测你是要这种效果。
class myclass1{
protected $_useragent;
public $curl;
public function __construct(){
global $curl;
$curl=$this->curl_init();
}
function curl_init(){
return 'my date';
}
function text(){
global $curl; //想在函数内调用$curl么?那就用global吧
echo $curl;
}
}
$myclass=new myclass1();
$myclass->text(); //打印出 "my date"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类里面定义的变量,本身类里面的所有函数都可以访问
追问
这样?但是错误信息 Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION
追答
问题应该不是不能访问变量,你再好好检查一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询