簡體   English   中英

如何在php中自己的類中調用函數或方法?

[英]How to call a function or method inside its own class in php?

我用PHP聲明了我的課程,並在其中聲明了幾個函數。 我需要在另一個函數中調用其中一個函數,但出現錯誤,該函數未定義。 這就是我所擁有的:

<?php
class A{

 function b($msg){
   return $msg;
 }

 function c(){
   $m = b('Mesage');
   echo $m;
 }
}

這是基本的OOP 您可以使用$this關鍵字來引用該類的所有屬性和方法:

<?php
class A{

 function b($msg){
   return $msg;
 }

 function c(){
   $m = $this->b('Mesage');
   echo $m;
 }
}

我建議清理此代碼並設置方法的可見性 (ee私有,保護和公共)

<?php
class A{

 protected function b($msg){
   return $msg;
 }

 public function c(){
   $m = $this->b('Mesage');
   echo $m;
 }
}

您可以使用$this使用類函數

<?php
    class A{

     function b($msg){
       return $msg;
     }

     function c(){
       $m = $this->b('Mesage');
       echo $m;
     }
    }

您需要使用$this來引用當前對象

$this->在對象或self ::內部的靜態上下文中(用於或來自靜態方法)。

要在當前類中調用函數,您需要使用$this ,此關鍵字用於非靜態函數成員。

如果被調用的函數僅在設置為私有的可見性的類中使用,也只是一個提示

private function myfunc(){}

如果您要在課堂外調用它,請保持原樣。 如果未在PHP中聲明成員函數的可見性,則默認情況下它是公共的。 優良作法是為您編寫的任何成員函數設置可見性。

public function myfunc(){}

如果該類將被另一個繼承,並且只希望子類具有這些功能,則可以對其進行保護。

protected function myfunc(){}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM