Articles of laravel

Laravel“npm install”下载30.000+项目

我正在关注Laravel文档,并希望安装Elixir来pipe理sass和其他预处理器。 但是,当我从laravel根文件夹启动“npm install”时,我最终得到: 对于35.861个项目,114.316.724字节(220.3 MB在磁盘上) 在node_modules文件夹中! 请告诉我,Elixir或Gulp不需要这种荒谬的依赖关系,还是我有什么错? package.json包含: { "private": true, "scripts": { "prod": "gulp –production", "dev": "gulp watch" }, "devDependencies": { "gulp": "^3.9.1", "laravel-elixir": "^5.0.0", "bootstrap-sass": "^3.3.0" } }

在严格模式之外还不支持的块范围声明 – Laravel Mix

我在我的Homesteadstream浪箱里运行Laravel 5.4 。 我用npm install命令安装了所有的npm依赖项。 这并没有产生任何错误。 在我的webpack.min.js文件中,我有: const { mix } = require('laravel-mix'); /* |————————————————————————– | Mix Asset Management |————————————————————————– | | Mix provides a clean, fluent API for defining some Webpack build steps | for your Laravel application. By default, we are compiling the Sass | file for the application as well as bundling […]

Laravel 5:使用Laravel会话数据的Socket.io客户机authentication

我想基于由Laravel创build的客户端会话数据来validationsocket.io客户端。 我想到的是: A – 从客户端发送用户名和电子邮件到服务器; B – 在用户login后,将数据存储在我的socket.io服务器所需的Redis中,然后根据会话Cookie ID在Node.js中读取。 如果我更喜欢这种方法sessionId -> "email, name"我可能必须在Redis中存储sessionId -> "email, name" 。 C – 在Laravel中使用Redis会话驱动程序,解码由Laravel设置的Cookie,从Node.js访问Laravel会话值,对其进行反序列化和解码; 方法A显然非常不安全,只能用来certificate概念。 方法C似乎更好,因为我不必复制或pipe理会话数据,但只能解码它。 然而,这种方式将我的应用程序与Laravelpipe理会话的实现细节结合起来,因此似乎不合适。 方法B看起来更有希望,实现起来更简单。 然而,使用方法B意味着我必须自己pipe理一些会话数据,以便socket.io能够读取它。 这样做可能会使我在Redis中存储的Laravel会话数据和会话数据相互不一致,而这会在某个时间点发生。 在某些极端的情况下,例如一个过期的会话ID可以被重用,并且一些socket.io客户端将被错误地authentication为另一个用户。 我现在不能想到更微不足道的情况,但是由于这种情况,我认为有可能存在这种情况,安全和用户体验都可能受到损害。 在socket.io应用程序中基于Laravel会话数据实现用户身份validation的更优雅,健壮和安全的方法是什么? 如果没有更好的方法,我认为方法B是最好的,我可以做些什么来提高使用Redis和Laravel会话数据pipe理的会话数据之间的一致性。 就我所能概括的而言,实际上访问Laravel和php之外的Laravel会话数据,并通过sessionId,电子邮件和用户名来识别客户端。

与Laravel Elixir吞噬throws events.js:141未处理的“错误”事件

从昨天起,gulp抛出未处理的错误事件: "C:\Program Files (x86)\JetBrains\PhpStorm 10.0.1\bin\runnerw.exe" "C:\Program >Files\nodejs\node.exe" C:\..\..\..\..\..\node_modules\gulp\bin\gulp.js –color –>gulpfile "d:\..\..\..\gulpfile.js" default [11:41:02] Using gulpfile d:\..\..\..\gulpfile.js [11:41:02] Starting 'default'… [11:41:02] Starting 'sass'… Fetching Sass Source Files… – resources\assets\sass\app.scss Saving To… – public\css\app.css [11:41:02] Finished 'default' after 323 ms events.js:141 throw er; // Unhandled 'error' event ^ Error: no writecb in Transform class at afterTransform (d:\..\..\..\node_modules\gulp-autoprefixer\node_modules\readable->stream\lib\_stream_transform.js:95:33) […]

理解Laravel混合

理解Laravel混合 目前我正在将我的一个网站迁移到Laravel,以便将来可以更容易维护…我有很多与Laravel一起构buildAPI的经验,但是我使用Laravel构build网站的经验非常有限,因此我我需要从另一个职业的一点点的指导。 简而言之,如果有人能够让我几分钟的话,我将非常感谢以下非常简单的问题的答案。 基于文件的JS和CSS而不是基于应用程序 我喜欢用特定的方式写我的JS和CSS文件,每个页面都有自己特定的页面相关的文件。 例如, about.php可能具有以下依赖关系: JS: jquery.js any_other_third_party_library.js app.js (全局函数) about.js (页面特定function) CSS: some_third_party_library.css app.css (全局样式) about.css (页面特定样式) 在我自己的框架中,将上面的内容合并为一个JS文件和一个CSS文件。 据我所知,Laravel Mix就是这样做的… 不过,据我所知,这样做的方法如下: webpack.mix.js: // About mix.scripts([ 'resources/assets/js/app.js', 'resources/assets/js/about/about.js' ], 'public/js/about/about.js'); 很简单,我想知道什么; 上述正确的方法去呢? 有没有更好,更有效的方法来自动化每页? 什么是bootstrap.js和app.js文件? 从我可以看到,这些文件只是加载依赖关系,但是这有点令人困惑,因为一些依赖关系可能是页面特定的…请有人可以进一步详细解释这些文件是什么? 或者至less,他们之间有什么不同? 摆脱Vue 我没有兴趣在我的项目中使用Vue ,所以我删除了以下文件: /components/Example.vue app.js中的vue代码 这有什么关系吗?

用于Socket.IO实时聊天的nodeJS和PHP(Laravel)集成

目前我有一个网站,我通过Laravel框架写在PHP上。 我用Socket.IO和Express写了一个使用nodeJS的实时聊天,现在我想要做的就是将它集成到我已经写好的Laravel网站中。 问题是聊天必须在主页面,这是目前由Laravel的意见。 目前我正在共享主机上。 问题:这种整合最好的build议是什么? 我知道LAMP堆栈已经在大多数共享域中准备好了,但我完全不知道如何让PHP(Laravel)和我的nodeJS聊天工作在一起。 我已经尝试过的事情: Elephant.IO – 没有任何大的成功,但…

如何从客户端发送数据到redis,然后到laravel

我正在使用laravel和redis进行实时聊天。 我可以从我的laravel发起事件,并将这些数据接收到客户端。 我的问题是我怎么能从客户端发送的东西,然后接收到它redis并将其传递给laravel 例如,我如何检查用户是否已经阅读聊天消息。 代码: var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require( 'socket.io' ).listen( server ); var redis = require('redis'); var port = process.env.PORT || 8888; server.listen(port,'xxxx'); io.on('connection', function (socket) { console.log("Connected"); }); var redisClient = redis.createClient(); redisClient.psubscribe(['get_message','read_message']); redisClient.on("pmessage", function(channel, pattern, message) { console.log(channel); // i […]

Angular2 + Laravel与实时和WebSockets

我build立了一个应用程序,我打算与Angular 2和laravel进行实时的战斗。 例如,你点击“攻击”button,你的对手看到他的生活实时下降。 我的应用程序构build于: 前端: Angular 2 后端: PHP Laravel 5.2 现在我正在寻找和学习我的实时战斗部分,我看到了不同的指南和教程: https://www.codetutorial.io/laravel-5-and-socket-io-tutorial/ http://4dev.tech/2016/02/creating-a-live-auction-app-with-angular-2-node-js-and-socket-io/ 第一个教程是关于如何使用Laravel 5和套接字io 。 第二个是如何在NODS JS和socket io上使用Angular 2 。 当我说实时,我的意思是两个用户看到屏幕上发生的相同的事情) 我的后端和前端是完全分开的,我没有安装NodeJS在我的应用程序的任何地方。 这两个用户都需要看到在我的应用程序的战斗中发生的行动,它需要通过我的laravel API,并通过我的Angular 2战斗组件 我的问题是 – 使用Angular2和Laravel 5.2实时应用程序(看起来websockets)的最佳方法是什么,以获得我想要实现的所需结果?

Laravel与Redis的广播不工作/连接?

所以我试图在Redis的帮助下播放Laravel 5 Events。 不,我不想使用像Pusher这样的服务,因为它不是免费的(即使免费的限制对我来说是足够的),我想保持对广播服务器的控制。 所以我到目前为止所做的是,我build立了一个redis服务器(侦听端口6379 – >默认),我已经设置了以下事件: class MyEventNameHere extends Event implements ShouldBroadcast { use SerializesModels; public $data; /** * Create a new event instance. * * @return \App\Events\MyEventNameHere */ public function __construct() { $this->data = [ 'power' => 10 ]; } /** * Get the channels the event should be broadcast on. * * […]