如何使用解耦的symfony组件?

时间:2011-10-20 17:52:59

标签: symfony integration modularity

有关如何使用symfony的解耦组件的任何信息?

我正在重读这些文档,但除了“他们非常非常分离”的一般信息以及makes use of Request and Response的一个教程之外,这个主题上没有任何内容。

Using symfony2 routing component (outside of symfony2)

还有一个排名很差的答案

另外看一下tutorial for the standalone Form component并不能让我感到愉快。

我需要路由 yaml 会话

5 个答案:

答案 0 :(得分:6)

您应该使用的第一个组件是 ClassLoader 。您也可以使用 spl_autoload_register ,但是您使用的是Symfony,那么为什么不使用自己的自动加载库呢?在脚本顶部添加以下内容:

use Symfony\Component\ClassLoader\UniversalClassLoader;

require_once '/path/to/symfony/src/Symfony/Component/ClassLoader/UniversalClassLoader.php';

$loader = new UniversalClassLoader();
$loader->register();

$loader->registerNamespaces(array(
    'Symfony' => '/path/to/symfony/src',
));

使用 Yaml 组件非常简单:

use Symfony\Component\Yaml\Parser;
$data = Parser::parse('yaml string');

对于其他组件,您必须阅读API documentation,因为还没有教程。

答案 1 :(得分:6)

有趣的是,Fabien Potencier刚刚发布了一篇博客文章,其中包含了如何使用最常见组件的摘要。有关详细信息,请参阅this post的后半部分。

答案 2 :(得分:4)

我已经编写了一个可能对您有帮助的教程,使用decoupled Symfony components in your project

它显示了如何使用控制台组件作为示例,但其他组件的逻辑是相同的。

答案 3 :(得分:3)

作曲家就是答案。

此视频http://www.youtube.com/watch?v=QOldVDVYnAE有一个简单而直接的步骤可以回答您的问题。

答案 4 :(得分:0)

Symfony2示例

1)使用新文件夹中的composer安装所需的组件

composer require symfony/yaml

2)创建脚本yaml.php

<?php
require_once __DIR__.'/vendor/autoload.php';
use Symfony\Component\Yaml\Parser;
$yaml = new Parser();
$value = $yaml->parse('invoice: 3484');
var_dump($value);

3)运行脚本

php yaml.php