」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 用Laravel和Stream輕鬆搭建社交網絡

用Laravel和Stream輕鬆搭建社交網絡

發佈於2025-04-15
瀏覽:701

本文構建了有關使用流中的Laravel應用程序中添加“關注”功能的先前教程。 本部分著重於配置用於活動跟踪的模型,探索流的提要類型,檢索feed並在視圖中渲染。 [2 [2

stream laravel的Building a Social Network with Laravel and Stream? Easy! feedmanager

簡化了feed操作,提供了預構建的feeds(用戶,新聞,通知)。

流stream將數據存儲為(actor,動詞,對象,時間,加自定義數據)。

lastecontroller
    feedManager
  • 在顯示之前富集流支持各種供稿類型(新聞,通知),允許自定義模板用於不同的活動。 [2
  • 流將數據表示為活動至少:演員,動詞​​,對象和時間。 也允許自定義字段。
  • 引用模型實例。
  • [2 [2
  • 示例:在[ post 模型中定義類帖子擴展了模型 { // ...其他代碼... /** *流:郵政創建的活動動詞。 */ 公共功能活動verb() { 返回“創建”; } }
  • 利用feedmanager:
  • feedmanager
  • 簡化了feed交互。 它是通過
config/app.php

中設置的立面別名訪問的。 [2 提供預構建的feeds:用戶,新聞和通知。 此示例主要使用新聞和通知提要。 有關其他提要類型的更多詳細信息

。 [2

lastecontroller
    已更新為使用
  • ,以進行有效的關注/unullow contion: // app/http/controllers/lastecontroller.php 公共功能關注(用戶$用戶) { if(! auth :: user() - > clasts() - >創建(['target_id'=> $ user-> id]); feedManager ::關注器(auth :: id(),$ user-> id); 返回() - > with('success','現在關注'。$ user-> name); } 別的 { 返回() - > with('錯誤','已經關注此用戶。'); } } 公共功能取消關注(用戶$用戶) { if(auth :: user() - > isfollowing($ user-> id)){ $ laste = auth :: user() - > lasts() - >其中('target_id',$ user-> id) - > first(); feedManager :: Untollowuser(auth :: id(),$ lastion-> target_id); $ lastion-> delete(); 返回() - > with('success','noctolded'。$ user-> name); } 別的 { 返回() - > with('錯誤','不關注此用戶。'); } }
  • [2 use getStream \ straplaravel \ ronich; 類FeedScontroller擴展了控制器 { // ...其他代碼... 公共功能新聞源(請求$請求) { $ feed = feedmanager :: getNewSfeeds($ request-> user() - > id)['timeline']; $ acvision = $ feed-> getActivities(0,25)['結果']; $ acvision = $ this-> renich() - >富集($ active); 返回視圖('feed.newsfeed',['active'=> $ active]); } 私有功能renrich() { 返回新的豐富; } // ...其他方法... }
  • enrich 方法處理視圖渲染的數據轉換。 定義了一條路由以訪問此控制器操作。
  • newsfeed
使用局部(

)進行渲染單個活動的單個活動。 自定義活動部分(例如, create.blade.php 為post creation創建)是在[中創建的。 [2 [2 [2 {{$ active ['actor'] ['name']}}

創建了一個標題為
class Post extends Model
{
    // ... other code ...

    /**
     * Stream: Activity verb for post creation.
     */
    public function activityVerb()
    {
        return 'created';
    }
}
模型已更新為包括通知feed處理:

; } 公共功能活動verb() { 返回“關注”; } 公共功能活動Extradata() { 返回['caster'=> $ this-> target,'follower'=> $ this->用戶]; } }

為通知feed創建了類似的控制器操作,路由和視圖( notification.blade.php )。 單獨的部分()用於遵循通知。

結論:

流簡化了在Laravel應用程序中添加強大的提要功能。 該教程演示瞭如何跟踪各種活動,管理不同的飼料類型並在視圖中有效地渲染它們。 鼓勵進一步探索流的功能。 [2

常見問題解答部分寫得很好,並提供了有用的信息。 不需要重大更改,但是較小的格式調整可以提高可讀性。 考慮為更好的視覺組織使用編號列表或粗體鍵項。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3