codelinered/file-sharing

文件共享 - CodelineRed

4.1.0 2023-09-01 19:11 UTC

README

这个git是为 fs.codelinered.net 准备的。查看 屏幕截图

此应用程序基于 Slim SkeletonGulp Skeleton

目录

包含

安装生产版本(推荐)

要求

  • PHP 8.0
  • MySQL 5.7 (pdo_mysql)

如果您在操作系统上没有git或composer,请下载zip。在您的操作系统上打开控制台,并导航到您的项目文件夹。

+++++ COMPOSER VERSION +++++
$ php composer create-project codelinered/file-sharing file-sharing "dev-production" --no-dev
$ cd file-sharing
$ php doctrine dbal:run-sql "CREATE DATABASE file_sharing"
$ php doctrine orm:schema-tool:update --force
$ php doctrine dbal:import sql/all-records.sql
+++++ GIT VERSION +++++
$ git clone https://github.com/CodelineRed/file-sharing.git
$ cd file-sharing
$ git checkout production
$ (optional on unix)  rm -rf .git
$ (optional on win10) rmdir .git /s
$ (optional) cp config\additional-settings.dist.php config\additional-settings.php
$ ---- Open "config\additional-settings.php" and change everything you have to change ----
$ php composer insall --no-dev
$ php doctrine dbal:run-sql "CREATE DATABASE file_sharing"
$ php doctrine orm:schema-tool:update --force
$ php doctrine dbal:import sql/all-records.sql
+++++ ZIP VERSION +++++
$ (unix) wget -O fs-prod.zip https://github.com/CodelineRed/file-sharing/archive/production.zip
$ (unix) unzip fs-prod.zip
$ (win10) curl -L -o fs-prod.zip https://github.com/CodelineRed/file-sharing/archive/production.zip
$ (win10) tar -xf fs-prod.zip
$ cd file-sharing-production
$ (optional) cp config\additional-settings.dist.php config\additional-settings.php
$ ---- Open "config\additional-settings.php" and change everything you have to change ----
$ php composer insall --no-dev
$ php doctrine dbal:run-sql "CREATE DATABASE file_sharing"
$ php doctrine orm:schema-tool:update --force
$ php doctrine dbal:import sql/all-records.sql

如果您想使用Docker:点击这里

安装主/开发版本

要求

  • Node.js
  • npm $ npm i npm@latest -g
  • gulp-cli $ npm i gulp-cli@latest -g
  • PHP 8.0
  • MySQL 5.7 (pdo_mysql)

如果您在操作系统上没有git,请下载zip。在您的操作系统上打开控制台,并导航到您的项目文件夹。

+++++ COMPOSER VERSION +++++
$ php composer create-project codelinered/file-sharing file-sharing
$ cd file-sharing
$ npm i
$ gulp build
$ php doctrine dbal:run-sql "CREATE DATABASE file_sharing"
$ php doctrine orm:schema-tool:update --force
$ php doctrine dbal:import sql/all-records.sql
+++++ GIT VERSION +++++
$ git clone https://github.com/CodelineRed/file-sharing.git
$ cd file-sharing
$ npm i
$ gulp build
$ (optional on unix)  rm -rf .git
$ (optional on win10) rmdir .git /s
$ (optional) cp config\additional-settings.dist.php config\additional-settings.php
$ ---- Open "config\additional-settings.php" and change everything you have to change ----
$ php composer insall
$ php doctrine dbal:run-sql "CREATE DATABASE file_sharing"
$ php doctrine orm:schema-tool:update --force
$ php doctrine dbal:import sql/all-records.sql
+++++ ZIP VERSION +++++
$ (unix) wget -O fs-main.zip https://github.com/CodelineRed/file-sharing/archive/main.zip
$ (unix) unzip fs-main.zip
$ (win10) curl -L -o fs-main.zip https://github.com/CodelineRed/file-sharing/archive/main.zip
$ (win10) tar -xf fs-main.zip
$ cd file-sharing-main
$ npm i
$ gulp build
$ (optional) cp config\additional-settings.dist.php config\additional-settings.php
$ ---- Open "config\additional-settings.php" and change everything you have to change ----
$ php composer insall
$ php doctrine dbal:run-sql "CREATE DATABASE file_sharing"
$ php doctrine orm:schema-tool:update --force
$ php doctrine dbal:import sql/all-records.sql

使用Docker安装(可选)

要求

在您的操作系统上打开控制台,并导航到您想安装项目的位置。

$ ---- Unix ----
$ systemctl docker start
$ docker run --rm --interactive --tty --volume $PWD:/app composer create-project --ignore-platform-reqs --no-dev codelinered/file-sharing file-sharing "dev-production"
$ cd file-sharing
$ cp -n config/additional-settings.dist.php config/additional-settings.php
$ docker run --rm --interactive --tty --volume $PWD:/app composer update --no-dev
$ ---- Windows ----
$ "c:\path\to\Docker Desktop.exe"
$ docker run --rm --interactive --tty --volume %cd%:/app composer create-project --ignore-platform-reqs --no-dev codelinered/file-sharing file-sharing "dev-production"
$ cd file-sharing
$ echo n | copy /-y config\additional-settings.dist.php config\additional-settings.php
$ docker run --rm --interactive --tty --volume %cd%:/app composer update --no-dev
$ --- All OS ----
$ docker-compose build
$ docker-compose up -d

项目命令

gulpfile.json

使用区域代码和通用区域代码生成路径

  • 模式1 - example.com/de/ = 'process' => \App\Utility\LanguageUtility::LOCALE_URL | \App\Utility\LanguageUtility::DOMAIN_DISABLED,
  • 模式2 - example.de = 'process' => \App\Utility\LanguageUtility::LOCALE_URL | \App\Utility\LanguageUtility::DOMAIN_ENABLED,
  • 模式3 - example.com (de-DE session) = 'process' => \App\Utility\LanguageUtility::LOCALE_SESSION | \App\Utility\LanguageUtility::DOMAIN_DISABLED, (默认)

这取决于您的配置,将返回什么。

如何创建进一步的本地化

  • 在文件夹 locale/ 中复制一个现有文件(例如,将 de-DE.php 复制到 fr-FR.php
  • (如果您使用模式1或2)在文件夹 config/routes/ 中复制一个现有文件(例如,将 de-DE.php 复制到 fr-FR.php
  • (如果您使用模式1或2)在 config/routes/fr-FR.php 中将路由前缀从 /de/ 更改为 /fr/
  • 您还可以定义路径,例如 /fr-be/ (例如,locale/fr-BE.php/ config/routes/fr-BE.php
  • 如果您想在langswitch中显示语言,请将 fr-FR 和域名添加到 locale => activeconfig/additional-settings.php
  • (如果您使用模式1或2)在 src/localisation.php 中为 fr/ 添加情况

如何在不同URL模式之间切换

模式1

示例:example.com/de/

模式2

示例:de.example.com 或 example.de

模式 3(默认)

示例:example.com

ACL设置

使用 Geggleto ACL,路由由当前用户拥有的角色保护。默认情况下,除非您为路由分配角色,否则每个新路由都不可访问。路由在路由文件中定义(例如 config/routes/de-DE.php)。任何其他资源都在 config/settings.php 中定义。在 Twig 模板内部,您可以使用 ACL 函数 has_role 和 is_allowed。在控制器中,您也可以使用这些 ACL 函数和许多其他功能(例如 isAllowed())。

故障排除

在某些情况下,您可能会收到“内部服务器错误”的错误信息。

如果发生这种情况,请前往 public/.htaccess 并启用 RewriteBase /

如果项目在子目录中,则 RewriteBase /project/public/

链接