php 클래스 를 실례 화 할 때 전 삼 하 는 방법 분석

본 고의 실례 는 php 클래스 를 실례 화 할 때 전 삼 하 는 방법 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
우리 가 phop 류 를 예화 할 때 어떻게 파 라 메 터 를 전달 해 야 합 니까?이것 은 이런 구조 방법 에 달 려 있다.
예:
person.class.php

<?php
    class person{
        var $name;
        var $color;
        var $sex;
        var $age;
        function __construct($name,$age='',$sex='boy'){
            $this->name = $name;
            $this->age = $age;
            $this->sex = $sex;
            $this->color = 'yello';
        }
        function eat(){
            echo $this->name.'   ';
        }
        function xinxi(){
            echo $this->name.' is '.$this->sex.' and age is '.$this->age.' fuse is '.$this->color;
        }
        function zuoyong(){
          //          ,    eat()      zuoyong()  ,      eat()      
            //   http://localhost/zuoyong?food=xigua   url   zuoyong()
            //  eat()      $_GET['food']  url  ,              
            $this->eat();
        }
    }
?>
son.php

<?php
    include('person.class.php');
    $son = new person('cuihua',25,'girl');//                        
    //$son->xinxi();//cuihua is girl and age is 25 fuse is yello
    $son->name = '  ';
    $son->eat();//     
?>

주:php 클래스 의 속성($name,$age 등)은 이 클래스 의 전역 범위 내 에서 사용 할 수 있 으 며,클래스 의 속성 을'이 클래스 의'전역 변수 로 볼 수 있 습 니 다.그러나 외부 프로그램 이 이 클래스 의 방법 을 다시 호출 할 때 이 클래스 는 다시 실례 화 됩 니 다.즉,구조 방법 을 다시 실행 하려 면 지난번 에$name 등 속성 에 부여 한 값 이 비 워 지기 때문에$name 등 속성의 값 은 상수 나 session 의 값 처럼 계속 유지 되 지 않 습 니 다.
son2.php

<?php
    include('person.class.php');
    $son = new person('cuihua',25,'girl');
    $son2 = $son;
    $son2->name = '  ';
    $son->eat();//     
?>

$son 대상 에 게$sin 2 를 부여 한 후에$son 2 의 name 매개 변 수 를 바 꾸 었 습 니 다.이때$son 의 name 매개 변수 도 이에 따라 달라 진 것 을 발 견 했 습 니 다.이 를 통 해 알 수 있 듯 이 phop 5 에서 대상 을 변수 에 할당 하 는 것 은 전달 대상 을 참조 하 는 것 이지 값 으로 전달 하 는 것 이 아 닙 니 다.이때$son 의 사본 을 만 들 지 않 습 니 다.전달 대상 에서 함수 로,또는 방법 에서 대상 으로 돌아 가 전달 을 참조 하 는 지,값 전달 을 참조 하 는 지 검증 을 기다 리 고 있 습 니 다.
vardump()인쇄 대상 은 대상 의 속성 만 인쇄 할 수 있 습 니 다.그 방법 은 인쇄 할 수 없습니다.대상 의 방법 목록 을 얻 으 려 면 get 을 사용 하 십시오.class_methods 함수.

<?php
$son = new person('cuihua',25,'girl');
var_dump($son);
/*
object(person)[1]
 public 'name' => string 'cuihua' (length=6)
 public 'color' => string 'yello' (length=5)
 public 'sex' => string 'girl' (length=4)
 public 'age' => int 25
*/
 
$mon = get_class_methods($son);
var_dump($mon);
/*
array (size=4)
 0 => string '__construct' (length=11)
 1 => string 'eat' (length=3)
 2 => string 'xinxi' (length=5)
 3 => string 'zuoyong' (length=7)
*/
?>

더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기