Nasıl sınıfı yöntemlerinin büyük bir sayı verebilir "neredeyse"

2 Cevap php
   class myclass{
       function name($val){
           echo "this is name method and the value is".$val;
       }

       function password($val){
           echo "this is password method and the value is".$val;
       }
   }

ve burada nasıl kullanılacağı:

  $myclass= new myclass();
  $myclass->name("aaa")//output: this is name method and the value is aaa

it works fine because I just have 2 methods "name" and "password" what If I have a huge number of methods, it would not be easy to add those methods to my class and write the same code for each method, I want to change my class to let each method give the same output apart from the method name? and I don't want to write all details for all methods because they are almost similar,is this possible in PHP? I wish I was clear :)

2 Cevap

Sen varolmayan bir yöntem denir kullanılacak bir "sihirli bir yöntem" olduğu sınıf için __call() yöntemi, geçersiz olabilir.

: Aşağıdaki gibi __ çağrı sihirli yöntemini kullanın

class myclass
{
    function __call($func, $args)
    {
        echo 'this is ', $func,  'method and the value is', join(', ', $args);
    }
}

Bu fonksiyon açık bir işlev tanımı yoktur herhangi bir fonksiyon için çağırdı alacak.

$ Args işlevi en çağrılırsa tüm parametreleri içeren bir dizi olduğunu unutmayın.