vilnius-technology / symfonys-facade
为 Laravel 框架提供的 Symfonys facade。
Requires
- laravel/framework: ~5.1
- symfony/security-bundle: ~2.6
- symfony/symfony: ~2.6
Requires (Dev)
- illuminate/html: ~5
- laravel/laravel: ~5
- ongr/elasticsearch-bundle: ~0.1
- ongr/ongr-strict-standard: 2.*
- orchestra/testbench: ~3.0
- phploc/phploc: ~2.0
- phpmd/phpmd: @stable
- phpspec/phpspec: ~2.1
- phpunit/phpunit: ~4.0
- satooshi/php-coveralls: dev-master
- sebastian/phpcpd: ~2.0
- sebastian/phpdcd: ~1.0
- squizlabs/php_codesniffer: 2.*
This package is not auto-updated.
Last update: 2024-09-28 17:54:45 UTC
README
[![Scrutinizer 代码质量] (https://scrutinizer-ci.com/g/VilniusTechnology/symfony-facade/badges/quality-score.png?b=master)] (https://scrutinizer-ci.com/g/VilniusTechnology/symfony-facade/?branch=master)
为 Laravel5 提供的 Symfonys facade
此包允许您在 Laravel5 应用程序中使用 Symfony2 特定的包。只需将您基于 Symfony 的包添加到 composer.json
,安装它,配置它并享受它 ;)
它支持以下功能
-
从标准 symfony 配置文件加载的 Symfony 依赖注入容器。
-
路由迁移。配置在
routes.yml
文件中的路由可以从 Laravel 访问。 -
可以通过 artisan 命令或管理员表单执行 Symfony 命令。
由于此包仍在早期测试版,并非所有功能和兼容性都已测试和开发。
安装和配置
将其添加到 composer
$ composer require vilnius-technology/symfonys-facade dev-master
注册包
将以下内容添加到您的 config\app.php
文件的 providers 键的底部
/* * Custom */ 'VilniusTechnology\SymfonysFacade\SymfonysFacadeServiceProvider',
在命名空间 VilniusTechnology
中创建文件 SymfonyBundles.php
,路径为 $LARVEL_PROJECT_ROOT/packages/VilniusTechnology/
,内容如下
<?php namespace VilniusTechnology; class SymfonyBundles { public static function getBundles() { return [ ]; } }
这里是注册您的 Symfony 包的地方。熟悉吗? :)
将包加载类命名空间添加到 composer.json
"psr-4": { "App\\": "app/", "VilniusTechnology\\": "packages/VilniusTechnology/" }
您可以将其更改为您自己的,但如果您遵循教程,这是默认注册的包加载器。更多详细信息请参阅配置部分。
现在运行 composer dump-autoload
。
将 vendor/vilnius-technology/symfony-facade/Tests/symfony/config
目录的内容复制到 storage/app/symfony/config
。您可以通过运行以下命令来完成此操作:mkdir storage/app/symfony/config ; cp -a vendor/vilnius-technology/symfonys-facade/Tests/symfony/config storage/app/symfony
。
在控制台运行命令:php artisan symfony:command 'debug:container'
。
如果您得到了 symfony 服务的列表,恭喜您。现在您可以转到 Laravel 5.1 的 symfonys 包安装教程。
遵循此示例教程 教程 以了解如何精确安装具有默认配置的 Symfony2 包
如您所注意到的,您可以通过将它们传递给 php artisan symfony:command '$SYMFONY2_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' => '\VilniusTechnology\SymfonyBundles',
如果您不这样做,则默认设置在 $LARVEL_PROJECT_ROOT/storage/app/symfony/env
中,以您的项目部署环境结尾。
设置 symfonysfacade_app_dir
- 指定 symfony 工作目录路径(其中存储缓存和 config.yml
文件)。缓存和日志目录也将存储在此。
设置 symfonysfacade_bundles
- 指定注册 Symfonys 包的命名空间。在本教程中,请使用 \VilniusTechnology\SymfonyBundles
,即按照本教程操作。换句话说,应使用
"psr-4": { [ ... ] "VilniusTechnology\\": "packages/VilniusTechnology/", [ ... ] }
的命名空间。
在此文件中,您将注册您的 Symfony 包。
在 symfonysfacade_app_dir
(storage/symfony
)指定的路径下创建目录 config
。在此目录中,您应该创建或复制常规的 symfonys 配置文件(config.yml、parameters.yml 和 security.yml)。
许可证
此包采用 MIT 许可证。
其他一些内容
可能有人会自然地问,为什么在 Laravel 中使用 Symfony 的包。答案是:因为我想要这么做... :D
是的,对于库,而不是包,没有必要使用这样的东西。但在万维网上有很多好的包,这些包正在使用实际的 Symfony 框架。
所以,既然我想在 Laravel5 项目中使用特定的 Symfony 包,而我没有看到可以轻易移植的包。最终,我们得到了这个包。
此外,如果需要快速原型设计,这个接口也可能很有用。只需包含它,注册它,您就在 Laravel5 中拥有了 Symfony ;)