tebe / pingcrm-yii2
基于 Yii 2 的 Ping CRM - 一个演示应用,展示 Inertia.js 的工作原理
dev-master
2022-12-06 20:21 UTC
Requires
- php: >=5.6.0
- tebazil/db-seeder: ^0.0.0
- tebe/yii2-inertia: dev-master
- yiisoft/yii2: ~2.0.14
- yiisoft/yii2-swiftmailer: ~2.0.0 || ~2.1.0
Requires (Dev)
- codeception/codeception: ^4.0
- codeception/module-asserts: ^1.0.0
- codeception/module-filesystem: ^1.0.0
- codeception/module-yii2: ^1.0.0
- codeception/specify: ~0.4.6
- codeception/verify: ~0.5.0 || ~1.1.0
- symfony/browser-kit: >=2.7 <=4.2.4
- yiisoft/yii2-debug: ~2.1.0
- yiisoft/yii2-faker: ~2.0.0
- yiisoft/yii2-gii: ~2.1.0
This package is auto-updated.
Last update: 2024-09-07 18:36:54 UTC
README
Ping CRM on Yii 2
一个演示应用,展示 Inertia.js 的工作原理。
使用 Inertia,您可以使用经典的服务器端路由和控制器来构建单页应用,而无需构建 API。
此应用是原始的 Ping CRM(使用 Laravel 编写) 的移植版本,并基于 Yii 2 Basic 项目模板。
演示
安装
在本地克隆存储库
git clone https://github.com/tbreuss/pingcrm-yii2 pingcrm-yii2
cd pingcrm-yii2
安装 PHP 依赖项
composer install
安装 NPM 依赖项
npm ci
构建资源
npm run dev npm run css-dev
创建 SQLite 数据库。您也可以使用其他数据库(MySQL、Postgres),只需相应地更新您的配置即可。
touch database/database.sqlite
运行数据库迁移
php yii migrate
运行数据库填充
php yii db/seed
运行开发服务器(输出将提供地址)
php yii serve
您已准备好开始!在浏览器中访问 Ping CRM,并使用以下凭据登录:
- 用户名: johndoe@example.com
- 密码: secret
运行测试
要运行 Ping CRM 测试,请运行
(to be done)
需求
- PHP >= 5.6.0
- Node.js & NPM
- SQLite
扩展此项目
在扩展此项目以添加新功能时,需要执行以下步骤。
在后台
- 添加新的控制器,该控制器继承自 Inertia 控制器
- 添加一个或多个操作
- 从操作中返回时调用 Inertia 渲染方法
<?php namespace app\controllers; use tebe\inertia\web\Controller; class CustomController extends Controller { public function actionIndex() { $params = [ 'data' => [], ]; return $this->inertia('demo/index', $params); } }
您可以在 https://github.com/tbreuss/yii2-inertia 上找到更多信息。
在前端
- 在
resources/js/Pages下为后端中添加的每个控制器操作添加一个新页面 - 复制并粘贴现有的页面示例之一
- 根据需要实现和/或扩展 Vue.js
- 使用此处和 package.json 中描述的前端工具
您可以在 https://inertia.laravel.net.cn 上找到更多信息。
致谢
- 原始工作由 Jonathan Reinink (@reinink) 和贡献者完成
- 移植到 Yii 2 由 Thomas Breuss (@tbreuss) 完成
