PHPackages                             baagee/nknkn - 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. [Framework](/categories/framework)
4. /
5. baagee/nknkn

ActiveLibrary[Framework](/categories/framework)

baagee/nknkn
============

PHP NkNkn framework

v0.4.0(5y ago)01521MITPHPPHP &gt;=7.1

Since Sep 25Pushed 5y ago1 watchersCompare

[ Source](https://github.com/baagee/nknkn)[ Packagist](https://packagist.org/packages/baagee/nknkn)[ RSS](/packages/baagee-nknkn/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (15)Versions (70)Used By (0)

nknkn 妮可妮可妮~
============

[](#nknkn-妮可妮可妮)

将以下包组合成小框架，轻量+自定义组合各个模块，定制属于你的小框架

```
baagee/async-task: php process task library https://github.com/baagee/async-task.git
baagee/php-config: PHP Config library https://github.com/baagee/php-config.git
baagee/php-cookie: PHP Cookie library https://github.com/baagee/php-cookie.git
baagee/php-curl-request: PHP Curl Request library https://github.com/baagee/php-curl-request.git
baagee/php-debug-trace: PHP Debug Trace https://github.com/baagee/php-debugtrace.git
baagee/php-event: PHP event library https://github.com/baagee/php-event.git
baagee/php-log: PHP Log library https://github.com/baagee/php-log.git
baagee/php-mysql: PHP mysql library https://github.com/baagee/php-mysql.git
baagee/php-onion: PHP onion layer https://github.com/baagee/php-onion.git
baagee/php-params-validator: PHP Params Validator Library https://github.com/baagee/php-params-validator.git
baagee/php-router: PHP Router library https://github.com/baagee/php-router.git
baagee/php-session: PHP Session library https://github.com/baagee/php-session.git
baagee/php-template: PHP Template library https://github.com/baagee/php-template.git
baagee/wtf-error: What the fuck! PHP error handler https://github.com/baagee/wtf-error.git
psr/container: Common Container Interface (PHP FIG PSR-11) https://github.com/php-fig/container.git

```

快速开始
----

[](#快速开始)

通过 `php ./vendor/bin/creater composer.json_dir app_name` 来快速在vendor同级目录创建app相关目录和示例代码

例如

```
$> php ./vendor/bin/creater ./ appName                                                                                                                                                                                                                [11:05:52]
创建文件夹：app 成功
创建文件夹：app/Action 成功
创建文件夹：app/Controller 成功
创建文件夹：app/Event 成功
创建文件夹：app/Library 成功
创建文件夹：app/Middleware 成功
创建文件夹：app/Model 成功
创建文件夹：app/Script 成功
创建文件夹：app/View 成功
创建文件夹：config 成功
创建文件夹：runtime 成功
创建文件夹：public 成功
public/index.php 创建成功
composer.json 添加自动加载命名空间App
app/routes.php 创建成功
app/Middleware/ReturnJson.php 创建成功
app/Action/Test/Hello.php 创建成功
尝试访问一下 /api/hello
OVER

```

app目录结构
-------

[](#app目录结构)

必须的目录在vendor同级别有

```
app// 项目具体代码 里面有控制器，中间件，模型等类
public // webroot目录 index.php所在目录
config // 配置文件所在目录
runtime // 运行时缓存等目录，要保证可写
vendor // composer安装文件夹
comspoer.json

```

至于目录下的子目录，自己自定义就行

详细参考结构请看示例 [【sql-profiling】mysql sql语句性能分析平台](https://github.com/baagee/sql-profiling "sql-profiling")

框架运行流程
------

[](#框架运行流程)

```
app初始化
触发app初始化之后的事件
触发路由初始化之前事件
路由初始化
触发路由初始化之后事件
触发路由匹配之前事件
if 路由匹配成功
    触发路由匹配之后事件
        Cookie中间件开始
            Session中间件开始
                自定义中间件开始
                    Action执行业务逻辑
                自定义中间件结束
            Session中间件结束
        Cookie中间件结束
else
    http_response_code(404)
请求结束输出响应

```

支持自定义Log存储方式，默认文件
-----------------

[](#支持自定义log存储方式默认文件)

只需要继承并实现`BaAGee\Log\Base\LogHandlerAbstract`，并在log.php配置文件指定handler类名即可

支持自定义Log格式
----------

[](#支持自定义log格式)

只需要继承并重写`BaAGee\Log\Base\LogFormatter`的`getLogString`方法即可，并在log.php配置文件指定formatter类名即可

支持中间件
-----

[](#支持中间件)

框架默认中间件有Session,Cookie，并能根据有无对应配置文件判断是否开启,用户可自定义中间件，比如验证登陆，权限之类的

支持事件触发，框架内置的事件有
---------------

[](#支持事件触发框架内置的事件有)

```
// app初始化后
\BaAGee\NkNkn\App::APP_AFTER_INIT_EVENT;
// 路由初始化前
\BaAGee\NkNkn\Router::ROUTER_BEFORE_INIT_EVENT;
// 路由初始化后
\BaAGee\NkNkn\Router::ROUTER_AFTER_INIT_EVENT;
// 路由匹配执行前
\BaAGee\NkNkn\Router::ROUTER_BEFORE_DISPATCH_EVENT
// 路由匹配执行后
\BaAGee\NkNkn\Router::ROUTER_AFTER_DISPATCH_EVENT
```

session支持file,memcache,redis储存
------------------------------

[](#session支持filememcacheredis储存)

通过修改session.php配置文件的`handler`类名来修改储存方式，为空表示file

其他强大的功能？自己实现或者借助composer吧
-------------------------

[](#其他强大的功能自己实现或者借助composer吧)

使用示例代码
------

[](#使用示例代码)

[【sql-profiling】mysql sql语句性能分析平台](https://github.com/baagee/sql-profiling "sql-profiling")

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Recently: every ~16 days

Total

69

Last Release

2055d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/22995500?v=4)[BaAGee](/maintainers/baagee)[@baagee](https://github.com/baagee)

---

Top Contributors

[![baagee](https://avatars.githubusercontent.com/u/22995500?v=4)](https://github.com/baagee "baagee (2 commits)")

---

Tags

phpframeworkNkNkn

### Embed Badge

![Health badge](/badges/baagee-nknkn/health.svg)

```
[![Health](https://phpackages.com/badges/baagee-nknkn/health.svg)](https://phpackages.com/packages/baagee-nknkn)
```

###  Alternatives

[phalcon/phalcon

Phalcon Framework

2421.5k1](/packages/phalcon-phalcon)[nimbly/syndicate

A powerful queue and pubsub message publisher and consumer framework.

304.2k](/packages/nimbly-syndicate)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
