设为首页 收藏本站
查看: 658|回复: 0

[经验分享] Yii框架中使用mongodb扩展

[复制链接]
YunVN网友  发表于 2015-7-9 08:04:56 |阅读模式
  前提条件:安装了mongodb数据库
  安装了mongo的php驱动
  下载Yii的mongo扩展:
这是YiiMongoDbSuite的1.3.6版本
支持PHP Mongo驱动的版本为1.0.5及以下

  下载链接:http://pan.baidu.com/s/1jGuWP1O
  其它版本下载链接:https://github.com/canni/YiiMongoDbSuite
  得到文件:YiiMongoDbSuite.tar.gz
  解包,并将该文件放至应用的/protected/extensions文件夹下面
  确保文件夹名称为:YiiMongoDbSuite
  配置应用



1 vi /protected/config/main.php
2
3
4
5  'import' => array(  
6       ...  
7       'ext.YiiMongoDbSuite.*',    // 插件根目录文件  
8     ),
9
10     'components' => array(  
11       ...  
12       'mongodb' => array(  
13         'class'            => 'EMongoDB', //主文件  
14         'connectionString' => 'mongodb://127.0.0.1:27017', //服务器地址
15         'dbName'           => 'myDatabaseName',//数据库名称  
16         'fsyncFlag'        => true, //mongodb的确保所有写入到数据库的安全存储到磁盘  
17         'safeFlag'         => true, //mongodb的等待检索的所有写操作的状态,并检查  
18         'useCursor'        => false, //设置为true,将启用游标  
19       ),  
20     ),  
  这样就配置好了,当然,请确保你的mongodb安装在本地,并且端口号是27107上面的配置才能连接得上。
  下面测试一下Model:
  将以下代码放至/protected/models/User.php里



1 class User extends EMongoDocument
2     {
3       public $login;
4       public $name;
5       public $pass;
6  
7       // This has to be defined in every model, this is same as with standard Yii ActiveRecord
8       public static function model($className=__CLASS__)
9       {
10         return parent::model($className);
11       }
12  
13       // This method is required!
14       public function getCollectionName()
15       {
16         return 'users';
17       }
18  
19       public function rules()
20       {
21         return array(
22           array('login, pass', 'required'),
23           array('login, pass', 'length', 'max' => 20),
24           array('name', 'length', 'max' => 255),
25         );
26       }
27  
28       public function attributeLabels()
29       {
30         return array(
31           'login'  => 'User Login',
32           'name'   => 'Full name',
33           'pass'   => 'Password',
34         );
35       }
36     }
  在控制器里测试一下
  $users = User::model()->findAll();
var_dump($users);
  
  如果没有报错,那说明可以正常使用了。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-84509-1-1.html 上篇帖子: 我与mongodb 二三事(5) 下篇帖子: mongoDB研究笔记:journaling保证意外故障下的数据完整性
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表