【问题标题】:How to use the decoupled symfony components?如何使用解耦的 symfony 组件?
【发布时间】:2011-12-12 00:11:28
【问题描述】:

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

我正在重读文档,但除了 “它们非常非常解耦”的一般信息以及 makes use of Request and Response 的 1 个教程之外,没有关于该主题的任何内容。

还有一个排名很差的答案Using symfony2 routing component (outside of symfony2)

同时查看tutorial for the standalone Form component 并没有让我感到多么愉快。

我需要 routingyamlsession

【问题讨论】:

    标签: symfony integration modularity


    【解决方案1】:

    您应该使用的第一个组件是 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,因为还没有教程。

    【讨论】:

    • 实际上,指向 API 文档的链接并不是很有帮助。我看到的问题是所有组件都使用至少 2 个其他组件。所以他们几乎与他们联系在一起。 YAML 组件本身很容易解耦,因为 sf1.我需要使用 YAML 进行路由配置,而不仅仅是 YAML。
    • 看起来这个例子中使用了旧版本的 Symfony。它不起作用并给出 PHP 错误。
    【解决方案2】:

    有趣的是,Fabien Potencier 刚刚发表了一篇博文,其中包含如何使用最常用组件的 sn-ps。详情见this post后半部分。

    【讨论】:

    • 我刚刚added a comment。我希望我们能得到更多独立的例子。
    【解决方案3】:

    我已经写了一个教程,可以帮助你使用decoupled Symfony components in your project

    以控制台组件为例,其他组件的逻辑相同。

    【讨论】:

      【解决方案4】:

      作曲家就是答案。

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

      2020 年 8 月 26 日编辑:视频创作者已将其设为私有。抱歉,我无能为力。

      【讨论】:

      • 这是安装,不是使用。
      • @antitoxic 如果您对安装步骤不感兴趣,请从 7:12 开始观看。虽然我强烈建议你观看整个系列。
      • 此视频是私人视频:O
      【解决方案5】:

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-10
        • 1970-01-01
        • 2018-12-24
        • 2021-11-02
        • 1970-01-01
        • 1970-01-01
        • 2015-08-25
        • 2023-03-04
        相关资源
        最近更新 更多