2011-11-07 6 views
7

나는 PHP에서 OOP를 배우는 단계에 있으며 다른 PHP 클래스에서 변수를 호출하는 방법을 알고 싶다.다른 클래스에서 변수 호출하기 PHP

예 :

class first { 
    public $var1 = 1; 
} 

는 나는이 방법 같아요하지만 난 계속하는 방법을 모른다 :

첫째 = 새로운 $ 첫째

$();

답변

14

당신은 같이해야합니다 :

$first = new first(); 
echo $first->var1; 
+0

@xdazz 감사합니다! <3 – FBwall

2

이 같이 호출해야합니다

$first = new first(); 
$first->var1; 
0

당신은 클래스의 인스턴스를 생성해야합니다 :

$instance=new first(); 

그런 다음 해당 인스턴스에서 변수에 액세스 할 수 있습니다.

$var=$instance->var1; 

주 - 인스턴스를 만들 때 클래스 이름 앞에 $가 없습니다. 더 나은 방법을

1

은 다음과 같이합니다

class first { 
    private $var1 = 1; 
    function getVar(){ 
     return $this->var1; 
    } 

    function setVar($value){ 
     $this->var1 = $value; 
    } 
} 

또는 같은

:

class first { 
    private $var1 = 1; 
    function __get(){ 
     return $this->var1; 
    } 

    function __set($key,$value){ 
     $this->$key = $value; 
    } 
} 

이 경우 일부 예외를 처리하려고 할 수 있습니다.

수동 : http://www.php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.members

+0

getter 및 setter 함수를 사용하면 외부 액세스에서 내부 표현을 추상화하므로 OOP 디자인이 더 좋습니다. 예를 들어, var1에 의존하는 많은 코드를 작성했지만 나중에 변수 이름을 다른 것으로 변경하기로 결정한 경우 모든 외부 코드가 손상됩니다. –

+0

값을 액세스 가능하게 만들고 (예 : 읽기/쓰기) 어떻게 알 수있는 클래스를 사용하지 않고 값을 변경할 수 있는지 묻는 질문입니다. 그것은 당연한 일이 아닙니다. 도발적인 제목을 가지고 있지만 결정을 많이 내리는 http://www.javaworld.com/javaworld/jw-09-2003/jw-0905-toolbox.html을보십시오. 역할. – hakre

0
<?php 

class Myname 
{ 
    public static $name='Your First Name'; 
} 
class Mylast 
{ 
    public static $last='Your Last Name'; 
} 
class Fullname 
{ 

    public static function staticValue() { 
     return Myname::$name."--".Mylast::$last; 
    } 
} 

print Fullname::staticValue() . "\n"; 
?> 
관련 문제