Rumah > pembangunan bahagian belakang > tutorial php > thinkphp5 - thinkPHP 是不是 D() model.class 和 Controller.class 里数据库参数的优先级问题.

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

WBOY
Lepaskan: 2016-07-06 13:53:54
asal
1346 orang telah melayarinya

model:

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

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

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

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

回复内容:

model:

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

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

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

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

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

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

所以没有覆盖不覆盖一说

Label berkaitan:
sumber:php.cn
Artikel sebelumnya:log日志有5G,如何打开? Artikel seterusnya:在 symfony2 中使用 sonata-bundle,如何更加便捷地管理数据信息?
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Isu terkini
Topik-topik yang berkaitan
Lagi>
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan