基于七牛云 PHP SDK + Laravel 文件存储实现 Laravel 学院静态资源云存储及 CDN 加速

背景 随着云服务的流行,将图片等静态文件存储到云服务提供商,然后通过CDN的方式获取成为了静态文件存储与加载的通用解决方案,这样做的好处是显而易见的,一方面可以免除在自己的系统上实现文件分布式存储(对大型系统而言),将专业的事情交给专业的人去做;另一方面,CDN获取静态文件可以极大节省服务器带宽,有效提高系统高峰期的吞吐能力,学院正是通过这种方式解决了网站访问速度的问题,用1M带宽撑起学...

基于迅搜(xunsearch) + Laravel Scout 实现 Laravel 学院全文搜索功能

概述 Laravel Scout 为 Eloquent 模型全文搜索实现提供了简单的、基于驱动的解决方案。通过使用模型观察者,Scout 会自动同步更新模型记录的索引,非常方便,易于上手,学院的文章搜索功能正好可以通过它来实现。 Laravel Scout 基于模型 + 底层搜索驱动扩展包来实现模型的全文搜索,目前,Scout 默认通过 Algolia 驱动提供搜索功能,不过,编写自定...

[ Laravel 5.6 文档 ] 基础组件 —— Blade 模板引擎

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

[ Laravel 5.5 文档 ] 安全系列 —— 在 Laravel 中实现用户注册登录认证

简介 注:想要快速上手?只需要在新安装的 Laravel 应用下运行 php artisan make:auth 和 php artisan migrate,这两个命令会生成用户登录注册所需要的所有东西,然后在浏览器中访问 http://your-app.dev/register 即可。 Laravel 中实现用户认证非常简单。实际上,几乎所有东西 Laravel 都已经为你配置...

Laravel 开发工具系列 —— 使用 Visual Studio Code 进行 Laravel 开发

关于 Laravel 代码开发工具大家各有所好,大部分应该在用 PHPStorm,Sublime 也有很多粉丝,还有人喜欢 Atom,不过今天要给大家推荐的是微软旗下新推出的编辑器 —— Visual Studio Code,注意这货不是 Visual Studio 那个庞然大物,一字之差,如隔三秋,它只有 46M 的体量,配合丰富的插件库,可以快速搭建适用于各种编程语言的开发利...

[ Laravel 5.5 文档 ] 处理用户请求 —— Laravel 视图渲染:Blade 模板引擎

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

[ PHP 内核与扩展开发系列] 流式访问:访问流与静态资源操作

在你打开一个流之后,就可以在它上面执行 I/O 操作了,使用哪种协议包装 API 创建了流并不重要,它们都使用相同的访问 API。 读 流的读写可以使用下面的 API 函数组合完成,它们多数都是遵循 POSIX I/O 中对应的 API 规范的: int php_stream_getc(php_stream *stream); 从数据流中接收一个字符,如果流上没有数据,则返回...

[ PHP 内核与扩展开发系列] 流式访问:流的概览

通常直接文件描述符相比调用流包装层消耗更少的 CPU 和内存; 不过, 这样会将实现某个特定协议的所有工作都堆积到作为扩展开发者的身上,通过挂钩到流包装层,你的扩展代码可以透明的使用各种内建的流包装,比如HTTP、FTP,以及它们对应的 SSL 版本,另外还有 gzip 和 bzip2 压缩包装。通过 include 特定的 PEAR 或 PECL 模块,你的代码还可以访问其他协议, 比...

[ PHP 内核与扩展开发系列] INI 配置文件:声明和访问 php.ini 设置

在前面的章节中,我们已经学会了 MINIT、MSHUTDOWN,以及 RINIT 和 RSHUTDOWN 等函数的使用,这里我们将介绍并学习 php.ini 设置的使用。 INI 条目被定义在一个完整的独立块,位于 MINIT 方法所在的同一个源文件,并且用下面的一对宏来定义,并在这对宏之间放入一个或者多个条目:PHP_INI_BEGIN() 和 PHP_INI_END()。 ...