ci-blox/ignition-go

Codeigniter 模块化应用构建框架 - 创建和复用 'blox'

安装: 9

依赖: 0

建议者: 0

安全: 0

星标: 181

关注者: 33

分支: 85

开放问题: 2

类型:项目

dev-master 2023-10-31 22:21 UTC

README

 状态:

模块化(HMVC)应用构建框架 - 包含前端、REST API 和 2 个管理区域(Admin / Secure)

  • 创建 "blox" 模块以构建企业级 Web 应用程序
  • 使用 Codeigniter 3.x 和 Bootstrap 4.x.x
  • 可作为快速启动项目模板使用
  • 什么是 blox? "Blox" 是可在 Web 应用程序中普遍使用的可插拔模块或小程序。Ignition Go 包含一个基于 Web 的生成器(见 BuildABlox)。计划中的示例 "blox" 包括批量邮件发送器、报告管理器和更多!!!

文档

现在可用的文档:[Ignition-Go 在 GitHub 上的文档] (http://ci-blox.github.io/Ignition-Go/#/concepts/ACL) 查看关键概念文档,并查看 /docs 文件夹以获取更多信息。

服务器要求(推荐)

  • PHP 7.3 可以在较低的版本(5.6)中运行,但用于生产推荐使用的版本是 PHP 7.3。PHP 7.3 现在支持最新代码,而低于 PHP 7.3 的版本不再官方支持。
  • Apache 2.4+ 开启 rewrite 模块
  • MySQL 5.5+ 或 MariaDb

安装

****注意:现在使用 Yarn 进行包管理(因此不需要 / 可选 Bower)。

  1. 使用 GIT 克隆此仓库

示例:git clone https://github.com/ci-blox/Ignition-Go.git myigoapp

  1. 以下两种方式之一:
    2a) 使用 Yarn 和 Gulpjs(非常推荐非专业人士使用)- 跳到步骤 3
    -或-
    2b) 将您的 Web 服务器映射到 'public' 文件夹以使用预安装的包版本
    (跳到步骤 8)

  2. 安装 NPM node.js:node 模块的包管理器,并 [安装 Yarn] (https://yarn.npmjs.net.cn/lang/en/docs/install/)

  3. 更改目录到新站/ Web 应用程序根目录
    示例: cd myigoapp

  4. 安装所有包和组件
    类型: yarn install

  5. 创建一个空的 mySql 或 MariaDb 数据库(默认数据库名为 ci_blox)和一个用户(默认为 root/无密码)。注意 application/config 中的 database.php 文件包含这些配置设置。

示例:使用 HeidiSQL 或 phpMyAdmin 等工具创建一个数据库和一个具有对新数据库权限的用户

  1. 运行 'gulp'(请注意,gulp 将在 'watch' 模式下持续运行,监视 CSS 和 JS 的更改)。
    然后
    输入: gulp
    或者:输入 gulp serve 或者输入 gulp build,这将重新构建 JS 和 CSS

  2. (可选,如果没有使用gulp或在生产环境中则必填) 在Apache中,将'public'文件夹映射到localhost或其他URL

示例:在您的httpd-vhosts.conf文件中添加新的<VirtualHost>部分并重启Apache

  1. 在浏览器中访问http://[您的web根目录从第7步]/install/init来完成安装向导的使用

例如,如果您使用了gulp,请访问https://:8080/install/init
如果您已创建虚拟主机igotestlocal.com,则在浏览器中访问http://igotestlocal.com/install/init

特性

Ignition Go是您快速开发的起点

  • 单应用程序中包含多方面的(例如:前端网站、仅限授权用户模块、管理面板和API)网站
  • 使用CodeIgniter HMVC扩展进行模块化设计
  • 自定义配置文件(sites.php、locale.php)以轻松配置网站行为
  • 具有多个主题的前端(包含16个以上的免费Bootswatch主题)
  • 具有AdminLTE v3主题的管理面板
  • 通过Composer、NPM或Yarn包含许多其他第三方可选库的使用
  • 用于处理RESTful端点的API网站
  • 前端网站安全区域(注册、登录、忘记密码等)的用户认证(可选)
  • 管理面板的用户认证(登录、更改密码等)
  • 预设布局和模板
  • 通过Gulp(参考自gulp-starter 2.0分支)提供预设的资产管道(例如:最小化脚本、图像优化)
  • Buildablox blox模块/表单构建器,用于生成带有Bootstrap主题的blox和CRUD表单视图,以及表单验证
  • 处理面包屑和分页
  • 多语言支持
  • 电子邮件配置设置
  • CLI实用程序函数(例如:cron作业、数据库备份)
  • 将Guzzle客户端集成为库(替代Curl使用)
  • 使用gulp serve即时查看代码更新

文件夹结构

文件夹结构(显示大多数但不是所有文件夹)。**=尚不可用

application/                    --- Main application (CodeIgniter) source folder
    config/                     --- Config files
        production/             --- Override Configuration when ENVIRONMENT is set as "production"
    controllers/                --- Controllers for Frontend Website; extends from MX_Controller, Base_Controller or Front_Controller
        Cli.php                 --- Utility function that can only be called from command line
        Home.php                --- Default controller for Frontend Website        
    core/                       --- Extending CodeIgniter core classes; can also be used within modules (MY_????.php); Also extendable controllers here
    helpers/                    --- Contains custom helper functions being used throughout this repo
    language/                   --- Preset language files
    lib/                        --- Custom libraries (e.g. Data Importer)
    models/                     --- Sample model extending from MY_Model
    toolblox/ **                --- Each blox module can be installed or removed
    modules/                    --- Each module can be accessed by http://{base_url}/{module_name}/{module_controller}/, etc.
        admin/                  --- Module for Admin Panel
            config/             --- Configuration for Admin Panel (overriding application/config/)
            controllers/        --- Controllers for Admin Panel; also extends from MY_Controller
            helpers/            --- Helper classes, e.g. to generate AdminLTE widgets
            lib/                --- Libraries admin 
            models/             --- Models only being used in Admin panel
            views/              --- Views for Admin Panel; can reuse Frontend views, or override by using same path/filename
        api/                    --- A module specific for REST API endpoints
        buildablox/             --- A module to generate and add/remove blox
        logs/                   --- A module for viewing the daily logs
        securinator/            --- A module for roles, permissions, security settings
        translate/              --- A module to edit  (and auto-generate**) translations
    third_party/
        MX/                     --- Required for HMVC extension
    views/                      --- Views for Frontend Website
public/                         --- SITE ROOT (point Apache here)
public/assets/
    css/                        --- Custom CSS files append to each site
    dist/                       --- Minified scripts, stylesheets (and optionally) optimized images via Gulp tasks
    fonts/                      --- Font files copied via Gulp tasks
    img/                        --- Source image files before optimization
    js/                         --- Custom CSS files append to each site
    uploads/                    --- Default directory of upload files, where permission should set as writable
gulpfile.js/                    --- Task runner following gulp-starter 2.0 practice
sql/                            --- MySQL files
igocore/                         --- Ignition Go core files
igocore/system/                         --- CodeIgniter core files (clean CI3 installation with modifications only to reference IGO core)

资产自定义(例如:额外的js/css文件)

包含gulp配置(gulpfile.js)。它利用了这些网站上的包和组件工具

  • NPM node.js:node模块的包管理器
  • Yarn:包管理器
  • GulpJS gulp:用于编译、组合和最小化的任务运行器
  • Guzzle guzzle:用于作为REST客户端或进行复杂的curl操作而集成的库

需要帮助请:请联系我们以帮助增强这个惊人的网络应用构建器!

请联系我们以做出贡献。

致谢

特别感谢Bonfire项目和那些对其做出贡献的人——许多特性和基础设施概念都是从该项目中启发或直接采用。还要感谢所有像GuzzlePHP一样开源的项目以及无数其他项目,它们的组件被纳入其中,使得这一倡议得以存在。最后,特别感谢CodeIgniter团队,CodeIgniter与其继续蓬勃发展!