• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

用-Composer-组建了个-PHP-框架

php 搞代码 3年前 (2022-03-01) 32次浏览 已收录 0个评论
文章目录[隐藏]

大概在两三年前本人就有过写个 PHP web 框架的想法,期间也尝试过来实际开发,但总是因为各种各样的起因并没有实现。

这次终于恒心下来,忙里偷闲的组建了一个本人的 PHP 微框架。前前后后零零碎碎的开发了快一个月的工夫,直到明天实现文档的编写,才向大家出现。

除了框架自身的(Coole)外围代码,还提供一个框架利用(coolephp/skeleton)模板,另外编写了一份简陋的文档, 望能给 也想写框架的人带来一点参考(大神请疏忽)。

生命周期

  1. 客户端向入口脚本 index.php 发动申请。
  2. 入口脚本中创立利用,向利用中注册配置服务、外围服务、第三方服务。
  3. 定义路由,载入到利用中。
  4. 启动运行利用。
  5. 创立申请对象。
  6. 依据申请对象解析路由,创立控制器实例。
  7. 动作调用模型数据,渲染到视图,生成响应对象。
  8. 管道过滤响应。
  9. 返回响应给客户端。
  10. 终止生命周期。

命令行界面

装置框架

$ composer require guanguans/coole -vvv

疾速开始

<code class="php"><?php

use Guanguans\Coole\App;
use Guanguans\Coole\Facade\Router;
use Symfony\Component\HttpFoundation\Request;

require __DIR__.'/vendor/autoload.php';

// 1. 创立利用
$app = new App();
$app['debug'] = true;

// 2. 定义一个带中间件的路由
Router::get('/', function (){
    return 'This is the Coole framework.';
})->setMiddleware(function (Request $request, Closure $next){
    printf('Before request.<br>');
    $response = $next($request);
    printf('<br>After request.');

    return $response;
});

// 3. 监听运行
$app->run();

框架中每项性能职责所用到的组件

  • guanguans/di – 容器(illuminate/container 的衍生版)
  • symfony/http-kernel – HTTP 内核
  • symfony/http-foundation – HTTP 对象管理层
  • symfony/routing – 路由
  • symfony/event-dispatcher – 事件调度器
  • filp/whoops – 错误处理
  • symfony/error-handler – 错误处理
  • monolog/monolog – 日志
  • mpociot/pipeline – 管道(中间件的实现)
  • symfony/console – 命令行
  • symfony/finder – 文件治理
  • topthink/think-orm – ORM
  • twig/twig – 模板引擎
  • vlucas/phpdotenv – env
  • tightenco/collect – 汇合

参考的文章及借鉴的框架

官网文档

源码链接


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:用-Composer-组建了个-PHP-框架
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址