[ PHP 内核与扩展开发系列] PHP 启动与终止那点事:MINFO 与 phpinfo() 函数

如果你并不打算做出一个只有你自己使用的扩展,那么你可能需要告诉用户一些关于你的扩展的信息。比如:其环境和特定版本的可用功能、版本信息、作者信息,以便在发生问题的时候可以寻求帮助,甚至可以加上一个 LOGO 等等。 如果你仔细看过 phpinfo() 或者 php -i 的输出,相信你已经注意到,所有这些信息会组合成一个格式良好的、易于解析输出的数据块。你的扩展可以轻松地通过模块信息函数 …

通过 PHP OPcache 让你的 Laravel 应用运行速度飞起来

什么是 Opcache 每一次执行 PHP 脚本的时候,该脚本都需要被编译成字节码,而 OPcache 可以对该字节码进行缓存,这样,下次请求同一个脚本的时候,该脚本就不需要重新编译,这极大节省了脚本的执行时间,从而让应用运行速度更快,同时也节省了服务器的开销。 用数字说话 我们当然很想知道到底进行了怎样的优化,尽管性能提升高度依赖于应用和服务器的配置,不过我们可以通过运行基准测试(be…

[ PHP 内核与扩展开发系列] 配置编译环境并编译安装 PHP

准备工作 从一个 PHP 程序员,到一个想为 PHP 开发扩展的程序员,此间的进化有一步是跳不过去的,那就是你必须熟知如何编译 PHP 的源码。 *nix Tools C 语言的编译器是我们使用 C 语言的必备工具,你的系统应该已经自带了一种 C 语言的编译器,而且它极有可能是大名鼎鼎的 gcc。通过检测你本机 gcc 或者 cc 程序的版本,可以很方便的知道你机器上是否已经安装的某种 …

[ Laravel 5.4 文档 ] 综合话题 —— 包开发

1、简介 包是添加功能到 Laravel 的主要方式。包可以提供任何功能,小到处理日期如 Carbon,大到整个 BDD 测试框架如 Behat。 当然,有很多不同类型的包。有些包是独立的,意味着可以在任何框架中使用,而不仅是 Laravel。比如 Carbon 和 Behat 都是独立的包。所有这些包都可以通过在 composer.json 文件中请求以便被 Laravel 使用。 另…

[ Laravel 5.4 文档 ] 起步 —— 配置

1、简介 Laravel 的所有配置文件都存放在 config 目录下,每个配置项都有注释,以保证浏览任意配置文件的配置项都能直观了解该配置项的作用。 2、环境配置 基于应用运行的环境不同设置不同的配置值能够给我们开发带来极大的方便,比如,我们通常在本地和线上环境配置不同的缓存驱动,这一机制在 Laravel 中很容易实现。 Laravel 使用 Vance Lucas 开发的 PHP …

[ Laravel 5.4 文档 ] 起步 —— 安装

1、服务器要求 Laravel 框架有对服务器有少量要求,当然,Laravel Homestead 已经满足所有这些要求,所以我们强烈推荐使用 Homestead 作为 Laravel 本地开发环境(Mac的话还可以使用Valet作为本地开发环境)。 不过,如果你没有使用 Homestead,那么需要保证开发环境满足以下要求: PHP版本 >= 5.6.4 PHP扩展:OpenSS…

[ Lumen 5.3 文档 ] 起步 —— 配置

1、简介 Lumen框架的所有配置项都放在配置文件.env  中。 2、访问配置值 你可以使用全局的辅助函数config来访问配置值,配置值可以通过“.”来分隔配置文件和配置项,如果配置项不存在的话则会返回默认值: $value = config(‘app.locale’); 如果要在运行时设置配置值,传递一个数组到config函数: config([‘app.locale’ =>…

[ Laravel 5.3 文档 ] 附录 —— 包开发

1、简介 包是添加功能到 Laravel 的主要方式。包可以提供任何功能,小到处理日期如 Carbon,大到整个 BDD 测试框架如 Behat。 当然,有很多不同类型的包。有些包是独立的,意味着可以在任何框架中使用,而不仅是 Laravel。比如 Carbon 和 Behat 都是独立的包。所有这些包都可以通过在composer.json文件中请求以便被 Laravel 使用。 另一方…

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

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

[ Laravel 5.3 文档 ] 数据库 —— Redis

1、简介 Redis是一个开源的、高级的键值对存储系统,经常被用作数据结构服务器,因为其支持字符串、Hash、列表、集合和有序集合等数据结构。在Laravel中使用Redis之前,需要通过Composer安装predis/predis包: composer require predis/predis 配置 应用的Redis配置位于配置文件config/database.php。在这个文件…