ci-blox / ignition-go
Codeigniter 模块化应用构建框架 - 创建和复用 'blox'
Requires
- php: >=5.5
Requires (Dev)
- phpunit/phpunit: 5.3.*
This package is not auto-updated.
Last update: 2024-09-29 03:47:06 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)。
- 使用 GIT 克隆此仓库
示例:git clone https://github.com/ci-blox/Ignition-Go.git myigoapp
-
以下两种方式之一:
2a) 使用 Yarn 和 Gulpjs(非常推荐非专业人士使用)- 跳到步骤 3
-或-
2b) 将您的 Web 服务器映射到 'public' 文件夹以使用预安装的包版本
(跳到步骤 8) -
安装 NPM node.js:node 模块的包管理器,并 [安装 Yarn] (https://yarn.npmjs.net.cn/lang/en/docs/install/)
-
更改目录到新站/ Web 应用程序根目录
示例:cd myigoapp
-
安装所有包和组件
类型:yarn install
-
创建一个空的 mySql 或 MariaDb 数据库(默认数据库名为 ci_blox)和一个用户(默认为 root/无密码)。注意 application/config 中的 database.php 文件包含这些配置设置。
示例:使用 HeidiSQL 或 phpMyAdmin 等工具创建一个数据库和一个具有对新数据库权限的用户
-
运行 'gulp'(请注意,gulp 将在 'watch' 模式下持续运行,监视 CSS 和 JS 的更改)。
然后
输入:gulp
或者:输入gulp serve
或者输入gulp build
,这将重新构建 JS 和 CSS -
(可选,如果没有使用gulp或在生产环境中则必填) 在Apache中,将'public'文件夹映射到localhost或其他URL
示例:在您的httpd-vhosts.conf文件中添加新的<VirtualHost>
部分并重启Apache
- 在浏览器中访问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与其继续蓬勃发展!