PHPackages                             shershon/base - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PSR &amp; Standards](/categories/psr-standards)
4. /
5. shershon/base

ActiveLibrary[PSR &amp; Standards](/categories/psr-standards)

shershon/base
=============

常用的、基于 psr 的基础组件

1.0.0(3y ago)04MITPHPPHP &gt;=7.1.3

Since Aug 28Pushed 1y agoCompare

[ Source](https://github.com/shershon-php-package/base-component)[ Packagist](https://packagist.org/packages/shershon/base)[ Docs](https://github.com/shershon-php-package/base-component.git)[ RSS](/packages/shershon-base/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

1.常用的基础组件
---------

[](#1常用的基础组件)

常用的基础组件：

- 基于 psr、Monolog包 封装的日志包

2.安装
----

[](#2安装)

- 配置composer.json

```
{
  "require-dev": {
    "shershon/base": "^1.0.0"
  },
  "config": {
    "secure-http": false
  },
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/shershon-php-package/base-component.git"
    }
  ]
}
```

- composer require --ignore-platform-reqs shershon/base
- rm -rf vendor/shershon/base/.git

3.更新包版本
-------

[](#3更新包版本)

- composer require --ignore-platform-reqs shershon/base:1.0.0(替换成指定的版本)
- rm -rf vendor/shershon/base/.git

4.使用
----

[](#4使用)

### 4.1 基本用法

[](#41-基本用法)

- 前期准备,设置常量。在框架入口或脚本入口添加请求id和开始时间

    ```
    define('INDEX_START', microtime(true));//基于计算耗时
    define('REQUEST_ID', 'PHP_' . uniqid(gethostname() . '_'));//用于追踪请求链路

    ```
- 打印日志 $logger的的instance只需要初始化一次，一般放在ServiceProvider中初始化一次，后期只使用LogFacade门面类打印日志

```
    $config = [
        'file' => '/logs/test.log' //设置日志路径
    ];
    $logger = new Logger();
    $logger->setConfig($config);
    LogFacade::setInstance($logger);
    //日志不区分模块
    LogFacade::info('test', ['title' => 'this is test'])
    //日志区分模块,便于搜索
    LogFacade::info('module:message', ['title' => 'this is test'])
```

### 4.2 lumen/laravel 框架接入

[](#42-lumenlaravel-框架接入)

- 在public/index.php和artisan文件中增加常量

```
 define('INDEX_START', microtime(true));//基于计算耗时
 define('REQUEST_ID', 'PHP_' . uniqid(gethostname() . '_'));//用于追踪请求链路

```

- 在AppServiceProvider的boot方法初始化日志服务, .env配置日志文件路径

```
