4

我阅读了Symfony2 文档,但我不太明白(如何创建模型、存储库、配置和其他简单的东西,在 sf 1 中很容易)doctrine.ormconfig.yml所以我搜索了一个使用 Symfony2 的小例子。一个非常简单的示例(如沙箱,但稍微高级一点),其中包含一个页面,该页面列出了带有教义 ORM 的表的内容和一个编辑/新页面。我在 GitHub 上什么也没找到!带有真实示例的网站文档将非常有帮助!非常感谢...

我继续潜入sf2 ......

4

2 回答 2

1

Symfony2 Bundles是基于 Symfony2 的应用程序和 3rd-party 捆绑包的宝贵来源。

但是,您应该记住,您可以发现很多项目已经过时,因为 Sf2 仍然不稳定并且它的 API 经常更改。

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

  1. 确保在您的ApplicationKernel.
  2. 确保它配置正确:

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

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

最终用法:

$posts = $this->get('myapp.post_manager')->findRecentlyUsed(new \DateTime('-1 week'));

return $this->render('MyApp:Post:list.html.twig', array(
    'posts' => $posts
));
于 2011-02-12T19:05:37.057 回答
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: ~
于 2011-03-06T11:55:08.263 回答