$ this 변수는 PHP에서 무엇을 의미합니까?
나는 $this
항상 PHP 에서 변수 를보고 그것이 무엇에 사용되는지 전혀 모른다. 저는 개인적으로 그것을 사용한 적이 없으며 검색 엔진은를 무시하고 $
결국 "this"라는 단어를 검색합니다.
누군가 $ this 변수가 PHP에서 어떻게 작동하는지 말해 줄 수 있습니까?
현재 객체에 대한 참조이며 객체 지향 코드에서 가장 일반적으로 사용됩니다.
- 참조 : http://www.php.net/manual/en/language.oop5.basic.php
- 입문서 : http://www.phpro.org/tutorials/Object-Oriented-Programming-with-PHP.html
예:
<?php
class Person {
public $name;
function __construct( $name ) {
$this->name = $name;
}
};
$jack = new Person('Jack');
echo $jack->name;
생성 된 객체의 속성으로 'Jack'문자열을 저장합니다.
$this
PHP 의 변수에 대해 배우는 가장 좋은 방법 은 PHP에 그것이 무엇인지 물어 보는 것입니다. 우리에게 묻지 말고 컴파일러에게 물어보십시오.
print gettype($this); //object
print get_object_vars($this); //Array
print is_array($this); //false
print is_object($this); //true
print_r($this); //dump of the objects inside it
print count($this); //true
print get_class($this); //YourProject\YourFile\YourClass
print isset($this); //true
print get_parent_class($this); //YourBundle\YourStuff\YourParentClass
print gettype($this->container); //object
나는 그것의 오래된 질문, 어쨌든 $ this 에 대한 또 다른 정확한 설명을 알고 있습니다. $ this 는 주로 클래스의 속성을 참조하는 데 사용됩니다.
예:
Class A
{
public $myname; //this is a member variable of this class
function callme() {
$myname = 'function variable';
$this->myname = 'Member variable';
echo $myname; //prints function variable
echo $this->myname; //prints member variable
}
}
산출:
function variable
member variable
다른 많은 객체 지향 언어와 마찬가지로 자체 내에서 클래스의 인스턴스를 참조하는 방법입니다.
로부터 PHP 워드 프로세서 :
의사 변수 $ this는 객체 컨텍스트 내에서 메서드가 호출 될 때 사용할 수 있습니다. $ this는 호출 개체에 대한 참조입니다 (보통 메서드가 속한 개체이지만 메서드가 보조 개체의 컨텍스트에서 정적으로 호출되는 경우 다른 개체 일 수 있음).
$ this를 사용하지 않고 다음 코드 스 니펫을 사용하여 동일한 이름의 인스턴스 변수와 생성자 인수를 사용하면 어떻게되는지 살펴 보겠습니다.
<?php
class Student {
public $name;
function __construct( $name ) {
$name = $name;
}
};
$tom = new Student('Tom');
echo $tom->name;
?>
아무것도 울리지 않는다
<?php
class Student {
public $name;
function __construct( $name ) {
$this->name = $name; // Using 'this' to access the student's name
}
};
$tom = new Student('Tom');
echo $tom->name;
?>
이것은 'Tom'을 에코합니다.
when you create a class you have (in many cases) instance variables and methods (aka. functions). $this accesses those instance variables so that your functions can take those variables and do what they need to do whatever you want with them.
another version of meder's example:
class Person {
protected $name; //can't be accessed from outside the class
public function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
// this line creates an instance of the class Person setting "Jack" as $name.
// __construct() gets executed when you declare it within the class.
$jack = new Person("Jack");
echo $jack->getName();
Output:
Jack
$this
is a reference to the calling object (usually the object to which the method belongs, but possibly another object, if the method is called statically from the context of a secondary object).
$this is a special variable and it refers to the same object ie. itself.
it actually refer instance of current class
here is an example which will clear the above statement
<?php
class Books {
/* Member variables */
var $price;
var $title;
/* Member functions */
function setPrice($par){
$this->price = $par;
}
function getPrice(){
echo $this->price ."<br/>";
}
function setTitle($par){
$this->title = $par;
}
function getTitle(){
echo $this->title ." <br/>";
}
}
?>
It refers to the instance of the current class, as meder said.
See the PHP Docs. It's explained under the first example.
참고URL : https://stackoverflow.com/questions/1523479/what-does-the-variable-this-mean-in-php
'developer tip' 카테고리의 다른 글
Android에서 프로그래밍 방식으로 ImageView의 이미지 변경 (0) | 2020.08.29 |
---|---|
Android 스튜디오-android-18 대상을 찾지 못했습니다. (0) | 2020.08.28 |
JavaScript를 사용하여 브라우저 버전과 운영 체제를 감지하는 방법은 무엇입니까? (0) | 2020.08.28 |
Python 사전을 JSON 배열로 변환 (0) | 2020.08.28 |
Spring Boot에서 모든 데이터베이스 관련 자동 구성 비활성화 (0) | 2020.08.28 |