在 PHP 中利用 spl_autoload() 函数实现自动加载

为什么需要自动加载?

在 PHP 编程的过程中,我们往往会将不同的类、功能、模块拆分成多个文件,从而简化程序结构、减少冗余代码。这些文件形成了互相依赖的关系。同时,如果我们使用第三方的类库等,也需要将文件引入。
在初学 PHP 时,一般使用的是 requireinclude 函数或命令。但是,当文件多起来的时候,将文件逐一引入就显得低效,也不利于代码的维护。这时,我们就需要一个自动加载机制,来管理、加载这些文件。

阅读更多

在 VMware 上安装 OpenWrt

OpenWrt 是一个嵌入式的 Linux 操作系统,多被用于智能家居、路由器、VOIP 等网络设备中。OpenWrt 支持各种架构的 CPU,自然也支持 x86 指令集。

OpenWrt 起源于思科公司为其家用路由器 Linksys 开发的操作系统。由于使用了部分 GPL 代码,因而被迫开源,成为了第一版的 OpenWrt。
OpenWrt 由于其高度自由化、可自定义、模块化、可扩展,收到了开发者们和 Geek 们的欢迎。网络上许多文章都介绍过如何给自己的路由器安装 OpenWrt 系统。
但是,今天我们尝试的是在 VMware 虚拟机上安装 OpenWrt。

OpenWrt 的官方网址为:https://openwrt.org/

阅读更多

NPM 撤包记

话还要从半年前说起,那时的我年少无知,心比天高,初学 Node.js,便开了一个大坑——在 NPM 上创建了一个名字极其中二的 package。“反正可以随时 unpublish”当时的我十分 naive 的想到。

直到今天,我才发现我根本无力填完这个天大的坑,于是我决定 unpublish 这个包。然而事与愿违,在我输入 npm unpublish <pkg> 时,服务器并不想和我说话并扔给了我一个 400 Error。在网上查找了一番,才发现了这么一个大新闻:开发者对 npm 公司不满,unpublish 了自己的所有模块。不得已,我只能走上了艰难申诉之路。

阅读更多