和 C/C++
中的#include
一样,PHP 提供 require 和 include 等方法允许将一个外部 PHP 文件引入到当前文件中,include与require没有本质上的区别,唯一的不同在于错误级别,当文件无法被正常加载时include会抛出warning警告,而require则会抛出error错误。
RESTful API 设计指导
1. RESTful 简介
REST (Representational State Transfer) 翻作「表层状态转换」,是 Roy Thomas Fielding 在他的博士论文中提出的一种 API 设计风格。
表现层状态转换是根基于超文本传输协议(HTTP)之上而确定的一组约束和属性,是一种设计提供万维网络服务的软件构建风格。匹配或兼容于这种架构风格(简称为 REST 或 RESTful)的网络服务,允许客户端发出以统一资源标识符访问和操作网络资源的请求,而与预先定义好的无状态操作集一致化。因此表现层状态转换提供了在互联网络的计算系统之间,彼此资源可交互使用的协作性质(interoperability)。
—— wikipedia
树在 MySQL 中的存储方式
参考《大话数据结构》,如下定义树:
树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一颗非空树中:
有且仅有一个特定的称为根(root)的结点;
当n>1时,其余结点可分为m(m>0)个互补交互的有限集T1、T2…Tm,其中每一个集合本身又是一棵树,并称为根的子树(SubTree)。
在工作中,树被广泛使用,最常见的就是数据库中的 B+ 树,除此之外,网站中的菜单也常常是用树来表达其中的层次关系的(hierarchical),本文重点讲解基于菜单树这种应用常见下树在数据库中的存储方式。
DataTable.js 使用笔记
Datatables是一款jquery表格插件。它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能。
Datatables 灵活易用,具有如下特性:
- 自动分页
- 即时搜索
- 多种排序规则,可自定义任意列排序,也可以多列排序
- 可对分页样式、搜索框等自定义 CSS
- 国际化,支持多种语言
……
PHP 命名空间
命名空间抽样模型
编程的本质是抽象,命名空间是一种编程抽象模型,它表示了一个标识符的可见范围。生活中我们会经常遇到两个人完全重名的情况,但是他们是不会被混淆的,因为他们来自不同的家庭,如果两人都来自同一个家庭,那么哥哥叫“小明”,弟弟绝对就不会再起名为“小明”了,我们可以认为每一个家庭都是一个命名空间。这种抽象模型在计算机中也被广泛应用,如计算机操作系统中同一个目录下是不允许有两个相同文件名的文件的,但不同的目录下确可以有文件名相同的文件。如
Docker 学习笔记(2)
上一篇文章介绍了 Docker 的基本使用,本文将介绍 Dockerfile 定制容器镜像和使用 Docker-compose 工具编排、管理 Docker。
Docker 学习笔记(1)
Docker 是一种新的虚拟化技术,随着技术的不断革新 Docker 越来越受开发者的青睐,Docker 给开发带来了诸多方便,如提供如本地开发环境、单元测试环境、构建环境;Docker 还常用语弹性云服务和组件微服务。本文主要介绍 Docker 的基本使用,更多进阶内容我们将在下一节介绍。