2014-12-04 45 views
2

我是新來的Laravel,我試圖瞭解它是如何工作的。我已經按照定義設置了這個庫。Laravel Twitter圖書館 - 哪裏是靜態函數getUserTimeline()

https://github.com/thujohn/twitter-l4

例子完美的作品時,我定義只有Twitter的使用;顯示如下

use Stream; 
    use Twitter; 

    class GoController extends \BaseController{ 
     function go($id){ 
      return Twitter::getUserTimeline(array('screen_name' => 'thujohn', 'count' => 20, 'format' => 'json')); 
     } 
} 

但它使用Thujohn \ Twitter \ Twitter時會引發此錯誤;

use Stream; 
    use Thujohn\Twitter\Twitter; 

    class GoController extends \BaseController{ 
     function go($id){ 
      return Twitter::getUserTimeline(array('screen_name' => 'thujohn', 'count' => 20, 'format' => 'json')); 
     } 
} 

非靜態方法Thujohn \微博\ Twitter的:: getUserTimeline()應該 不能靜態調用,假設$這種在不兼容的情況下

所以,我無法理解爲什麼我不能使用第二種形式?

回答

2

在第二個例子中,您直接使用類,這恰好與別名訪問器具有相同的名稱。

你看靜態調用什麼是外牆,這實際上用靜態方法實例化類(我不是在解釋的事情真的好...)

如果你跟着你應該說明已在config/app.php文件中創建了別名。

'Twitter' => 'Thujohn\Twitter\TwitterFacade', 

,並且該別名是非常Twitter類(即外觀),你需要打電話,你看到所謂的文件中。

因此,刪除use語句use Thujohn\Twitter\Twitter;並且您的代碼將使用「Twitter」別名(就像它在第一個示例中那樣),即將調用Facade存取器。

use Stream; 

class GoController extends \BaseController 
{ 

    public function go($id) 
    { 
     return \Twitter::getUserTimeline(array('screen_name' => 'thujohn', 'count' => 20, 'format' => 'json')); 
    } 
} 
+0

你能告訴我一個例子如何加載一個非靜態類靜態? – fobus 2014-12-05 20:54:43