PHP에서 클래스없이 객체 생성

Subodh Poudel 2023년1월30일
  1. new stdClass()를 사용하여 PHP에서 클래스없이 객체 생성
  2. 클래스를 생성하지 않고 객체를 생성하기 위해object데이터 유형을 사용하여 배열을 객체로 타입 캐스트
  3. json_dencode()함수를 사용하여 PHP에서 클래스를 생성하지 않고 객체 생성
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변수를 만들고 여기에 배열을 저장합니다. 배열에는citycountry의 키와PokharaNepal의 각 값이 포함됩니다. $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,TonyJuan이 키로 포함되고 정수 값27,2432가 각각의 값으로 포함됩니다. 키-값 쌍은 중괄호로 묶여 있습니다. 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 Poudel avatar Subodh Poudel avatar

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

관련 문장 - PHP Object