導航:首頁 > 編程語言 > 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類屬性值相關的資料

熱點內容
php正則class 瀏覽:731
怎麼在文件夾查找一堆文件 瀏覽:536
核酸報告用什麼app 瀏覽:787
u8怎麼ping通伺服器地址 瀏覽:992
安卓什麼手機支持背部輕敲調出健康碼 瀏覽:868
程序員抽獎排行 瀏覽:742
扭蛋人生安卓如何下載 瀏覽:722
什麼app文檔資源多好 瀏覽:922
黑馬程序員APP 瀏覽:146
掌閱小說是哪個app 瀏覽:45
如何把u盤的軟體安裝到安卓機 瀏覽:998
php跑在什麼伺服器 瀏覽:122
編譯器怎麼跳轉到下一行 瀏覽:450
嵌入式py編譯器 瀏覽:324
rplayer下載安卓哪個文件夾 瀏覽:298
安卓手機里的電子狗怎麼用 瀏覽:748
pythonspyder入門 瀏覽:764
趣質貓app是什麼 瀏覽:60
皮帶壓縮機經常吸不上 瀏覽:205
西部隨行版怎樣加密 瀏覽:996