前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【coder】 Coder PHP Framework 目录 | 教程三

【coder】 Coder PHP Framework 目录 | 教程三

作者头像
Kunkka Wu
发布2022-01-13 11:00:07
2350
发布2022-01-13 11:00:07
举报
文章被收录于专栏:算法协议

主目录结构

代码语言:javascript
复制
- app
    - Exception
    - Http
        - Controllers
        - Middleware
    - Libs
    - Models
    - Services
- bootstrap
    - app.php
- config
    - app.php
    - database.php
    - logging.php
- public
    - index.php
- routes
     web.php
- storage

主目录结构

  • App为应用目录,里面包括控制器、中间件、Lib库、Model模型、Service服务等。
  • bootstrap目录为系统引导启动目录,只含有web.php, 用于fpm类的启动引导,开发过程中不需要修改。
  • config目录之前介绍过,为系统配置文件目录。里面内置了 app.php,database.php,logging.php,用户可以自定义配置文件。
  • public目录下仅包含index.php,为系统的统一入口文件。
  • routes目录,用于配置API的路由。为了最大限度的保证系统安全性,为注册的路由,系统一律不予解析。

入口文件

入口文件为 public下的index.php,该文件为系统的统一入口,代码极为简单,载入启动程序bootstrap.php后run()

代码语言:javascript
复制
<?php

$app = require_once __DIR__.'/../bootstrap/app.php';

$app->run();

启动程序

系统的启动程序为bootstrap.php, 该程序主要加载配置项,实例化APP类,加载中间件、路由等功能,返回最终的APP对象。

代码语言:javascript
复制
<?php
define('ROOT_PATH', __DIR__ . DIRECTORY_SEPARATOR . '..');
define('APP_PATH', ROOT_PATH . DIRECTORY_SEPARATOR . 'app');

//require __DIR__.'/../vendor/autoload.php';
require __DIR__ . '/../system/autoload.php';
require_once __DIR__ . '/../system/helpers.php';

$app = new System\Application(dirname(__DIR__), ['web']);

$file = '.env';
if (isset($_SERVER["env"])) {
    if ($_SERVER["env"] == 'test') {
        $file = '.env_test';
    } else if ($_SERVER["env"] == 'production') {
        $file = '.env_production';
    }
}

$app->loadEnv($file);

$app->beforeMiddleware([
    App\Http\Middleware\BeforeMiddleware::class,
]);
$app->afterMiddleware([
    App\Http\Middleware\AfterMiddleware::class
]);
$app->routeMiddleware([
    'auth' => App\Http\Middleware\AuthMiddleware::class,
    'auth2' => App\Http\Middleware\Auth2Middleware::class
]);

return $app;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/01/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主目录结构
  • 入口文件
  • 启动程序
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档