Summer php,summer项目开发一:框架搭建

开始构建summer。伟大征程第一步

1.设计包。

参考了下其他框架,现在都是基于composer进行管理,而且各个包分的比较细。第一个版本简单点,设计3个包,server、manage、core,其中core包含net等公共的,等第一个版本开发出来了再进行拆包

由于summer的namespace已经被人注册了,改为suframe,同样的霸气,管他3721,先去把包坑占起

首先开发manage入手,根据前面的设计。

manage应该包含一个启动swoole http服务,websocket后面再说。考虑到可能和server公用,所以放到core/net,网络请求相关的全部丢进去

然后得有个命令行工具 console,然后一个命令行,一个net先跑起来,日志,实际等再慢慢添加

所以整个包的结构就成了vendor/suframe

core

console

manage

Core.php

server

Core.php

2.设计目录

先开发manage,业务代码放在app目录。

要提供一些接口给server用,比如注册,同步服务,监听事件等,所以得有个action目录

配置目录必不可少

启动脚本

所以基础目录就如下app

├── action

│   └── server

│   ├── Regist.php

│   ├── Search.php

│   └── Sync.php

├── config

└── manage.php

当然由于那些包还没有开发,先进行框架搭建,所以在根目录下新建了个目录suframesuframe/

├── core

│   ├── console

│   │   └── Console.php

│   └── net

│   ├── http

│   │   └── Server.php

│   └── tcp

│   └── Server.php

├── manage

│   ├── Core.php

│   ├── README.md

│   └── traits

│   └── Singleton.php

└── server

├── Core.php

└── README.md

来模拟包

然后在bin/bootstrap.php中添加下注册个命名空间$loader->addPsr4("suframe\\", __DIR__ . '/../suframe/');

ok.到此一个最简单的目录架构已经出来了。 剩下的事情就是填充代码让这个manage首先把http服务跑起来,完成转发。 然后编写注册的代码。

3.选型

第一步要运行命令行,额,没有个console工具是不太方便的,看了下swoft的toolkit/cli-utils。然后easyswoole干脆自己写了个。 如果啥都要自己写,这个想不知道啥时候能完成。 搜了下,先用着 https://github.com/inhere/php-console/blob/master/README_cn.md 这个吧,也是用了toolkit

4.开发

先开发manage

开发第一个文件肯定是入口文件,入口文件负责初始化自动加载和 初始化程序。 对比了下,个人还是喜欢easyswoole这种模式,简单明了. 所以新建bin/summer.php文件#!/usr/bin/env php

require_once __DIR__ . '/bootstrap.php';

(new \suframe\manage\Core())->run();

入口就应该保持简单

然后编写core代码

现在需要一个config组件读取分散的config文件,额,本来想用symfony/config,结果给我下了一堆包。选了下 ,还是用https://github.com/hassankhan/config吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值