Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wywołania funkcji wielu obiektów w PHP

nazywa się to łączeniem metod i odbywa się poprzez zwrócenie referencji do klasy ( $this ) lub innego obiektu klasy z tych funkcji. Następnie możesz wywołać metodę na zwróconym obiekcie.

Oto prosty przykład.

class foo{
     protected $_bar;

     public function bar($value){
          $this->_bar = $value;
          return $this;
    }


   public function out(){
        echo $this->_bar;
   }
}

$a = new foo();
$a->bar('hello')->out();

wyjście:

'hello'

Aby wyjaśnić nieco więcej, powyższy kod $a->bar('hello')->out(); jest mniej więcej taki sam jak zrobienie tego:

 $a = new foo();
 $b = $a->bar('hello');  //$a and $b are the same instance of the object
 $b->out();

Teraz, ponieważ bar() zwraca $this możemy przypisać go do $b jak powyżej, a następnie wywołaj out() . Ale $a i $b oba odwołują się do tego samego wystąpienia foo obiekt, ponieważ zwróciliśmy $this z bar() . Nie ma więc potrzeby stosowania tej dodatkowej „fałszywej” zmiennej, ponieważ możemy po prostu odwołać się do zwracanego obiektu bezpośrednio przy następnym wywołaniu. Działa to z każdym obiektem zwracanym przez metodę (nie tylko $this), ale oczywiście następne wywołanie w łańcuchu dotyczy zwróconego obiektu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Implementacja algorytmu rankingowego Hacker News w SQL

  2. Próba wykonania operacji MINUS w MySQL

  3. Używanie JDeveloper z bazą danych MySQL i bazą danych Oracle na AWS RDS, część 2

  4. Sequelize:Error:Error:Table1 nie jest powiązana z Table2

  5. Ustawienie poprawnego rozmiaru pliku innodb_log_file_size w mysql