php-ci / boilerplate
一个简单的 CodeIgniter 框架模板
Requires
- php: >=5.3.7
- illuminate/database: ^5.6
- kenjis/codeigniter-ss-twig: ^0.2.1
- symfony/console: ^3.4
Requires (Dev)
- mikey179/vfsstream: 1.1.*
- phpunit/phpunit: 4.* || 5.*
Suggests
- paragonie/random_compat: Provides better randomness in PHP 5.x
This package is not auto-updated.
Last update: 2020-06-10 23:05:17 UTC
README
CodeIgniter 的高级模板。
要求
- PHP 7.1+
- PDO 扩展。
- Composer 或 composer.phar。
- NPM。
入门
克隆仓库。安装依赖项
composer install
npm install
迁移数据库
php app migrate
好了,你现在可以开始使用了!
特性
- Twig 模板引擎。
- 基于角色和权限的用户访问控制库 Aauth。
- 常见的 Symphony CLI 命令,用于常见任务,例如开发服务器、生成模型、控制器等。
- Eloquent ORM。
- 根据请求类型管理响应的自定义异常处理。
- Webpack 和 Laravel Mix 用于合并和压缩 JS 和 CSS 库。
- 类映射自动加载以加载自定义类。
- 全局 JavaScript 事件。
基本
开发服务器
要启动开发服务器,请运行以下命令。
php app serve
您也可以更改默认的主机和端口。
php app serve <host> <port>
生成模型
要生成一个模型,请运行以下命令。
php app create:model <model_name>
您可以通过在目录之间添加 '/' 来定义子目录。请注意,模型将使用 Composer 类映射自动加载进行自动加载,因此如果您手动创建模型,则需要运行 'composer dump-autoload'。
默认情况下,所有模型都将扩展到 Eloquent ORM 基类。如果您希望在 'MY_Model' 类中扩展 CI 查询构建器,而不是 Eloquent,请在核心目录中扩展模型到 'CI_Model'。
生成控制器
要生成一个控制器,请运行以下命令。
php app create:controller <controller_name> <core_class>
这里核心类可以是 'AdminController'、'GuestController' 或 'UserController'。
模型
Eloquent ORM 已集成,要有效使用它,您需要为每个数据库表创建单独的模型。要使用模型,请使用以下代码片段加载它
$this->load->model(<Model>)
加载后,您可以按照 Eloquent 语法访问表,例如
Model::get(id)
要了解更多关于使用 Eloquent 的信息,请参阅 Laravel 的 Eloquent 用户指南
异常处理
要抛出异常,请使用以下代码
show_error($error_heading, $message, $template, $error_code)
异常类根据请求类型发送响应;例如,在 AJAX 请求中返回 JSON,在 CLI 中返回纯文本,在浏览器中返回 HTML。
JavaScript 事件
为了支持常见的CRUD功能,已添加全局事件,这些事件可以快速用于开发。
- 表单事件
您可以在任何表单上使用默认的表单提交事件,只需在表单元素上添加'ajax-submit'类。表单验证也与此事件预先构建。要验证字段,您可以在表单元素上使用自定义数据属性。所有自定义属性均遵循ParsleyJS。
示例表单
<form action="<url>" class="ajax-submit">
...
<input type="text" data-parsley-required name="<field name>" />
...
</form>
- 模态事件:还添加了用于管理'bootstrap 模态框'的事件。要使用它,您必须在按钮或任何其他可点击元素上指定'open-modal'类,以及'data-url'属性。
示例
<button class="open-modal" data-url="<handler method>">Open Modal</button>
处理器方法不是预先构建的,您可以根据需要以任何方式构建它;要求响应格式如下,为JSON
{
'status': true,
'modal':<modal html>
}
资源处理
为了最小化css和js依赖项,使用
npm run production
开发或本地服务器上,可使用以下方法
npm run dev
要添加更多全局依赖项,请使用npm添加包,并在app.scss和app.js中包含资源文件。
构建使用
- codeigniter-ss-twig - codeigniter的Twig包装器
- Eloquent - 从laravel迁移的ORM
- Symphony Console - 来自symphony的CLI工具
- CodeIgniter-Aauth - ACL库
作者
还可以查看参与此项目的贡献者列表。
许可
该项目受MIT许可协议的许可 - 有关详细信息,请参阅LICENSE.md文件。