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

WBOY
Release: 2016-07-06 13:53:54
Original
1276 people have browsed it

model:

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

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 '
Copy after login
Copy after login
Copy after login
'; } public function select_() { $use=D('classone','qqqqqqqqqqqqqqqqqqqqqq','mysql://root16656:@localhost/ybdbchfjhfjjds'); $db=$use->select(); echo '
';print_r($db);echo '
Copy after login
Copy after login
'; }

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

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

回复内容:

model:

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

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 '
Copy after login
Copy after login
Copy after login
'; } public function select_() { $use=D('classone','qqqqqqqqqqqqqqqqqqqqqq','mysql://root16656:@localhost/ybdbchfjhfjjds'); $db=$use->select(); echo '
';print_r($db);echo '
Copy after login
Copy after login
'; }

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

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

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

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

所以没有覆盖不覆盖一说

Related labels:
source:php.cn
Previous article:log日志有5G,如何打开? Next article:在 symfony2 中使用 sonata-bundle,如何更加便捷地管理数据信息?
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Latest Issues
Related Topics
More>
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!