導航:首頁 > 編程語言 > php類屬性值

php類屬性值

發布時間:2022-09-10 22:02:17

php類中給成員屬性初始化值為什麼報錯

PHP類中,若要初始化成員屬性,那麼成員屬性的初始值必須是一個常數,如果不是常數(如變數),則會報錯。

㈡ php類定義了屬性,而類中其他方法要使用默認值怎麼辦

不知道我理解的意思對不對,你是想把$a放在第一個參數,而他經常是使用到類的屬性值,不用賦默認值。開始我也弄錯了~~~
屬性$a沒必要在方法裡面傳參,方法體裡面直接就可以用了,如果不想改變值可以在方法體里重新聲明一個變數,把$a的值賦給他。

㈢ PHP中如何定義類及其成員屬性與操作

實測
php中,在類里邊可以定義屬性
class
a
{
public
$name;
public
$type;
}
在類中不能定義屬性,但是可以定義變數,並將其賦給他所在類的屬性
class
a
{
public
$name;
function
b(){
$othername
=
1;
$this->name
=
$othername;
}
}
$a
=
new
a();
$a->b();
echo
$a->name;
最後,祝新年快樂

㈣ php類定義了屬性,類中的方法要使用默認值怎麼辦

例如定義了屬性$user = 1,方法中就這樣$this->user使用。如果是靜態屬性,static $user = 1,方法中就這樣調用self::user

㈤ 在php中如何設置類的屬性,如何調用類的方法

PHP訪問類的屬性、方法使用箭頭語法(->)。這里我給你一個例子供你參考:

<?php
classMyClass{//定義MyClass類
public$name;//定義了一個公有屬性
protected$_age;//定義了一個保護屬性
private$_email;//定義了一個私有屬性

publicfunctionmy_method(){//定義my_method方法
}

protectedfunction_my_method2(){//定義_my_method2方法
}
}
$obj=newMyClass;//實例化
$obj->name='noname';//設置name屬性
$obj->_age=12;//這是錯誤的,不能設置保護屬性
$obj->address='KingStreet.'//設置一個未聲明的屬性是允許的,效果和公有屬性類似,但未賦值前不能使用。
$obj->my_method()//調用公有方法
$obj->_my_method2();//這是錯誤的,不能調用保護方法

你需要理解繼承、公有、保護和私有的概念。

繼承:子類繼承父類的公有、保護屬性和方法。

公有:類的實例可以訪問的屬性和方法。

保護:只能在類的內部及其子類內部訪問的屬性和方法。

私有:只能在類的內部訪問的屬性和方法。


這是個很基礎的問題,建議你多看書。

㈥ 我想輸出php類中的私有屬性的值,怎麼輸出不出來呢

我想你是不清楚公有,私有,受保護的區別吧:
PHP中有三種訪問修飾符,分別是:
public(公共的、默認)
protected(受保護的)
private(私有的)
public(公共的、默認)在PHP5中如果類沒有指定成員的訪問修飾符,默認就是public的訪問許可權。
protected(受保護的)被聲明為protected的成員,只允許該類的子類進行訪問。
private(私有的 ) 被定義為private的成員,對於類內部所有成員都可見,沒有訪問限制。對類外部不允許訪問。

㈦ php,給類的屬性賦值一個空數組有什麼用

主要還是確定類型吧。因為如果這個類屬性不賦值一個空數組,但在類方法了使用array_merge()函數合並這個屬性的時候,就會產生報錯。

classtest{
public$arr1;
public$arr2=[];

//執行這個方法會報錯
publicfunctionaction1($arr){
returnarray_merge($this->arr1,$arr);
}

//執行這個方法不會報錯
publicfunctionaction2($arr){
returnarray_merge($this->arr2,$arr);
}
}

㈧ php類屬性的賦值問題

cache_factory(這個是類名)::$cache_factory(這個是類內的私有靜態屬性,該屬性的值是cache_factory類的實例)->cache_config=$cache_config;其他不需要解釋了吧


不過這個代碼很爛,不建議把這個當作參考資料。幫你修改了一下,看這個吧

final class cache_factory {
private static $instance;
protected $cache_config = array();
protected $cache_list = array();
protected function __construct(array $configs) {
$this->cache_config = $configs;
}
public static function get_instance(array $cache_config = null) {
if (! self::$instance instanceof cache_factory) {
if (is_null($cache_config)) {
die('無效的初始化設置');
}
self::$instache = new cache_factory($cache_configs);
}
return self::$instance;
}
}

㈨ php類定義了屬性,類中的方法要使用默認值怎麼辦

每個方法都必須要定義的參數就可以直接定義個類屬性了,如果不變的話可以直接public $arg='xxx';
如果隨著場景不同這個值可能會發生變化,就把賦值放到構造方法里
public function __construct($aa)
{
$this->arg = $aa;
}
$obj = new exp($aa);
下面的方法就不用傳參數了,直接調用$this->arg就可以了
再如果每次調用不通的方法,變數arg都不同,就不要定義屬性了,直接給方法傳值就可以了。

㈩ PHP的變數如何給抽象類中屬性符初值

因為抽象類不能被實例化,所以需要通過繼承的方式為屬性賦值:
前提是抽象類中需要賦值的屬性不能被private修飾
<?php
abstract class AbstractClass
{
public $a = 1;
abstract protected function getValue();
// 普通方法(非抽象方法)
public function printOut() {
echo $this->a . "\n";
}
}

class ConcreteClass1 extends AbstractClass
{
protected function getValue() {}
}
$b = new ConcreteClass1();
$b->a = 2;
$b->printOut();
?>

閱讀全文

與php類屬性值相關的資料

熱點內容
華為交換機dhcp配置命令 瀏覽:315
androidbitmap縮小 瀏覽:271
單片機串口控制燈 瀏覽:84
大訊雲伺服器安裝視頻 瀏覽:784
華為演算法領先世界 瀏覽:654
linux路由重啟 瀏覽:566
php的模板編程 瀏覽:320
編譯器原理與實現書 瀏覽:709
dos選擇命令 瀏覽:17
apm固件編譯到單片機 瀏覽:121
聯通深藍卡都包含什麼app 瀏覽:264
如何判斷網路伺服器正常 瀏覽:651
路由器搭橋遠端伺服器地址是什麼 瀏覽:518
編譯動態庫時會連接依賴庫嗎 瀏覽:709
淘寶手機加密是隨機的嗎 瀏覽:675
解壓包子怎麼裝飾 瀏覽:588
四個數湊24演算法 瀏覽:679
哪一種不是vi編譯器的模式 瀏覽:172
xp在此處打開命令窗口 瀏覽:130
代碼編譯運行用什麼軟體 瀏覽:1000