通过 Livewire 在 Laravel 项目中实现基于 PHP 的全栈开发(三):数据绑定及底层实现

上篇教程我们介绍了 Livewire 组件创建和渲染的底层实现逻辑,这篇教程我们来演示下数据绑定的使用示例。和 Vue 组件类似,数据绑定的作用主要是在不刷新页面的情况下实现视图中某些区块数据的动态更新,而且这个绑定是双向的:后端数据修改后可以即时渲染到视图模板,在视图模板中修改数据后也可以将其更新到后端绑定变量。 双向绑定 通过上篇教程的分析我们已经知道,Livewire 组件的数据绑...

通过 Livewire 在 Laravel 项目中实现基于 PHP 的全栈开发(二):组件创建和渲染的底层实现

前言 昨天在发布完 Livewire 入门教程后,分享到 v2ex 和朋友圈引来各种评论,大多数人持有的态度都是「这玩意没啥用」,我想这部分人大多是已经非常熟悉Laravel + Vue/React 进行前后端开发了,而目前无论就性能和先天基因来说,Livewire 确实都是不如原生 Vue/React 组件的,就像 Weex、React Native 一直致力于通过 JavaScrip...

通过 Livewire 在 Laravel 项目中实现基于 PHP 的全栈开发(一):快速上手篇

Livewire 简介 现如今的 JavaScript 有些疯狂,各种框架和工具层出不穷,有种「山中方一日,世上一千年」的感觉,有的时候,即使是很简单的功能,比如弹出模态框或者对前端交互做一些微调,我们也不得不引入大量的代码(比如安装一个 NPM 包),这无疑提高了应用的复杂性,也让项目代码库显得臃肿不堪,而且有的时候真的有点杀鸡焉用牛刀。 其实我们大可不必如此。 因为有了 Livewi...

基于 Laravel + Swoole + Vue 组件实现支持高并发的实时弹幕功能(下)

我们接着上篇教程来完成弹幕服务端以及客户端与服务端交互的开发,首先来实现服务端 WebSocket 服务器的编码。 WebSocket 服务器 我们参照之前的功能介绍教程《在 Laravel 中集成 Swoole 实现 WebSocket 服务器》实现这个用于弹幕功能的 WebSocket 服务器。 注:如果你还没有在 Laravel 项目中安装配置 LaravelS 扩展包,参考这篇...

基于 Laravel + Swoole + Vue 组件实现支持高并发的实时弹幕功能(上)

前面我们已经介绍完了 Swoole 的所有功能特性以及集成到 Laravel 框架的注意事项,接下来学院君带大家来做一些实践小项目练练手,在实践篇里,我们将完成两个项目,一个是简单的弹幕功能,一个是在线聊天室,首先我们来实现弹幕功能。 弹幕服务后端实现 随着哔哩哔哩之类的弹幕视频网站和在线直播视频的兴起,弹幕功能越来越常见,所谓弹幕其实就是视频界面上满天飞评论,就像下面这种: 这样一来...

[ Laravel从入门到精通 ] 测试系列 —— 通过测试驱动开发构建待办任务项目(二):前端功能和浏览器测试篇

在上篇教程中,学院君已经完成了待办任务项目后端 API 接口的编写和功能测试,现在,我们开始编写 Vue 组件来实现前端的交互界面。 编写前端 Vue 组件 首先在 resources/js/components 目录新增一个 Vue 组件 TasksComponent.vue,并编写模板代码和脚本代码如下:...

[ Laravel 5.8 文档 ] 测试系列 —— 浏览器测试

简介 Laravel Dusk 提供了优雅的、易于使用的浏览器自动测试 API。默认情况下,Dusk 不强制你在机器上安装 JDK 或 Selenium,取而代之地,Dusk 基于独立安装的 ChromeDriver。不过,你可以使用任意其他兼容 Selenium 的驱动。 注:Selenium 是一套 Web 应用自动化测试系统,运行 Selenium 测试就像你在浏览器中操作一样;...

[ Laravel 5.8 文档 ] 前端开发 —— Blade 模板引擎

简介 Blade 是由 Laravel 提供的非常简单但功能强大的模板引擎,不同于其他流行的 PHP 模板引擎,Blade 在视图中并不约束你使用 PHP 原生代码。所有的 Blade 视图最终都会被编译成原生 PHP 代码并缓存起来直到被修改,这意味着对应用的性能而言 Blade 基本上是零开销。Blade 视图文件使用 .blade.php 文件扩展并存放在 resources/vi...

微信小程序开发入门教程(九):组件化框架 WePY 开发入门 —— 博客首页文章列表重构

上篇教程,学院君已经给大家初步介绍了基于小程序组件化框架 WePY 的项目初始化和目录结构,今天开始我们将花几篇教程的篇幅通过 WePY 框架来重构之前通过原生框架开发的博客应用小程序版,并且在此基础上实现用户授权登录及点赞功能,最后将这个小程序上线,从而演示完整的小程序开发生命周期。 重构的时候,后端接口不用做任何调整,只需要开发小程序页面即可。 我们在 PHPStorm 中打开上篇教...

微信小程序开发入门教程(七):原生框架开发入门 —— 博客文章详情页实现(下)

在上一篇教程中,我们通过测试数据渲染了小程序的文章详情页,这一篇教程我们将通过访问后端 API 接口来获取文章数据,以便实现文章详情页数据渲染。 提供后端 API 接口 定义路由 首先,我们需要在博客项目 blog57 的 routes/api.php 中新增一个 API 路由: Route::middleware('throttle:60,1')->prefix('v1')->grou...