Hướng dẫn how to call class function in php - cách gọi hàm lớp trong php

Tôi đã cố gắng tìm ra cách thực hiện việc này nhưng tôi không hoàn toàn chắc chắn làm thế nào.

Đây là một ví dụ về những gì tôi đang cố gắng làm:

class test {
     public newTest(){
          function bigTest(){
               //Big Test Here
          }
          function smallTest(){
               //Small Test Here
          }
     }
     public scoreTest(){
          //Scoring code here;
     }
}

Đây là phần tôi đang gặp vấn đề với, làm thế nào để tôi gọi BigTest ()?

Hướng dẫn how to call class function in php - cách gọi hàm lớp trong php

Tshepang

11.7K21 Huy hiệu vàng90 Huy hiệu bạc134 Huy hiệu đồng21 gold badges90 silver badges134 bronze badges

Đã hỏi ngày 12 tháng 11 năm 2009 lúc 20:32Nov 12, 2009 at 20:32

3

Thử cái này:

class test {
     public function newTest(){
          $this->bigTest();
          $this->smallTest();
     }

     private function bigTest(){
          //Big Test Here
     }

     private function smallTest(){
          //Small Test Here
     }

     public function scoreTest(){
          //Scoring code here;
     }
}

$testObject = new test();

$testObject->newTest();

$testObject->scoreTest();

Đã trả lời ngày 12 tháng 11 năm 2009 lúc 20:38Nov 12, 2009 at 20:38

Sergey Kuznetsovsergey KuznetsovSergey Kuznetsov

8.4814 Huy hiệu vàng24 Huy hiệu bạc21 Huy hiệu đồng4 gold badges24 silver badges21 bronze badges

1

Mẫu bạn cung cấp không phải là PHP hợp lệ và có một vài vấn đề:

public scoreTest() {
    ...
}

không phải là một khai báo chức năng thích hợp - bạn cần khai báo các chức năng với từ khóa 'chức năng'.

Cú pháp nên được:

public function scoreTest() {
    ...
}

Thứ hai, gói các hàm BigTest () và SmallTest () trong hàm công cộng () {} không làm cho chúng riêng tư - bạn nên sử dụng từ khóa riêng trên cả hai điều này một cách riêng lẻ:

class test () {
    public function newTest(){
        $this->bigTest();
        $this->smallTest();
    }

    private function bigTest(){
        //Big Test Here
    }

    private function smallTest(){
           //Small Test Here
    }

    public function scoreTest(){
      //Scoring code here;
    }
}

Ngoài ra, đó là quy ước để viết hoa tên lớp trong các khai báo lớp học ('kiểm tra').

Hy vọng điều đó sẽ giúp.

Đã trả lời ngày 12 tháng 11 năm 2009 lúc 20:48Nov 12, 2009 at 20:48

PJbeardsLeypjbeardsleypjbeardsley

1.4511 Huy hiệu vàng13 Huy hiệu bạc16 Huy hiệu đồng1 gold badge13 silver badges16 bronze badges

class test {
    public newTest(){
        $this->bigTest();
        $this->smallTest();
    }

    private  function bigTest(){
        //Big Test Here
    }

    private function smallTest(){
       //Small Test Here
    }

    public scoreTest(){
      //Scoring code here;
    }
 }

Đã trả lời ngày 13 tháng 7 năm 2017 lúc 11:21Jul 13, 2017 at 11:21

Hướng dẫn how to call class function in php - cách gọi hàm lớp trong php

Tôi nghĩ rằng bạn đang tìm kiếm một cái gì đó như thế này.

class test {

    private $str = NULL;

    public function newTest(){

        $this->str .= 'function "newTest" called, ';
        return $this;
    }
    public function bigTest(){

        return $this->str . ' function "bigTest" called,';
    }
    public function smallTest(){

        return $this->str . ' function "smallTest" called,';
    }
    public function scoreTest(){

        return $this->str . ' function "scoreTest" called,';
    }
}

$test = new test;

echo $test->newTest()->bigTest();

Hướng dẫn how to call class function in php - cách gọi hàm lớp trong php

BITTUSARKAR

6.1273 Huy hiệu vàng29 Huy hiệu bạc 50 Huy hiệu Đồng3 gold badges29 silver badges50 bronze badges

Đã trả lời ngày 6 tháng 9 năm 2015 lúc 3:54Sep 6, 2015 at 3:54

Hướng dẫn how to call class function in php - cách gọi hàm lớp trong php

Ali Hasanali HasanAli Hasan

1762 Huy hiệu bạc10 Huy hiệu đồng2 silver badges10 bronze badges

Để gọi bất kỳ phương thức nào của một đối tượng được khởi tạo từ một lớp (với câu lệnh mới), bạn cần phải "trỏ" vào nó. Từ bên ngoài, bạn chỉ cần sử dụng tài nguyên được tạo bởi câu lệnh mới. Bên trong bất kỳ PHP đối tượng nào được tạo bởi Mới, lưu cùng một tài nguyên vào $ biến này. Vì vậy, bên trong một lớp, bạn phải chỉ vào phương thức bằng $ này. Trong lớp của bạn, để gọi

class test {
     public function newTest(){
          $this->bigTest();
          $this->smallTest();
     }

     private function bigTest(){
          //Big Test Here
     }

     private function smallTest(){
          //Small Test Here
     }

     public function scoreTest(){
          //Scoring code here;
     }
}

$testObject = new test();

$testObject->newTest();

$testObject->scoreTest();
2 từ bên trong lớp, bạn phải nói với PHP nào trong tất cả các đối tượng được tạo bởi câu lệnh mới mà bạn muốn thực thi, chỉ cần viết:

$this->smallTest();

Hướng dẫn how to call class function in php - cách gọi hàm lớp trong php

Makyen ♦

30.7K12 Huy hiệu vàng79 Huy hiệu bạc117 Huy hiệu đồng12 gold badges79 silver badges117 bronze badges

Đã trả lời ngày 24 tháng 12 năm 2014 lúc 16:58Dec 24, 2014 at 16:58

IngenieroingenieroIngeniero

511 Huy hiệu bạc2 Huy hiệu đồng1 silver badge2 bronze badges

1

Để có "chức năng trong một hàm", nếu tôi hiểu những gì bạn đang hỏi, bạn cần Php 5.3, nơi bạn có thể tận dụng tính năng đóng mới.

Vì vậy, bạn có thể có:

public function newTest() {
   $bigTest = function() {
        //Big Test Here
   }
}

Đã trả lời ngày 12 tháng 11 năm 2009 lúc 20:39Nov 12, 2009 at 20:39

blockheadblockheadblockhead

9.5573 huy hiệu vàng42 Huy hiệu bạc68 Huy hiệu đồng3 gold badges42 silver badges68 bronze badges

  class sampleClass
    { 
        public function f1()
        {
           return "f1 run";
        }

        public function f2()
        {
           echo ("f2 run" );
           $result =  $this->f1();
           echo ($result);
        }   

    f2();  

    }

đầu ra:

f2 chạy f1 chạy

Đã trả lời ngày 10 tháng 12 năm 2016 lúc 13:25Dec 10, 2016 at 13:25

Hướng dẫn how to call class function in php - cách gọi hàm lớp trong php

Masoud Siahkalimasoud SiahkaliMasoud Siahkali

4.7531 Huy hiệu vàng27 Huy hiệu bạc18 Huy hiệu đồng1 gold badge27 silver badges18 bronze badges

Bạn cần gọi

class test {
     public function newTest(){
          $this->bigTest();
          $this->smallTest();
     }

     private function bigTest(){
          //Big Test Here
     }

     private function smallTest(){
          //Small Test Here
     }

     public function scoreTest(){
          //Scoring code here;
     }
}

$testObject = new test();

$testObject->newTest();

$testObject->scoreTest();
3 để thực hiện các chức năng được khai báo bên trong phương thức đó có thể nhìn thấy được (xem các chức năng trong các chức năng). Nhưng đó chỉ là các hàm bình thường và không có phương pháp.

Đã trả lời ngày 12 tháng 11 năm 2009 lúc 20:35Nov 12, 2009 at 20:35

GumbogumboGumbo

630K107 Huy hiệu vàng768 Huy hiệu bạc838 Huy hiệu đồng107 gold badges768 silver badges838 bronze badges

ví dụ 1

class test {
     public function newTest(){
          $this->bigTest();
          $this->smallTest();
     }

     private function bigTest(){
          //Big Test Here
     }

     private function smallTest(){
          //Small Test Here
     }

     public function scoreTest(){
          //Scoring code here;
     }
}

$testObject = new test();

$testObject->newTest();

$testObject->scoreTest();
0

example2

class test {
     public function newTest(){
          $this->bigTest();
          $this->smallTest();
     }

     private function bigTest(){
          //Big Test Here
     }

     private function smallTest(){
          //Small Test Here
     }

     public function scoreTest(){
          //Scoring code here;
     }
}

$testObject = new test();

$testObject->newTest();

$testObject->scoreTest();
1

Đã trả lời ngày 7 tháng 10 năm 2013 lúc 19:20Oct 7, 2013 at 19:20

Zloctbzloctbzloctb

9,9706 Huy hiệu vàng67 Huy hiệu bạc85 Huy hiệu Đồng6 gold badges67 silver badges85 bronze badges

1

Bạn cũng có thể sử dụng

class test {
     public function newTest(){
          $this->bigTest();
          $this->smallTest();
     }

     private function bigTest(){
          //Big Test Here
     }

     private function smallTest(){
          //Small Test Here
     }

     public function scoreTest(){
          //Scoring code here;
     }
}

$testObject = new test();

$testObject->newTest();

$testObject->scoreTest();
4 thay vì
class test {
     public function newTest(){
          $this->bigTest();
          $this->smallTest();
     }

     private function bigTest(){
          //Big Test Here
     }

     private function smallTest(){
          //Small Test Here
     }

     public function scoreTest(){
          //Scoring code here;
     }
}

$testObject = new test();

$testObject->newTest();

$testObject->scoreTest();
5 nếu bạn muốn gọi một biến hoặc chức năng tĩnh của lớp hiện tại.

Đã trả lời ngày 23 tháng 8 năm 2016 lúc 17:25Aug 23, 2016 at 17:25

Hướng dẫn how to call class function in php - cách gọi hàm lớp trong php

AlexiovayalexiovayAlexioVay

3.9032 Huy hiệu vàng28 Huy hiệu bạc45 Huy hiệu Đồng2 gold badges28 silver badges45 bronze badges

Làm thế nào để bạn gọi một hàm trong một lớp trong PHP?

Nếu bạn muốn gọi từ func1, hãy sử dụng $ this-> func2 ();Để gọi từ bên ngoài lớp, hãy sử dụng $ Object-> func2 ();$this->func2(); to call from outside the class, use $object->func2();

Làm thế nào để bạn gọi một chức năng trong PHP?

Có hai phương pháp để làm điều này.Một được gọi trực tiếp chức năng theo tên biến bằng cách sử dụng khung và tham số và tên kia là bằng cách sử dụng hàm call_user_func () nhưng trong cả hai tên biến của phương thức sẽ được sử dụng.call_user_func ($ var);calling function by variable name using bracket and parameters and the other is by using call_user_func() Function but in both method variable name is to be used. call_user_func( $var );

Làm thế nào để bạn gọi một phương thức lớp?

Để gọi một phương thức trong Java, hãy viết tên phương thức theo sau là một tập hợp dấu ngoặc đơn (), theo sau là dấu chấm phẩy (;).Một lớp phải có tên tệp phù hợp (main và main.java).write the method name followed by a set of parentheses (), followed by a semicolon ( ; ). A class must have a matching filename ( Main and Main.java).

__ cuộc gọi () trong PHP là gì?

__call () hàm ma thuật Call () là các hàm của lớp __get () là gì đối với các biến lớp - nếu bạn gọi meow () trên một đối tượng của con chó lớp, PHP sẽ không tìm thấy chức năng và kiểm tra xem bạn có xác định xem __call() hàm số.The call() magic function is to class functions what __get() is to class variables - if you call meow() on an object of class dog, PHP will fail to find the function and check whether you have defined a __call() function.