1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/nbcx-framework

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

NB Framework

NB Framework — это PHP-фреймворк, который глубоко совместим с Swoole и FPM, работает в двух режимах и отличается лёгкостью, полнотой функций, высокой степенью свободы и отсутствием порога для входа.

Преимущества:

  • свобода переключения между режимами работы Swoole и PHP-FPM;
  • высокая степень свободы при настройке разработки;
  • независимая страница отладки DEBUG для упрощения совместной разработки на разных платформах;
  • простой и мощный способ настройки.

Особенности:

NB предоставляет почти все базовые функции для веб-разработки и сохраняет лёгкость. Вы можете легко создать мощное веб-приложение с нуля.

  • глобальный контейнер зависимостей;
  • поддержка расширений Swoole;
  • расширяемая разработка компонентов на основе драйверов;
  • интернационализация (i18n);
  • база данных ORM;
  • мощная система отладки;
  • шаблоны представлений;
  • быстрые и гибкие параметры проверки;
  • несколько типов кэширования;
  • многомодульная поддержка;
  • режим запуска командной строки;
  • высокий уровень инкапсуляции и низкий уровень связанности;
  • встроенные сетевые серверы на основе сопрограмм HTTP, TCP, WebSocket;
  • сопрограммы MySQL, Redis для клиентов;
  • мощные инструменты командной строки;
  • управление через Composer.

Быстрое использование Существует два способа использования NB Framework.

Самый простой и быстрый способ использования

  1. Создайте следующую структуру в каталоге вашего приложения:
/home/www/demo/                      проектный корень
├─application                        каталог приложений
│  ├─controller                      контроллер
│  │  └─Index.php                    тестовый контроллер
├─public                                
│  └─index.php                       стартовая страница
├─nb                                 каталог системы фреймворка
├─tmp                                каталог кеша, требуется разрешение на чтение и запись

Каталог системы фреймворка — это место, где вы клонируете или загружаете framework и переименовываете его в nb. 2. Напишите стартовую страницу:

<?php
//проектный корень
define('_APP_',__DIR__.'/..');

//загрузка файла инициализации
include ('../nb/boot.php');

\nb\Config::register();

\nb\Dispatcher::run();
  1. Напишите тестовый контроллер:
<?php
namespace controller;
class Index {

    public function index() {
        echo '<h1>Welcome to use NB Framework!</h1>';
    }
}
  1. Настройте Nginx:
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;
    }
}
  1. Перезапустите Nginx. Если вы посетите demo.ol.cx в браузере и увидите «Welcome to use NB Framework», значит, всё прошло успешно.

Использование Swoole для запуска приложения

Убедитесь, что Swoole установлен и работает!

  1. Добавьте следующую структуру в существующий каталог:
/home/www/demo/                      проектный корень
├─application                        каталог приложений
│ ...
├─bin                                   
│  └─server                          файл запуска сервиса
├─config.inc.php                     файл конфигурации фреймворка
  1. Напишите файл запуска сервиса:
#!/usr/bin/env php
<?php
//проектный корень
define('_APP_',__DIR__.'/..');

//загрузка файла инициализации
include ('../nb/boot.php');

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

После написания кода дайте файлу права на выполнение: chmod +x server. 3. Создайте файл конфигурации фреймворка:

<?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,
    ]
];
  1. Запустите:
# Если ваша команда PHP уже добавлена в системную среду, вы можете выполнить следующее
./server start

# Если нет, вам нужно использовать полный путь к команде PHP в вашей системе
/usr/bin/php server start
  1. Посмотрите вывод консоли и посетите 127.0.0.1:9501 в браузере. Если вы видите «Welcome to use NB Framework», всё прошло успешно.

Для получения дополнительной информации о функциях вы можете обратиться к руководству по разработке.

Протокол

Открытый исходный код NB Framework лицензирован под Apache 2.0. Подробности см. в файле LICENSE.

Другое

  • Официальный QQ-чат: 1985508
  • Домашняя страница проекта: https://nb.cx
  • Адрес поддержки документации: https://wiki.nb.cx.

Добро пожаловать в сообщество разработчиков. Если вам интересно, пожалуйста, поставьте звёздочку!

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Это PHP-фреймворк, который может работать в двух режимах: Swoole и FPM. Он лёгкий, полнофункциональный и с высокой степенью свободы, а порог входа — низкий. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/nbcx-framework.git
git@api.gitlife.ru:oschina-mirror/nbcx-framework.git
oschina-mirror
nbcx-framework
nbcx-framework
master