代码之家  ›  专栏  ›  技术社区  ›  igorgue

在PHP中向对象添加属性

php
  •  40
  • igorgue  · 技术社区  · 14 年前

    如何在PHP中向对象添加属性?

    3 回复  |  直到 14 年前
        1
  •  60
  •   Pekka    14 年前

    好吧,向对象添加任意属性的一般方法是:

    $object->attributename = value;
    

    您可以更清晰地在类中预先定义属性(php 5+特定的,在php 4中,您将使用旧的 var $attributename )

    class baseclass
     { 
    
      public $attributename;   // can be set from outside
    
      private $attributename;  // can be set only from within this specific class
    
      protected $attributename;  // can be set only from within this class and 
                                 // inherited classes
    

    强烈建议这样做,因为您还可以在类定义中记录属性。

    您还可以定义 getter and setter methods 每当您试图修改对象的属性时都会调用它。

        2
  •  0
  •   bimbom22    14 年前

    查看php.net文档: http://www.php.net/manual/en/language.oop5.properties.php

    在这种情况下,属性被称为“属性”或“类成员”。

        3
  •  0
  •   David Morrow    14 年前

    这是一个静态类,但同样的原则也适用于非静态类。 这样可以存储和检索类中的任何内容。如果你试图得到一些未设置的东西,就会抛出一个错误。

    class Settings{
        protected static $_values = array();
    
    public static function write( $varName, $val ){ 
        self::$_values[ $varName ] = $val; 
    }
    public static function read( $varName ){ 
    
        if( !isset( self::$_values[ $varName ] )){
            throw new Exception( $varName . ' does not exist in Settings' );
        }
    
        return self::$_values[ $varName ]; 
    }
    }