过去对于php小应用开发,如果不基于框架,包管理一般都比较粗犷,使用composer来管理,不仅结构清晰,用起来也方便许多。
新建项目composer-example
项目目录下新建composer.json,内容如下:
{
"require": {
"monolog/monolog": "^1.25"
}
}
然后终端执行
composer install
执行完成后,目录结构如图:

下面开始应用开发,目录结构如图:

composer.json 文件内容更新为
{
"require": {
"monolog/monolog": "^1.25"
},
"autoload": {
"psr-4": {
"App\\": "app/"
}
}
}
执行:
composer install
相关代码
index.php
<?php
require __DIR__.'/../vendor/autoload.php';
use App\Library\Logs;
Logs::info('test', 'index', ['test' => "logs"]);
对日志模块进行简单封装
Logs.php
<?php
namespace App\Library;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
/**
* Class Logs
* @package App\Library
*/
class Logs
{
/**
* 记录日志
* @param $fileName
* @param $msg
* @param array $content
*/
public static function info($fileName, $msg, array $content)
{
$log = new Logger('api-test');
$log->pushHandler(new StreamHandler(__DIR__.'/../../logs/'.$fileName.'-'.date("Y-m-d").'.log', Logger::DEBUG));
$log->info($msg, $content);
}
}
验证结果
终端执行:
php app\index.php
日志文件已经写入了,后续可以基于现有结构做些其他有趣开发。