2017 © Pedro Peláez
 

nb-framework framework

the PHP MVC framework.

image

nbcx/framework

the PHP MVC framework.

  • Sunday, July 15, 2018
  • by nbcx
  • Repository
  • 0 Watchers
  • 0 Stars
  • 7 Installations
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

NB Framework

Latest Version Php Version Swoole Version NB Wiki NB Framework License, (*1)

NB Framework 是一款深度兼容Swoole和FPM双模式运行,并且轻量,全功能,自由度高,无上手门槛的PHP开发框架!, (*2)

优势:

  • 自由在swoole和php-fpm两种运行方式之间切换
  • 高度自由的自定义开发模式,打造你自己独特的项目风格
  • 独立的DEBUG调试页面,使多端合作开发简单方便
  • 简单而强大的配置方式

特性:

NB提供了WEB开发中几乎所有的基础功能,且依旧保持轻量。你可以很容易的从头到尾构建一个强大的网站应用。 - 全局的依赖注入容器 - 支持 Swoole 扩展 - 可扩展的驱动式组件开发 - 国际化(i18n)支持 - 数据库 ORM - 强大的调试系统 - 视图模版 - 快速灵活的参数验证器 - 多类型的缓存驱动 - 多模块支持 - 命令行运行模式 - 高内聚低耦合 - 内置协程 HTTP, TCP, WebSocket 网络服务器 - 协程 Mysql, Redis 客户端 - 强大的命令行工具 - Composer管理, (*3)

快速使用

一种最简单最快速的使用方式

1.在你的应用目录下新建如下结构:, (*4)

/home/www/demo/                      项目根目录
├─application                        应用目录
│  ├─controller                      控制器目录
│  │  └─Index.php                    测试控制器
├─public                                
│  └─index.php                       入口文件
├─nb                                 框架系统目录
├─tmp                                缓存目录,需要可读写权限                                

框架系统目录就是克隆或下载framework到根目录,并改名为nb即可。, (*5)

2.编写入口文件:, (*6)

<?php
//项目的根路径
define('_APP_',__DIR__.'/..');

//加载初始化文件
include ('../nb/boot.php');

\nb\Config::register();

\nb\Dispatcher::run();

3.编写测试控制器, (*7)

<?php
namespace controller;
class Index {

    public function index() {
        echo '<h1>Welcome to use NB Framework!</h1>';
    }
}

4.配置Nginx, (*8)

server {
    listen 80;
    server_name demo.ol.cx;
    index index.php;
    root /home/www/demo/public/;

    location / {
        rewrite ".+" "/index.php" last;
    }

    location ~ .*\.php {
        fastcgi_pass   127.0.0.1:9100;
        fastcgi_index index.php;
        include fastcgi.conf;
    }

    location ~ .*\.(svg|woff2|map|html|woff|ttf|ico|css|js|gif|jpg|jpeg|png|bmp|swf)$ {
        expires 90d;
    }
}

5.重启nginx,在浏览器访问demo.ol.cx,输出Welcome to use NB Framework则表示成功, (*9)

使用Swoole启动应用,确保swoole已经安装成功!

1.再上面的目录下添加如下结构, (*10)

/home/www/demo/                      项目根目录
├─application                        应用目录
│ ...
├─bin                                   
│  └─server                          服务启动文件
├─config.inc.php                     框架配置文件

2.编写服务启动文件, (*11)

#!/usr/bin/env php
<?php
//项目的根路径
define('_APP_',__DIR__.'/..');

//加载初始化文件
include ('../nb/boot.php');

\nb\Config::register();
\nb\Console::run('server');

编写完成后,给其执行权限:chmod +x server, (*12)

3.编写框架配置文件, (*13)

<?php
return [
    'debug' => true,

    'server' => [
        'driver'=>'http',
        'host'=>'0.0.0.0',
        'port'=>9501,
        'max_request'=>100,//worker进程的最大任务数
        'worker_num'=>2,//设置启动的worker进程数。
        'dispatch_mode'=>2,//据包分发策略,默认为2
        'debug_mode'=>3,
        'enable_gzip'=>0,//是否启用压缩,0为不启用,1-9为压缩等级
        'log_file'=>__APP__.'tmp'.DS.'swoole-http.log',
        'enable_pid'=>__APP__.'tmp'.DS.'swoole-http.pid',
        'daemonize'=>false,
        //异步任务处理配置
        'task_worker_num'=>2,
    ]
];

4.运行, (*14)

# 如果你的php命令已经加入系统环境里了,可以直接如下执行
./server start

# 如果没有再系统环境里,则需要使用完整的php命令路径来执行,如下,注意使用自己的路径
/usr/bin/php server start

5.看控制台输出,并浏览器访问127.0.0.1:9501,输出Welcome to use NB Framework则表示成功., (*15)

更多功能,可以查看开发手册 。, (*16)

协议

NB Framework的开源协议为apache 2.0,详情参见LICENSE。, (*17)

其他

欢迎各位老铁进群一起写代码。如果感兴趣,也请帮点个star吧!, (*18)

The Versions

15/07 2018

dev-master

9999999-dev https://nb.cx

the PHP MVC framework.

  Sources   Download

Apache-2.0

The Requires

 

orm framework php mvc