/images/portrait/meso.jpeg

麦索的麦田

用开源组件构建属于你的 PHP 框架

为什么要构建自己的 PHP 框架?

现在的 PHP 框架很多,当然不止 PHP ,即使是其他编程语言也有很多框架,这篇文章讲 PHP 框架构建是因为我对 PHP 的生态最为熟悉,但这个方法同样也适用于其他编程语言框架的构建。

Web 金字塔式开发框架分层模型概述

现在的大部分 Web 框架都是使用金字塔式的分层架构,一般这种应用都是阻塞同步 IO 模型的编程实现,理解这种分层架构模型的实质有助于理解框架。

因为万变不离其宗,理解这种架构后你不管这种模型如何变化实际上都是在遵守一些约定和规则,那么理解这个模型,只要这个框架是这种架构那么你都会掌握的很快。

求钟表时针和分钟夹角问题

这是一道我面试中遇到的算法题,我觉得蛮有意思的所以写出来与大家分享一下。

问题

给定一个时间值,需要计算出表盘上时针与分针的之间的夹角度数。

思路

虽然题目中只有一个条件,但其实已经有许多隐含条件包括在内。

Laravel 的 Eloquent 中的属性访问控制意义及实践

我们在定义一个自己的 Laravel 模型时都需要继承 Illuminate\Database\Eloquent\Model 这个类,在这个类中定义了很多模型相关的操作和行为。今天我们来重点说说 Model 中包含的属性。

在框架定义属性中访问权限一般有 protectedpublic 两种,这两种属性是在我们继承基础模型后可以重写的,那为什么不统一都是protected,是因为有一些属性我们需要去动态改变。

PHP 用 Enum 限定参数类型

痛点

PHP 是一门若类型语言,这是大家都知道的,弱类型让我们在编写代码时很舒服,但是维护它却变得不那么舒服,一个小型的 PHP 项目只有有限的几个程序员去维护的话,其实这个问题并不明显,也不会成为困难,但是当项目变大,协作的人数变多的时候这就是一个需要去正式的问题。