首页 > 后端开发 > php教程 > thinkphp5 - thinkPHP 是不是 D() model.class 和 Controller.class 里数据库参数的优先级问题.

thinkphp5 - thinkPHP 是不是 D() model.class 和 Controller.class 里数据库参数的优先级问题.

WBOY
发布: 2016-07-06 13:53:54
原创
1327 人浏览过

model:

<code>class classoneModel extends Model
{
    protected $trueTableName = '';    //前缀+表名;
    protected $dbName = 'ybdbcjd';    //库名,也可以从配置文件,或者 D() 参数设置;
}
</code>
登录后复制
登录后复制

Controller:

<code>public function select_()
{
    $use=D('classone','','mysql://root16656:@localhost/ybdbchfjhfjjds');
    $db=$use->select();
    echo '<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">';print_r($db);echo '
登录后复制
登录后复制
登录后复制
'; } public function select_() { $use=D('classone','qqqqqqqqqqqqqqqqqqqqqq','mysql://root16656:@localhost/ybdbchfjhfjjds'); $db=$use->select(); echo '
';print_r($db);echo '
登录后复制
登录后复制
'; }

Controller这个库名ybdbchfjhfjjds,是我乱换的,按理说,应该出错,但是居然成功了!可以正常搜索到数据,所以说,库没有被覆盖,依然是 model 的库,
而下面的例子,前缀我写了个qqqqqqqqqqqqq,就搜不到数据了,

请问这个什么时候会被覆盖,什么时候不被覆盖?

回复内容:

model:

<code>class classoneModel extends Model
{
    protected $trueTableName = '';    //前缀+表名;
    protected $dbName = 'ybdbcjd';    //库名,也可以从配置文件,或者 D() 参数设置;
}
</code>
登录后复制
登录后复制

Controller:

<code>public function select_()
{
    $use=D('classone','','mysql://root16656:@localhost/ybdbchfjhfjjds');
    $db=$use->select();
    echo '<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">';print_r($db);echo '
登录后复制
登录后复制
登录后复制
'; } public function select_() { $use=D('classone','qqqqqqqqqqqqqqqqqqqqqq','mysql://root16656:@localhost/ybdbchfjhfjjds'); $db=$use->select(); echo '
';print_r($db);echo '
登录后复制
登录后复制
'; }

Controller这个库名ybdbchfjhfjjds,是我乱换的,按理说,应该出错,但是居然成功了!可以正常搜索到数据,所以说,库没有被覆盖,依然是 model 的库,
而下面的例子,前缀我写了个qqqqqqqqqqqqq,就搜不到数据了,

请问这个什么时候会被覆盖,什么时候不被覆盖?

因额为D函数只有两个参数 第一个参数是资源地址,第二个是模型层名称
你把mysql连接放在第三个空参数上了 当然不会生效

mysql链接参数是M函数里面的第三个参数。。

所以没有覆盖不覆盖一说

相关标签:
来源:php.cn
上一篇:log日志有5G,如何打开? 下一篇:在 symfony2 中使用 sonata-bundle,如何更加便捷地管理数据信息?
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
来自于 2024-04-16 10:10:18
0
0
1874
相关专题
更多>
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板