[ PHP 内核与扩展开发系列] PHP 中的资源类型:复合数据类型 —— 资源

截止到现在,我们已经熟悉了 PHP 语言中的字符串、数字、布尔以及数组等数据类型了,接下来,我们将接触另外一种 PHP 独特的数据类型——资源(Resource)。 讲述之前,先描述下资源类型在内核中的结构: typedef struct _zend_rsrc_list_entry { void *ptr; int type; int refcount; } zend_rsrc_list…

[ PHP 内核与扩展开发系列] Array 与 HashTable:操作 HashTable 的 API

Zend 把与 HashTable 有关的 API 分成了好几类以便于我们查找,这些 API 的返回值大多都是常量SUCCESS 或者 FAILURE。 初始化 HashTable 下面在介绍函数原型的时候都使用了 ht,但是我们在编写扩展的时候,一定不要使用这个名称,因为一些 PHP 宏展开后会声明这个名称的变量,进而引发命名冲突。 创建并初始化一个 HashTable 非常简单,只要…

[ Laravel 5.3 文档 ] 数据库 —— 查询构建器

1、简介 数据库查询构建器提供了一个方便的流接口用于创建和执行数据库查询。查询构建器可以用于执行应用中大部分数据库操作,并且能够在支持的所有数据库系统上工作。 Laravel 查询构建器使用 PDO 参数绑定来避免 SQL 注入攻击,不再需要过滤传递到绑定的字符串。 2、获取结果集 从一张表中取出所有行 我们可以从DB门面的table方法开始,table方法为给定表返回一个流式查询构建器…

Laravel 5.1 中基于 Dropzone.js 实现图片拖拽上传及删除功能

注:本教程代码适用于Laravel 5.1版本。 1、概述 Dropzone是目前最好的免费文件拖拽上传库,它拥有很多特性和选项以便你可以使用多种方式来自定义。 在Laravel项目集成Dropzone对没有经验的新手来说有点棘手,所以接下来我想你给你们展示最优雅的解决方案。 这篇教程将包括以下内容: 自动图片上传 通过Ajax请求从Dropzone预览中直接移除图片 上传图片计数器 保…

[ Laravel 5.2 文档 ] Eloquent ORM —— 起步

1、简介 Laravel 自带的 Eloquent ORM 提供了一个美观、简单的与数据库打交道的 ActiveRecord 实现,每张数据表都对应一个与该表进行交互的“模型”,模型允许你在表中进行数据查询,以及插入、更新、删除等操作。 在开始之前,确保在config/database.php文件中配置好了数据库连接。更多关于数据库配置的信息,请查看文档。 2、定义模型 作为开始,让我们…

[ Laravel 5.2 文档 ] 数据库 —— 迁移

1、简介 迁移就像数据库的版本控制,允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和 Laravel 的结构构建器结对从而可以很容易地构建应用的数据库表结构。 Laravel 的Schema门面提供了与数据库系统无关的创建和操纵表的支持,在 Laravel 所支持的所有数据库系统中提供一致的、优雅的、平滑的API。 2、生成迁移 使用 Artisan 命令make:migrat…

[ Laravel 5.2 文档 ] 数据库 —— 查询构建器

1、简介 数据库查询构建器提供了一个方便的、平滑的接口来创建和运行数据库查询。查询构建器可以用于执行应用中大部分数据库操作,并且能够在支持的所有数据库系统上工作。 注意:Laravel 查询构建器使用 PDO 参数绑定来避免 SQL 注入攻击,不再需要过滤传递到绑定的字符串。 2、获取结果集 从一张表中取出所有行 在查询之前,使用DB门面的table方法,table方法为给定表返回一个查…

[ Laravel 5.2 文档 ] 数据库 —— 起步

1、简介 Laravel 让连接多种数据库以及对数据库进行查询变得非常简单,不论使用原生 SQL、还是查询构建器,还是 Eloquent ORM。目前,Laravel 支持四种类型的数据库系统: MySQL Postgres SQLite SQL Server 配置 Laravel 让连接数据库和运行查询都变得非常简单。应用的数据库配置位于config/database.php。在该文件…

Laravel 5.1 中 Session 数据存储、访问、删除及一次性Session实例教程

1、Session的由来及其实现 HTTP协议是无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系的。也就是说我们无法在服务器端确认两次请求是否是同一个用户所为,这为我们在一些应用场景中实现在多次请求间记住用户状态带来麻烦,比如电子商务网站,用户浏览商品、加入购物车、下单、购买需要多个请求才能完成,如果在这些请求之间无法记住用户状态,根本无法完成正常的购买行为,为此,引入了Se…

使用 Laravel 5.1 的文件系统对文件进行存储、移动和删除操作

Laravel 基于 Flysystem 提供了强大的文件系统对文件进行存储和删除,该文件系统和缓存一样,支持多种驱动,这些驱动包括本地驱动、FTP、Amazon S3以及 Rackspace,在这些驱动之上提供了统一的API方便随时切换驱动而不需要修改任何业务逻辑代码。 既然API方法一致,那么这里作为示例,我们使用本地驱动来演示如何使用文件系统API对文件进行存储和删除。 1、配置 …

12