gpt4 book ai didi

php - gmail 和 Github 等 laravel 实时应用程序的要求

转载 作者:搜寻专家 更新时间:2023-11-01 00:17:28 25 4
gpt4 key购买 nike

用于在 Laravel 中实现实时应用程序,如 GmailGithub,其中所有的东西(例如打开新页面,发送邮件、收件箱、提交表单等)出现在一页中,我做了很多研究,发现我应该使用 Laravel Pusher 包。但是我认为对于大型项目来说并不是免费的。

我还读了https://www.codetutorial.io/laravel-5-and-socket-io-tutorial/redisNodeJs 结合使用的文章(以及许多其他文章)。

不管 Laravel Pusher,我的问题是通过 Laravel 实现实时应用程序的最佳和常用方法是什么?

我正在使用 Laravel 5.2

最佳答案

正如@gurghet 所指出的,SPA 和实时应用程序之间存在差异。 Gmail 确实是一个实时应用程序而不是 SPA。

API 优先:

如果您正在研究创建实时应用程序,那么首先您必须创建一个 API (REST/SOAP)。 Laravel 和 Lumen 都提供了一个优秀的代码库来立即启动你的 api。

选择合适的 JS 框架:

有了 API 之后,您将需要一个 JS 框架。当谈到实时应用程序时,只有大量的框架可以为您提供真正的灵 active 。 Angular 位居榜首,其次是 REACT、BACKBONE 和 meteor。

Angular 有很多粉丝/社区,所以它应该是合适的选择。

完美的 PHP 堆栈:Laravel + Angular 堆栈很棒。 Laravel 非常灵活,所以你几乎可以用它做任何类型的服务器端脚本。它还会不断激励您每次都编写更清晰的代码。虽然 angular 非常适合 2 路绑定(bind)。这意味着当您将相同的数据传递到不同位置的 View 时,angular 会跟踪对数据所做的所有更改。它还具有诸如 PROMISES 之类的功能,其中 angular 不会等待从数据库中获取真实数据,而只是假设数据应该已经更新到数据库并只向您显示更改(它跟踪的那些)实时。

身份验证:整个过程中最令人沮丧的部分是安全地验证用户,即将数据从 angular 传递到 laravel。您必须使用 OAUTH 或 JWT 来验证用户。虽然两者都已经存在了一段时间,但您不会找到任何关于身份验证的好代码/指南。我在这里花了很多时间,但您始终可以在 codecanyon 上购买一些自举/正确配置的项目。

套接字是关键:没有套接字就不可能存在实时系统,您不能只是定期访问数据库以检查更新的值。这里套接字通过通知系统更新可用来挽救这一天,您可以根据更新从数据库中获取更新值。

现在像 pusher 这样的服务已经解决了大部分问题,laravel 还为 pusher 提供了一个内置的 api-client。但是您始终可以自由使用开源软件来创建自己的套接字系统,例如。 socket.io .

关于php - gmail 和 Github 等 laravel 实时应用程序的要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35148338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com