phpjit / symfony-facade
Symfony为Laravel框架提供的门面。
This package is not auto-updated.
Last update: 2024-10-02 06:00:35 UTC
README
[![Scrutinizer Code Quality] (https://scrutinizer-ci.com/g/Phpjit/symfony-facade/badges/quality-score.png?b=master)] (https://scrutinizer-ci.com/g/Phpjit/symfony-facade/?branch=master)
Symfony为Laravel
此包允许你在Laravel应用中使用Symfony特定包。只需将你的Symfony相关包添加到composer.json
,安装它,配置它,并享受它 ;)
支持以下特性:
-
Symfony的依赖注入容器,从标准的symfony配置文件中加载。
-
路由转换。在
routes.yml
文件中配置的路由可以在Laravel中使用。 -
可以从Artisan命令或管理员表单执行Symfony命令。
由于此包仍处于早期beta阶段,因此并非所有功能和兼容性都已测试和开发。
安装和配置
将其添加到composer
$ composer require taciclei/symfonys-facade
注册包
将以下内容添加到你的config\app.php
文件中的providers键底部
/* * Custom */ 'Phpjit\SymfonysFacade\SymfonysFacadeServiceProvider',
在命名空间Phpjit
(路径:$LARVEL_PROJECT_ROOT/packages/Phpjit/
)下创建文件SymfonyBundles.php
,内容如下
<?php namespace Phpjit; class SymfonyBundles { public static function getBundles() { return [ ]; } }
这是你的Symfony包将被注册的地方。熟悉吗? :)
将包加载类命名空间加载到composer.json中
"psr-4": { "App\\": "app/", "Phpjit\\": "packages/Phpjit/" }
你可以更改它,但如果你遵循教程,这是默认注册的包加载器。更多详情在配置部分。
现在运行composer dump-autoload
。
将vendor/phpjit/symfony-facade/Tests/symfony/config
的内容复制到storage/app/symfony/config
。你可以通过运行以下命令来完成此操作:mkdir storage/app/symfony/config ; cp -a vendor/taciclei/symfonys-facade/Tests/symfony/config storage/app/symfony
。
在控制台中运行命令:php artisan sf:cmd 'debug:container'
。
如果你看到了symfony服务列表,恭喜你。现在你可以转到Laravel教程中的symfony包安装部分。
遵循此示例教程教程,了解如何精确地安装带有默认配置的Symfony包
正如你所看到的,你可以通过传递给php artisan sf:cmd '$SYMFONY_COMMAND'
来使用symfony命令
可自定义的配置
首先,你可以在app.php文件中输入配置参数。
这可以通过向app.php文件中添加以下行来完成
'symfonysfacade_app_dir' => 'storage/symfony', #relative to laravel app dir 'symfonysfacade_log_dir' => 'storage/symfony/logs', #relative to laravel app dir 'symfonysfacade_bundles' => '\Phpjit\SymfonyBundles',
如果你不这样做,默认的设置将位于$LARVEL_PROJECT_ROOT/storage/app/symfony/env
中,以你的项目部署环境结尾。
设置symfonysfacade_app_dir
- 指定symfony工作目录的路径(其中存储缓存和config.yml
文件)。缓存和日志目录也将存储在此处。
设置 symfonysfacade_bundles
- 指定Symfonys捆绑注册的命名空间。在本教程中,如果您按照此文档操作,请使用 \Phpjit\SymfonyBundles
。换句话说,应使用以下命名空间:
"psr-4": { [ ... ] "Phpjit\\": "packages/VilniusTechnology/", [ ... ] }
。
在这个文件中,您将注册您的Symfony捆绑。
在由 symfonysfacade_app_dir
指定的路径(storage/symfony
)中创建一个名为 config
的目录。在这个目录中,您应该创建或复制常规的symfonys配置文件(config.yml、parameters.yml 和 security.yml)。
许可证
此捆绑受MIT许可证的约束。
一些其他内容
可能存在一个自然的问题:为什么在Laravel中使用Symfony的捆绑。答案是:因为我想要这样做... :D
对于库,而不是捆绑,不需要使用这类东西。但在万维网上有许多优秀的捆绑,它们使用实际的Symfony框架。
因此,由于我想在Laravel5项目中使用特定的Symfony捆绑,而这些捆绑看起来不容易移植。最终,我们有了这个包。
此外,如果您需要快速原型设计,这个外观也可能很有用。只需包含它,注册它,您就在Laravel中拥有Symfony了;)