apsg / multisite
laravel 多站功能(多个安装)的包
0.1.0
2019-12-18 18:08 UTC
Requires
- illuminate/support: ~5|~6
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~7.0
- sempro/phpunit-pretty-print: ^1.0
This package is auto-updated.
Last update: 2024-09-19 05:08:25 UTC
README
用于管理同一代码库的多个安装的包。它可以根据“域名”改变视图,但保留后端核心不变。
它还允许您定义特定域的配置。
安装
通过 Composer
composer require apsg/multisite
用法
安装后
将您的域名添加到 .env
文件中,例如:
MULTISITE_DOMAIN=test
添加视图文件夹
为您的域名创建新的视图文件夹
mkdir resources/views/test
就这样!从现在开始,Laravel 的视图引擎将在主视图目录(例如上述示例中的 resources/views/
)以及特定域的目录中查找视图文件。
配置文件和辅助工具
该包通过辅助 Facade 提供了一个可以访问特定域配置的接口。可以使用以下命令发布默认配置文件:
php artisan vendor:publish --tag=multisite.config
辅助工具
\Multisite::config('some.key');
将返回与
config('multisite.{current_domain}.some.key');
当前域名辅助工具
要检查当前域名,请使用 Facade 辅助工具
\Multisite::domain();
多站资产
要在您的 webpack.mix.js
中编译资产,请添加类似以下内容:
// ----- MULTISITE ----------------- let domains = [ 'site1', 'site2' ]; for (let domain of domains) { mix.js('resources/assets/js/' + domain + '.js', 'public/js', domain + '.js') .sass('resources/assets/sass/' + domain + '.scss', 'public/css', domain + '.css'); }
这将自动搜索 resources/js/{domain}.js
和 resources/sass/{domain}.scss
文件,并编译它们,分别移动到 public/js/{domain}.js
和 public/css/{domain}.css
目录。
然后可以使用该包提供的辅助工具在布局文件中自动加载与域名相关的文件
<link href="{{ multisite_css() }}" rel="stylesheet"> <script src="{{ multisite_js() }}"></script>
测试
composer test
许可证
许可证。请参阅许可证文件以获取更多信息。