codelinered / slim-skeleton
Slim Skeleton - CodelineRed
Requires
- php: 8.0.*
- doctrine/annotations: ^1.13
- doctrine/orm: ^2.13
- geggleto/psr7-acl: ^1.3
- google/recaptcha: ^1.2
- monolog/monolog: ^1.27
- nochso/html-compress-twig: ^2.0
- paragonie/random_compat: >=1 <9.99
- phpgangsta/googleauthenticator: dev-master
- ramsey/uuid-doctrine: ^1.8
- slim/csrf: ^0.8.3
- slim/flash: ^0.4.0
- slim/slim: ^3.12
- slim/twig-view: ^2.5
- symfony/cache: ^6.0
- symfony/console: ^6.0
Requires (Dev)
- phpunit/phpunit: >=4.8 < 6.0
- dev-master
- 5.x-dev
- 5.6.0
- 5.5.0
- 5.4.1
- 5.4.0
- 5.3.0
- 5.2.0
- 5.1.1
- 5.1.0
- 5.0.9
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.x-dev
- 4.3.2
- 4.3.1
- 4.3.0
- 4.2.2
- 4.2.1
- 4.2.0
- 4.1.0
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.x-dev
- 3.5.0
- 3.4.0
- 3.3.0
- 3.2.2
- v3.2.1
- v3.2.0
- 3.1.4
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.x-dev
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.0
- 1.1.0
- 1.0.1
- 1.0.0
- dev-production
- dev-develop
This package is not auto-updated.
Last update: 2024-09-23 17:54:54 UTC
README
此git是用于slim3.codelinered.net的。查看截图。
目录
包含
- Slim 3
- Slim Twig View 2
- Slim CSRF 0.8
- Slim Flash 0.4
- Monolog 1
- Doctrine ORM 2
- Geggleto ACL 1
- Google Authenticator
- Google reCAPTCHA 1
- HTML Compress Twig Extension
安装骨架
要求
- PHP 8.0
- MySQL 5.7 (pdo_mysql)
在您的操作系统上打开控制台并导航到您的项目文件夹。如果您在操作系统上没有git或composer,请下载zip。
+++++ ZIP VERSION +++++ $ (unix) wget -O slim-prod.zip https://github.com/CodelineRed/slim-skeleton/archive/production.zip $ (unix) unzip slim-prod.zip $ (win10) curl -L -o slim-prod.zip https://github.com/CodelineRed/slim-skeleton/archive/production.zip $ (win10) tar -xf slim-prod.zip $ cd slim-skeleton-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 slim_skeleton" $ php doctrine orm:schema-tool:update --force $ php doctrine dbal:import sql/all-records.sql
+++++ GIT VERSION +++++ $ git clone https://github.com/CodelineRed/slim-skeleton.git $ cd slim-skeleton $ 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 slim_skeleton" $ php doctrine orm:schema-tool:update --force $ php doctrine dbal:import sql/all-records.sql
+++++ COMPOSER VERSION +++++ $ php composer create-project codelinered/slim-skeleton slim-skeleton "dev-production" --no-dev $ cd slim-skeleton $ php doctrine dbal:run-sql "CREATE DATABASE slim_skeleton" $ php doctrine orm:schema-tool:update --force $ php doctrine dbal:import sql/all-records.sql
默认网站登录:用户 = user,密码 = password。如果您需要PHP、MySQL、Composer和Adminer,请参阅以下内容⇓。
安装PHP、MySQL、Composer和Adminer(可选)
要求
在您的操作系统上打开控制台并导航到解压缩/克隆的应用程序文件夹。
$ (unix) systemctl docker start $ (windows) "c:\path\to\Docker Desktop.exe" $ docker-compose build $ docker-compose up -d $ docker-compose run composer install --no-dev $ (unix) docker inspect slim-db | grep "IPAddress" $ (windows) docker inspect slim-db | findstr "IPAddress" $ ---- Add IPAddress as Doctrine "host" in "config\additional-settings.php" ----
打开localhost:7705以访问网站或localhost:7707以访问Adminer。
使用区域代码和通用区域代码生成路径
- 模式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中显示语言,请在
locale => active
中添加fr-FR
和域名(config/additional-settings.php
) - (如果您使用模式1或2)在
src/localisation.php
中添加对fr/
的case
如何在不同URL模式之间切换
模式1
示例:example.com/de/
- EN是默认语言,DE是此步骤的备用语言
- 转到
config/additional-settings.php
中的locale
- 设置
'process' => \App\Utility\LanguageUtility::LOCALE_URL | \App\Utility\LanguageUtility::DOMAIN_DISABLED,
- 在
config/routes/en-US.php
中设置带有或没有/en
前缀的英文路由 - 使用前缀
/de
在config/routes/de-DE.php
中设置德语路由 config/routes/xx-XX.php
可以保持不变
模式2
例如:de.example.com 或 example.de
- EN是默认语言,DE是此步骤的备用语言
- 转到
config/additional-settings.php
中的locale
- 设置
'process' => \App\Utility\LanguageUtility::LOCALE_URL | \App\Utility\LanguageUtility::DOMAIN_ENABLED,
- 在
active
中输入你的域名 - 前往
config/routes/de-DE.php
- 从每个
route
中移除前缀/de
- 前往
config/routes/xx-XX.php
- 将配置文件
config/routes/en-US.php
和config/routes/de-DE.php
中相等的路由插入到相应位置 - 在
config/routes/en-US.php
和config/routes/de-DE.php
中移除这些相等的路由
模式 3 (默认)
例如:example.com
- EN是默认语言,DE是此步骤的备用语言
- 转到
config/additional-settings.php
中的locale
- 设置
'process' => \App\Utility\LanguageUtility::LOCALE_SESSION | \App\Utility\LanguageUtility::DOMAIN_DISABLED,
- 在
config/routes/xx-XX.php
中设置所有路由 config/routes/en-US.php
可以保持不变config/routes/de-DE.php
可以保持不变
ACL设置
使用 Geggleto ACL,路由由当前用户拥有的角色保护。默认情况下,新路由不可访问,直到您为路由分配角色。路由在路由文件中定义(例如 config/routes/de-DE.php
)。其他资源在 config/settings.php
中定义。在 Twig 模板中,您可以使用 ACL 函数 has_role
和 is_allowed
。在控制器中,您也可以使用这些 ACL 函数以及许多其他功能(例如 isAllowed()
)。
故障排除
错误 1
在某些情况下,您可能会收到错误消息“内部服务器错误”。
如果发生这种情况,请前往 public/.htaccess
并启用 RewriteBase /
。
如果项目在子目录中,则 RewriteBase /project/public/
。
错误 2
消息:无法解析的文件:/var/www/vendor/slim/slim/Slim/CallableResolver.php
如果发生这种情况,您的 config\additional-settings.php
中的 Doctrine 主机设置错误。