buzzingpixel / ee-slim-bridge
用于在 ExpressionEngine 中使用 Slim 的桥梁
1.0.1
2022-01-27 03:53 UTC
Requires
- php: ^8.1
- buzzingpixel/container: ^1.1
- slim/psr7: ^1.5
- slim/slim: ^4.9
Requires (Dev)
- codedungeon/phpunit-result-printer: ^0.31.0
- doctrine/coding-standard: ^9
- expressionengine/expressionengine: *
- phpstan/phpstan: ^1.4.2
- phpstan/phpstan-deprecation-rules: ^1.0.0
- phpstan/phpstan-strict-rules: ^1.1.0
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.5
- symfony/var-dumper: ^5.3
README
这可能只对我个人有吸引力,但如果你在偶然中发现它并喜欢它,欢迎使用这个项目。
我非常喜欢在 Slim、FastRoute 和 PSR 标准接口中进行工作。因此,我创建了这个极其简单的 ExpressionEngine 扩展,它允许我在 Slim 中进行 EE 网站的开发,并尽可能忽略 EE 在后台的存在。
如何使用它
由于您想使用 Slim、PHP 和 PSR 接口,因此假设您已经设置了 composer 并正在加载供应商自动加载。
- 在您的 craft 项目中,运行
composer require buzzingpixel/ee-slim-bridge
- 使用符号链接、Docker 挂载或其他您想要的方式,将
vendor/buzzingpixel/ee-slim-bridge/src/ExpressionEngine
链接到system/user/addons/slim_bridge
- 在 ExpressionEngine 控制面板中安装扩展
- 根据 [下一节](#config) 中的示例设置您的 ExpressionEngine 配置文件中的配置
配置
在您的配置文件中,所有配置都放在名为 'slimBridge'
的数组键中。
配置文件中有三个键可用 (查看示例)
enabled
如果此键未设置为 (bool) true
、(string) 'yes'
、(string) 'y'
、(string) '1'
或 (int) 1
,则 Slim Bridge 不会通过 Slim 提供前端。这在理论上可能有用,如果您想进行一些逻辑或其他操作以确定是否应该将请求发送到 Slim 或让 ExpressionEngine 正常处理请求。
containerInterface
Slim 需要实现 \Psr\Container\ContainerInterface
,我将此留给了项目所有者来提供。我编写了一个我认为相当不错的容器实现,它作为项目内部使用的一部分是必需的,因此您当然可以配置并返回该容器的实例。
appCreatedCallback
这是可选的,但如果您不使用它,则不会设置任何路由或中间件,这对您将毫无用处。一旦创建了应用程序,此回调将被执行,并将收到 Slim App 实例作为参数,您可以使用它来设置路由和中间件。