incrusio21/laravel-erp

一个演示包

v0.0.1 2023-04-03 12:46 UTC

This package is auto-updated.

Last update: 2024-10-03 16:00:37 UTC


README

此包允许Laravel像erpnext一样工作,具有doctype,并且可以与多个HTTP域名协同工作。

此包受到 https://github.com/frappe/frappe 的启发(很可能是复制粘贴frappe,并将编程语言更改为php),并从 https://github.com/gecche/laravel-multidomain 学习以使Laravel能够与多个HTTP域名协同工作

安装

使用composer update更新包或使用composer install安装。

您也可以使用composer require incrusio21/laravel-erp添加包,然后指定您想要的版本。

如果您想使用此包与多个HTTP域名协同工作,您需要比大多数Laravel包更多的配置步骤。

网站安装

在引导过程的最初阶段覆盖对HTTP站点的检测,以获取特定的环境文件。

安装步骤

  1. 通过修改bootstrap/app.php文件顶部的以下行,将整个Laravel容器替换掉。
//$app = new Illuminate\Foundation\Application(
$app = new LaravelErp\Foundation\Application(
    $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__),
    'site'
);
  1. 更新两个应用程序内核(HTTP和CLI)。

app/Http/Kernel.php文件顶部进行以下更改

//use Illuminate\Foundation\Http\Kernel as HttpKernel;
use LaravelErp\Foundation\Http\Kernel as HttpKernel;

类似地,在app/Console/Kernel.php文件中

//use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use LaravelErp\Foundation\Console\Kernel as ConsoleKernel;

创建公共链接

获取多个存储链接的方法可以是以下。假设有两个域名,分别是site1.comsite2.com,以及相关的存储文件夹site/site1.com/publicsite/site2.com/public

  1. 调用命令link(首先删除public中的文件夹链接)
php artisan erp:storage_link
  1. 将此行添加到您的.htacces
RewriteCond %{REQUEST_URI} ^/storage/(.+)$
RewriteRule ^storage/(.+)$ %{HTTP_HOST}/$1 [L]

RewriteCond %{REQUEST_URI} ^/(site1\.com|site2\.com)(.*)?$
RewriteRule ^ "-" [F]

这使您可以通过默认存储来调用它,并在尝试从文件夹名称访问时强制跳转到禁止页面