fbnkcmaster / xtenant
轻松使您的Laravel应用程序支持多租户
Requires (Dev)
- dev-master
- v0.3.2-beta
- v0.3.1-beta
- v0.3.0-beta
- v0.2.1-beta
- v0.2.0-beta
- v0.1.1-beta
- v0.1.0-beta
- dev-dependabot/npm_and_yarn/minimist-and-minimist-and-mkdirp-1.2.8
- dev-dependabot/composer/symfony/http-kernel-5.4.20
- dev-dependabot/npm_and_yarn/json5-1.0.2
- dev-dependabot/npm_and_yarn/express-4.18.2
- dev-dependabot/npm_and_yarn/qs-and-express-6.11.0
- dev-dependabot/npm_and_yarn/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/loader-utils-and-loader-utils-and-webpack-cli-1.4.2
- dev-develop
- dev-dependabot/npm_and_yarn/moment-2.29.4
- dev-dependabot/npm_and_yarn/eventsource-1.1.1
- dev-dependabot/npm_and_yarn/async-2.6.4
- dev-dependabot/npm_and_yarn/url-parse-1.5.10
- dev-dependabot/npm_and_yarn/follow-redirects-1.14.8
- dev-dependabot/npm_and_yarn/ajv-6.12.6
This package is auto-updated.
Last update: 2024-09-05 10:26:29 UTC
README
xTenant可以帮助您轻松地将Laravel应用程序转换为多租户应用程序。
(警告:该功能仍处于测试阶段,因此不建议在生产环境中使用)
哲学
总结:“即插即用”。
谁不喜欢“一劳永逸”呢?无需更多步骤,无需进行更多讨厌的配置更改?
这就是这个包的目标:只需“要求 & 设置”。无需更多步骤,无需额外配置,无需强制更改代码,您就可以使应用程序准备好多租户,并且所有操作都由您处理,以便使用单个Laravel安装运行多个网络应用程序。
功能
- 简单安装
- 控制台命令和Web界面
- 多数据库支持
- 支持:MySQL和SQLite
- 子域名租户
- 管理租户(名称、描述、图片):创建/编辑/删除 + 启用/禁用
- 备份和恢复租户的数据库和文件
安装
您可以通过在项目根目录下的终端运行此命令来使用Composer安装此包
composer require fbnkcmaster/xtenant
入门(示例)
要开始使用,我已经准备了一个演示应用程序来测试这个包。
安装您在这里找到的演示应用程序,然后继续操作
https://github.com/FBNKCMaster/demo-app
如果一切正常,切换到您已安装demo-app的仓库文件夹
cd demo-app
使用Composer安装xFamily包
composer require fbnkcmaster/xtenant
使用方法
以下是您使用此包所需的步骤和命令
1/ 首先,设置包
php artisan xtenant:setup
您将被要求输入以下内容
- [超级管理员]子域名,以便能够访问SuperAdmin的Web界面
- SuperAdmin的电子邮件地址和密码
- 最后,如果您想允许“www”作为子域名。
2/ 创建您的第一个租户
您有两个选择
通过[命令]
php artisan xtenant:new
您将需要选择一个子域名、一个名称和一个描述为这个租户。
如果子域名已存在,您将被要求编辑或覆盖它。
然后您将被要求是否要运行迁移、种子并为该租户创建一个目录。
通过[超级管理员Web界面]
要创建新的租户或管理现有的租户,您需要访问超级管理员Web界面。
http://[superadmin].demo-app.test/login
输入您的凭据(超级管理员的电子邮件地址和密码)以连接。
然后点击“创建新租户”红色按钮来创建您的第一个租户。
3/ 这就结束了。如果一切正常,您将能够通过以下地址访问您的租户
http://[tenant_subdomain].demo-app.test
路线图
- 支持PostgreSQL和SQLServer
- 处理队列
- Web控制台
- 管理数据库(备份和恢复)
常见问题解答
- 这是免费的吗?
是的!
- 我可以贡献吗?
是的!
- 如何支持?
您能做任何帮助都是受欢迎的 :)
反馈
欢迎反馈!
您可以自由地打开问题或通过twitter直接联系我(@FBNKCMaster)
贡献
xTenant是一个开源项目,任何人都可以贡献来让它变得更好。
所以如果你喜欢它的哲学和理念,请随意进行分支、测试、提交拉取请求、提出问题、提出建议以及赞助,都可以哦:)
鸣谢
特别感谢[Laravel + Vue.js/Alpine.js + Tailwind CSS]的优秀社区
- Taylor Otwell及其团队:为Laravel这个伟大的框架
- Tom Schlick:他是第一个谈论并带来关于使用Laravel实现多租户的见解和想法的人
- Mohamed Said:他的YouTube教程和关于这个复杂主题的文章
- Adam Wathan及其团队:为出色的Tailwind CSS
- Caleb Porzio:为Alpine.js(真的是Vue.js的一个非常好的替代品)