从零开始搭建自己的Swoole框架(十二)日志系统
安装日志系统日志习题属于框架的一部分,因此在框架目录下执行: 1composer require monolog/monolog Logger在框架 module 下新建 Logger 文件夹用来保存日志相关功能代码, 在 Logger 创建 Log 类: 123456789101112 ...
阅读更多
从零开始搭建自己的Swoole框架(十一)数据库模型
前言数据库操作类自己写不安全,而且也有比较成熟的插件包了, 因此我打算直接引入 Laravel 相同的 ORM。 插件包安装数据库操作属于框架层面的,因此在框架的目录下执行: 1composer require illuminate/database 框架目录下也会自动创建一个 comp ...
阅读更多
从零开始搭建自己的Swoole框架(十)数据库迁移
前言通常情况下我们要创建 MySQL 数据库的表需要手动创建 SQL 语句。 然而这样一方面是很不方便,另一方面也不安全,如果修改表结构的时候不小心改错了,就会造成无法挽回的后果,而且最关键的是还不知道是谁干的! 之前上班的时候同事就遇到这种情况,有一个同事不小心删了另一个同事要用的表,结果不言而喻 ...
阅读更多
从零开始搭建自己的Swoole框架(九)视图blade模板
前言路由模块终于告一段落了,虽然完成了但还没有经过严格测试, 因此可能会存在一些问题,具体问题就等接下来的开发过程发现就好了。 视图模块由于我的框架不是专门做 API 的,也不是微服务架构,而是单体应用, 也就是说会出现 HTML 代码跟 PHP 代码混合在一块的视图文件, 直接用原生的 PHP 来 ...
阅读更多
从零开始搭建自己的Swoole框架(八)路由中间件
中间件的概念中间件就是一种系统之间互相连接的“中间的一层”。 通俗的讲类似古代的关口,西游记里唐僧每到一个国家都要取得这个国家的“通关文凭”,如果没有通关文凭就无法离开国界。边关的守卫就可以理解为“中间件”,唐僧就是请求,如果没有通过文凭(即达不到某种要求)就会被拦截在关口。 也就是说,中间件的主要 ...
阅读更多
从零开始搭建自己的Swoole框架(七)路由动态注入参数
前言已经写到第七章了,竟然还是在写路由 = = 今天就来实现路由给方法动态传参的功能。 动态传参就是说路由定义的规则:/article/{id},会自动注入到 ArticleController 的 show 方法。 示例: 123456789101112131415161718 ...
阅读更多
从零开始搭建自己的Swoole框架(六)为路由模块添加命名功能
前言参考 Laravel 的路由,希望我的框架可以跟 Laravel 一样给路由命名, 1$router->get('/home', 'IndexController@index')->name('index'); 然后提供一个 ...
阅读更多
从零开始搭建自己的Swoole框架(五)为路由模块添加解析路径参数功能
前言上文已经实现简单路由,但还没办法解析路由参数。 例如: 1http://www.huotublog.com/article/1 包含了路径参数,即 article 后面的 1。 本章将为路由模块添加解析路径参数的功能。 另外,Query 参数不叫路由参数 ...
阅读更多
从零开始搭建自己的Swoole框架(四)路由模块
前言路由是一个框架最基本的功能, 虽然没研究过框架的路由是怎么加载的, 这里就凭直觉和使用 Laravel 的经验来自己写一个。 REQUEST_URI用户请求网页输入的网址叫做 URL,URL 在网上已经被统称为 URI 了,下文也采用 URI 的说法。 (注意区分:一个是i,一个是l) 其实 ...
阅读更多
从零开始搭建自己的Swoole框架(三)类的自动加载
准备工作创建文件目录如下: 123456blog|-- app| `-- public|-- firerabbit-engine| `-- module`-- http_server.php 其中,根目录 blog 为项目根目录,app 文件夹是项目所在目录, pu ...
阅读更多