摘要: /etc/passwd 文件储存了账户信息,文件格式如下 Username: 用户名,1~32个字符。 Password: 密码,存储在/etc/shadown文件中。 User ID(UID): 用户ID,root的UID是0。 Group ID(GID): 用户组ID,存储在/etc/group 阅读全文
posted @ 2022-11-30 21:50 whyly 阅读(684) 评论(0) 推荐(0) 编辑
摘要: 背景 装饰器模式主要解决继承关系过于复杂的问题,通过组合来替代继承。它主要的作用是给原始类添加增强功能。这也是判断是否该用装饰器模式的一个重要的依据。除此之外,装饰器模式还有一个特点,那就是可以对原始类嵌套使用多个装饰器。为了满足这个应用场景,在设计的时候,装饰器类需要跟原始类继承相同的抽象类或者接 阅读全文
posted @ 2022-08-28 21:32 whyly 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 抽象类是把一些具有共性的类进行抽象,抽出公共部分行程抽象类,提高代码复用性,是一个自下而上的过程,从具体类中抽象而来形成抽象类,表示一种 is-a 的关系。 接口定义了类的行为,是一种契约,表名类可以做什么,提高代码的扩展性,是一个自上而下的过程,先定义好要完成的功能,具体类去实现,表示一种 has 阅读全文
posted @ 2022-08-05 22:55 whyly 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 引言 使用laravel框架已经有段日子了,这几天一直在研究框架源码,看了一些关于laravel生命周期的文章,觉得得自己总结一下才能理解更深刻。话不多说,本次研究使用的是laravel6.0的源码,laravel5.x貌似差不多,函数细节有不同,大体流程没变。 请求流程 web服务器(Apache 阅读全文
posted @ 2022-06-24 11:25 whyly 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 引言 php对象复制可以通过clone关键字完成,并且会调用__clone()魔术方法。当对象被复制后,PHP 会对对象的所有属性执行一个浅复制(shallow copy)。所有的引用属性仍然会是一个指向原来的变量的引用。 浅复制 class A { public $name; public fun 阅读全文
posted @ 2022-06-17 17:40 whyly 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 引言 项目需要将HTML页面转换为PDF,由于使用laravel开发,选用了laravel-snappy,它是snappy的laravel版本。snappy是一个PHP库,可以从 url 或 HTML页面生成缩略图、快照或PDF,底层调用的是wkhtmltopdf。wkhtmltopdf是一个开源软 阅读全文
posted @ 2022-06-08 17:47 whyly 阅读(1535) 评论(0) 推荐(0) 编辑
摘要: 经典的单例模式代码如下 class Singleton { private static $instance; // 防止外部实例化 private function __construct(){} // 防止克隆 private function __clone(){} // 防止 seriali 阅读全文
posted @ 2022-06-06 22:23 whyly 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 关系 B-树就是B树,英文B-Tree,其中的“-”是连接符,B+树是B树的升级版,B 树只是一个每个节点的子节点个数不能小于 m/2 的 m 叉树。 区别 B+ 树中的节点不存储数据,只是索引,而 B 树中的节点存储数据 B 树中的叶子节点并不需要链表来串联 阅读全文
posted @ 2022-04-25 17:04 whyly 阅读(25) 评论(0) 推荐(0) 编辑
摘要: COUNT 一般使用count(*)加WHERE的方式统计,如 SELECT COUNT(*) FROM message WHERE type = 1; SUM SUM(条件表达式)可以统计满足指定条件的行数,如 SELECT COUNT(*), SUM(group_id = 4), SUM(use 阅读全文
posted @ 2022-04-24 21:10 whyly 阅读(1289) 评论(0) 推荐(0) 编辑
摘要: 前言 今天看到一个有意思的问题,要获取一个集合的所有子集,使用PHP语言表示的话,就是要找到一个数组的所有子集数组,如[1,2,3],结果应该是 [1] [2] [3] [1,2] [1,3] [2,3] [1,2,3] PHP代码 function powerSet($in,$minLength 阅读全文
posted @ 2022-04-15 16:04 whyly 阅读(187) 评论(0) 推荐(0) 编辑