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

Subodh Poudel 2023년1월30일 PHP PHP Object
  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) }
튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
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