php如何在class内定义全局变量

在类里定义一个$curl=curl_init();使它可以被类内的所有function使用... 在类里定义一个$curl = curl_init();
使它可以被类内的所有function使用
展开
 我来答
trymybest1988
推荐于2017-04-19 · TA获得超过138个赞
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:110万
展开全部
你追问的代码有语法错误,
这句:$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内生效看可以吗?
追答
不能在类内声明,不要跟语法拧着干。
换别的实现方法吧
生效的意思是使用,还是声明?
晨色毛1g
2018-03-29 · 超过21用户采纳过TA的回答
知道答主
回答量:87
采纳率:75%
帮助的人:9万
展开全部
public 是表示该属性公用,类内外都能调用。(类外是指实例话后的调用,或静态调用)
private 是表示该属性或方法只能在该类内使用,不能继承,类外也不能调用。global 是全局变量,在程序的任何位置都能使用,在方法或类方法内使用前必须声明该变量是全局变量global $var
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雪天电影
2018-03-29 · TA获得超过766个赞
知道答主
回答量:132
采纳率:0%
帮助的人:36.3万
展开全部

我猜你是想在其他函数都可以调用到$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"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_Herobs
2015-07-31 · 超过60用户采纳过TA的回答
知道小有建树答主
回答量:132
采纳率:80%
帮助的人:84.9万
展开全部
类里面定义的变量,本身类里面的所有函数都可以访问
追问


这样?但是错误信息 Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION
追答
问题应该不是不能访问变量,你再好好检查一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式