Symfony2的简单示例

时间:2011-02-10 17:14:28

标签: documentation sandbox doctrine-orm symfony

我读了Symfony2 documentation但我不太明白(如何在doctrine.orm中创建模型,存储库,配置config.yml以及其他简单的东西,这些东西在sf 1中很容易。所以我搜索一个使用Symfony2的小例子。一个非常简单的示例(如sandbox,但稍微高级一点),其中一个页面列出了包含doctrine ORM和edit / new页面的表的内容。我在GitHub上找不到任何东西!带有真实示例的网站文档将非常有用! 非常感谢你......

我继续深入研究sf2 ...

2 个答案:

答案 0 :(得分:1)

Symfony2 Bundles是基于Symfony2的应用程序和第三方软件包的重要来源。

但是,你应该记住,你可以发现很多项目已经过时,因为Sf2仍然不稳定,而且它的API经常发生变化。

基本上,您所要做的就是:

  1. 确保在ApplicationKernel
  2. 中启用了Doctrines的捆绑包
  3. 确保配置正确:

    doctrine.dbal:
        driver:   pdo_pgsql
        host:     127.0.0.1
        user:     root
        password: password
        dbname:   my_database
        charset:  utf8
    
    doctrine.orm:
        mappings:
            MyApplicationBundle:  ~
            SomeThirdPartyBundle: ~
    
  4. 创建一些实体。

  5. 虽然您可以使用Doctrine2存储库,但我不是他们的忠实粉丝。 IMO最好创建自己的经理(他们可以使用原始存储库)来提供透明的API。您不应仅将模型层标识为ORM。您可以查看UserBundle by FriendsOfSymfony因为他们的方法非常好。
  6. 最终用法:

    $posts = $this->get('myapp.post_manager')->findRecentlyUsed(new \DateTime('-1 week'));
    
    return $this->render('MyApp:Post:list.html.twig', array(
        'posts' => $posts
    ));
    

答案 1 :(得分:1)

Symfony DIC和配置已经改变了!

你现在应该在你的config.yml中使用这样的东西:

doctrine:
    dbal:
        driver:   pdo_pgsql
        host:     127.0.0.1
        user:     root
        password: password
        dbname:   my_database
        charset:  utf8

    orm:
        mappings:
            MyApplicationBundle:  ~
            SomeThirdPartyBundle: ~