【问题标题】:How to use MongoDB with Kohana 3.3? using MangoDB如何在 Kohana 3.3 中使用 MongoDB?使用 MongoDB
【发布时间】:2016-07-02 12:31:38
【问题描述】:

我正在尝试使用 MangoDB 将 MongoDB 与 Kohana 一起使用。我已经下载了 MangoDB,这是一个将 MongoDB 与 Kohana 一起使用的库 https://github.com/Wouterrr/MangoDB

我知道这里的一些问题非常基础,但我需要问一下,因为我找不到 MangoDB 的任何文档。

首先,我不知道在哪里复制/粘贴下载的库。 其次,我可以在modules/database/config/database.php中定义数据库吗,大概是这样的:

...
'default' = array
(
   'type'   => 'mongodb',
   'connection' => array(
      'hostname' => 'no idea what to put here'
      'database' => 'example'
      'username' => 'no idea what to put here'
      'password' => 'no idea what to put here'
      'persistent' => 'no idea what to put here'
   ),
...

第三,我应该在 application/bootstrap.php 改变什么,我应该在那里改变什么吗?或者我应该怎么做。

...
kohana::modules(array(
   'database' => MODPATH.'database',
   'orm' => MODPATH.'orm',
...

非常感谢任何帮助或指导以开始此操作。

之前在这里问过一个类似的问题:How can I use MongoDB in Kohana?,最好的答案是根本不使用 MangoDB。但我认为使用类似 ORM/Active Record 的库很重要,因为这样可以更轻松地在未来更改数据库。

【问题讨论】:

    标签: php mongodb kohana mongodb-php


    【解决方案1】:

    很高兴知道Kohana's cascading file systemKohana modules 是如何工作的。基本上当您在applicationmodulessystem 中具有相同的文件夹结构时,application 会覆盖modulesmodules 会覆盖system。您应该只在application 中编写自己的代码。

    将 MonogDB 模块放在 modules 目录中名为 mangodb 的目录中。所以你应该有一些这样的路径:modules/mangodb/configmodules/mangodb/classes

    不要在modules/database/config/database.php 中定义任何内容,而是将this file 复制并重命名为application/config/database.php。因为数组键名是“default”,你的应用程序现在应该使用这个文件。当然,更改配置参数以使用您自己的数据库。

    不要忘记在你的bootstrap.php 中启用模块,我在这段代码中添加了最后一个模块mangodb

    Kohana::modules(array(
        'auth'       => MODPATH.'auth',       // Basic authentication
        'cache'      => MODPATH.'cache',      // Caching with multiple backends
        'codebench'  => MODPATH.'codebench',  // Benchmarking tool
        'database'   => MODPATH.'database',   // Database access
        'image'      => MODPATH.'image',      // Image manipulation
        'orm'        => MODPATH.'orm',        // Object Relationship Mapping
        'oauth'      => MODPATH.'oauth',      // OAuth authentication
        'pagination' => MODPATH.'pagination', // Paging of results
        'unittest'   => MODPATH.'unittest',   // Unit testing
        'mangodb'  => MODPATH.'mangodb',  
        ));
    

    【讨论】:

      猜你喜欢
      • 2012-05-12
      • 2015-07-16
      • 1970-01-01
      • 2016-05-17
      • 1970-01-01
      • 2019-12-10
      • 2021-11-10
      • 2013-06-29
      • 2014-07-13
      相关资源
      最近更新 更多