2017-10-15 37 views
0

我正在做鏈接練習,並且在鏈接方法時郵件方法不會顯示。我在這裏錯過了什麼嗎?PHP郵件方法鏈接

<?php 

    class User { 
     public $firstName; 
     public $lastName; 

     public function sayHello(){ 
     echo 'Hello ' . $this->firstName . ' ' . $this->lastName; 
     return $this; 
     } 

     public function register(){ 
     echo 'Registered ' . $this->firstName; 
     return $this; 
     } 

     public function mail(){ 
     return 'Emailed'; 
     } 


    } 


    $user1 = new User(); 
    $user1->firstName = 'John'; 
    $user1->lastName = 'Doe'; 
    $user1->sayHello()->register()->mail(); 


    ?> 
+2

https://3v4l.org/2iG9p它的工作原理。 –

回答

0

您正在從mail方法返回值,而不是回顯它。請嘗試

var_dump($user1->sayHello()->register()->mail()); 
1

你是returnmail()中的文字。

您可以呼應它,當你調用的方法:

echo $user1->sayHello()->register()->mail(); 

Demo

這樣會讓你的結果保存到一個變量,例如,以供以後使用:

$result = $user1->sayHello()->register()->mail(); 
// do some work 
echo "The result is: ".$result; 

或在方法本身回顯:

public function mail(){ 
    echo 'Emailed'; 
} 

Demo

+0

謝謝...這是問題... – horcrux88