PHP에서 클래스없이 객체 생성
-
new stdClass()
를 사용하여 PHP에서 클래스없이 객체 생성 -
클래스를 생성하지 않고 객체를 생성하기 위해
object
데이터 유형을 사용하여 배열을 객체로 타입 캐스트 -
json_dencode()
함수를 사용하여 PHP에서 클래스를 생성하지 않고 객체 생성
이 기사에서는 PHP에서 클래스를 생성하지 않고 객체를 생성하는 방법을 소개합니다.
new stdClass()
를 사용하여 PHP에서 클래스없이 객체 생성
PHP에서 기본 클래스를 만들지 않고도stdClass()
에서 객체를 만들 수 있습니다. new
연산자를 사용하여stdClass()
의 객체를 만들 수 있습니다. 개체는 속성을 호출하여 직접 속성에 액세스 할 수 있습니다. 따라서stdClass()
를 사용하여 동적 객체와 속성을 만들 수 있습니다. 컴파일러는 배열이 객체로 형변환 될 때stdClass()
의 인스턴스를 만듭니다.
예를 들어,$object
변수를 만들고new
연산자에 의해 생성 된stdClass()
의 인스턴스를 저장합니다. $object
개체에서property
변수를 호출하고 문자열을 할당합니다. I am an object's property
문자열을 할당합니다. 백 슬래시\
를 사용하여 텍스트에서 아포스트로피를 이스케이프하십시오. 변수에 대한 정보를 덤프하려면$object
변수에var_dump()
함수를 적용합니다.
아래 예에서stdClass()
의 객체를 생성하고 즉시 객체의 속성에 값을 할당했습니다. 객체를 덤프 할 때 출력에서 생성 된stdClass
클래스의 객체를 볼 수 있습니다. 따라서 PHP에서 기본 클래스를 생성하지 않고도 객체를 생성 할 수 있습니다.
예제 코드 :
#php 7.x
<?php
$object = new stdClass();
$object->property = 'I am an object\'s property';
var_dump($object);
?>
출력:
object(stdClass)#1 (1) { ["property"]=> string(25) "I am an object's property" }
클래스를 생성하지 않고 객체를 생성하기 위해object
데이터 유형을 사용하여 배열을 객체로 타입 캐스트
PHP에서 클래스를 생성하지 않고도 객체를 생성하고object
데이터 유형을 사용하여 유형을 객체로 형변환 할 수 있습니다. 배열을stdClass
객체로 형변환 할 수 있습니다. object
키워드는 배열이 배열을 객체로 형변환하기 직전에 괄호로 둘러싸여 있습니다. 타입 캐스트 된 객체에 대한 정보를보기위한 첫 번째 방법으로var_dump()
함수를 사용할 수 있습니다.
예를 들어,$place
변수를 만들고 여기에 배열을 저장합니다. 배열에는city
및country
의 키와Pokhara
및Nepal
의 각 값이 포함됩니다. $place
변수를 새$obj
변수에 할당합니다. $place
변수 바로 앞에 괄호로 묶인object
데이터 유형을 작성합니다. $obj
를 매개 변수로 사용하여var_dump()
함수를 호출합니다.
아래 예제는 배열을 객체로 형변환합니다. var_dump()
함수는 출력 섹션에$obj
객체를 표시합니다. stdClass
객체임을 보여줍니다. 타입 캐스팅이 어떻게 작동하는지 알아 보려면 PHP 매뉴얼을 확인하세요.
코드 예 :
#php 7.x
<?php
$place = ['city' => 'Pokhara', 'country' =>'Nepal'];
$obj = (object) $place;
var_dump($obj);
?>
출력:
object(stdClass)#1 (2) { ["city"]=> string(7) "Pokhara" ["country"]=> string(5) "Nepal" }
json_dencode()
함수를 사용하여 PHP에서 클래스를 생성하지 않고 객체 생성
json_decode()
함수는 JSON 문자열을 PHP 객체로 변환합니다. 이 함수는 객체로 변환 될 문자열 매개 변수를받습니다. 이 함수는 선택적 부울 매개 변수도 사용합니다. 이 부울 매개 변수의 기본값은false
이며 JSON 객체를 PHP 객체로 변환합니다. 값이true
이면 JSON 객체를 연관 배열로 변환합니다.
예를 들어$jsonobj
변수를 만들고 여기에 JSON 개체를 저장합니다. 개체에는Harry
,Tony
및Juan
이 키로 포함되고 정수 값27
,24
및32
가 각각의 값으로 포함됩니다. 키-값 쌍은 중괄호로 묶여 있습니다. JSON 개체는 따옴표로 묶여 문자열로 표시됩니다. 그런 다음$jsonobj
변수에json_decode()
함수를 사용합니다. 인코딩 된 객체에 대한 정보를 표시하려면var_dump()
함수를json_encode()
함수에 적용합니다.
아래 예제에서json_encode()
함수는 JSON 객체를stdClass
의 PHP 객체로 변환합니다. var_dump()
함수는 객체의 속성과 값을 보여줍니다. 따라서 우리는 PHP에서 클래스를 생성하지 않고 객체를 생성했습니다. 또한 값의 유형도 표시합니다. json_decode()
함수에 대한 자세한 내용은 PHP 매뉴얼을 참조하십시오.
예제 코드 :
# php 7.x
<?php
$jsonobj = '{"Harry":27,"Tony":24,"Juan":32}';
var_dump(json_decode($jsonobj));
?>
출력:
object(stdClass)#1 (3) { ["Harry"]=> int(27) ["Tony"]=> int(24) ["Juan"]=> int(32) }
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn