『壹』 php 類中方法之間參數怎麼調用
class A
{
public $bb,$cc;
function othersomething()
{
return $this->cc;
}
}
function dosomething()
{
$bb = $this->bb;
$othersomething = $this->othersomething();
}
方法的參數是新定義一個變數,注意是新定義,方法結束自動銷毀,
2.PHP類中方法定義的參數與調用時的參數名稱可以不同。
帶默認值的就是指當這些參數沒有給出的時候可以按照預定義內容進行賦值(按參數順序調用)。
functiontext($i,$a="test1",$test="test2"){
echo"<h1>{$i}</h1>";
echo"<h1>{$a}</h1>";
echo"<h1>{$test}</h1>";
}
2.調用:
text("test");
----顯示
test
test1
test2
text("test","test3","test4");
----顯示
test
test3
test4
『貳』 phpclass是什麼意思,怎麼用
class關鍵字在PHP中用於聲明類。類是面向對象編程的核心,它封裝了數據和操作這些數據的方法。在PHP中創建類時,使用"class"關鍵字開頭,後面跟類名。
類定義後,可以創建類的實例,即對象。對象是類的具體化,它包含了類定義的數據和方法。通過實例化類,可以調用類中的方法並訪問其屬性。
類的定義通常包含屬性(數據成員)和方法(函數)。屬性用於存儲對象狀態,方法用於描述對象的行為。屬性可以是私有的(僅類內部訪問)、公有的(所有位置訪問)或受保護的(類內部和繼承類訪問)。方法則提供了一種執行特定操作的方式。
面向對象編程的基本原則之一是封裝,即隱藏對象的內部細節,並只暴露必要的介面供外部使用。在類中,可以通過公共方法訪問和修改屬性,而類的內部實現細節對外部隱藏。
實例化類後,可以通過對象名調用其方法,以執行特定操作。方法調用遵循面向對象編程的規則,如鏈式調用、多態等。多態允許同一方法名在不同類中有不同的實現,提供了一種靈活的編程方式。
在PHP中使用class關鍵字聲明類後,可以創建具有特定功能的模塊化代碼,使程序更易於維護和擴展。通過類的繼承,可以實現代碼的重用,即一個類可以從另一個類派生,繼承其屬性和方法。這有助於構建復雜系統時組織和管理代碼。
總之,class關鍵字在PHP中用於聲明類,它是面向對象編程的基礎,通過封裝數據和方法,提供了更強大、更靈活的程序設計能力。在實際應用中,合理使用類可以顯著提高代碼的可讀性、可維護性和復用性。
『叄』 php class中public,private,protected,static
1. public:許可權是最大的,可以內部調用,實例調用
2. protected: 受保護類型,用於本類和繼承類調用
常用場景在許可權設置
有需要用到許可權的Class,只要繼承Base這個Class即可用到登錄驗證。執行Login的時候會先運行Base裡面的方法
3. private: 私有類型,只有在本類中使用。
4. static: 一般是在傳值的時候使用,表示值不會被修改,默認為public,可用::訪問
『肆』 在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 類之間傳遞參數
1. 用繼承,B繼承A,其中A的mm方法裡面的參數k作為方法的返回值,這樣就可以給到A去使用了。
classBextendsA{
publicfunctiontt(){$k=$this->mm();}
}
2.在A類裡面實例化B類。
classA{
publicfunctiontt(){
$class=newB();
$k=$class->mm();
}
}
兩個方法的前提條件都是需要mm方法的k變數作為返回值,然後在A類調用的時候就可以得到這參數了。
3.將k參數儲存到A類的屬性中。
步驟大致和2方法差不多,也是要在tt方法裡面實例化B類,但是B類的mm方法改為:
publicfunctionmm()
{$this->k=$k;}
這樣就不用k為返回值了,然後在A類中這樣:
classA{
publicfunctiontt(){
$class=newB();
$class->mm();
$k=$class->k;
}
}
不保證代碼的完全正確,但是思路是對的。