Web开发 | ThinkPHP 3.2.3 - 03.ThinkPHP与数据库1

1.数据库连接及Model模型定义使用

ThinkPHP/Conf/convention.php
ThinkPHP/Conf/convention.php

数据库连接配置

  shop/Common/Conf/config.php
程序代码如下:

<?php
return array(
    //'配置项'=>'配置值'
    /* 数据库设置 */
    'DB_TYPE'               =>  'mysql',     // 数据库类型
    'DB_HOST'               =>  'localhost', // 服务器地址
    'DB_NAME'               =>  'demo',          // 数据库名
    'DB_USER'               =>  'root',      // 用户名
    'DB_PWD'                =>  'root',          // 密码
    'DB_PORT'               =>  '3306',        // 端口
    'DB_PREFIX'             =>  'sw_',    // 数据库表前缀
    'DB_PARAMS'             =>  array(), // 数据库连接参数    
    'DB_DEBUG'              =>  TRUE, // 数据库调试模式 开启后可以记录SQL日志
    'DB_FIELDS_CACHE'       =>  true,        // 启用字段缓存
    'DB_CHARSET'            =>  'utf8',      // 数据库编码默认采用utf8

);
制作Model模型

  a) Model本身就是一个类文件
  b) 数据库中的每个数据表都对应一个Model模型文件

  因为Admin、Home都需要访问数据库,可以在Admin、Home平级下创建Model文件夹。

创建Model文件夹
创建Model文件夹

  shop/Model/GoodsModel.class.php(最简单的数据Model模型类)
程序代码如下:

<?php
//Goods商品数据模型Model
namespace Model;
use Think\Model;

//父类Model:ThinkPHP/Library/Think/Model.class.php
class GoodsModel extends Model{
   
}

  实例化Model对象:shop/Admin/Controller/GoodsController.class.php
程序代码如下:

    public function showlist(){
   
        //使用数据Model模型
        //实例化Model对象

        //实例化的对象:object(Model\GoodsModel)
        //操作的数据表为:sw_goods
        $goods = new \Model\GoodsModel(); 
        echo "<pre style='color:red'>";
        var_dump($goods);
        echo "</pre>";   

        $this->display();
    }

  运行http://localhost/ThinkPHP/shop/index.php/Admin/Goods/showlist

运行效果
运行效果

  为了方便开发调试,可以将其中调试方法在入口文件处index.php封装成一个输出调试函数。
  入口文件:index.php
程序代码如下:

//输出调试函数
function show_bug($msg){
   
    echo "<pre style='color:red'>";
    var_dump($msg);
    echo "</pre>";
}

  shop/Admin/Controller/GoodsController.class.php
程序代码如下:

    public function showlist(){
   
        //使用数据Model模型
        //实例化Model对象

        //实例化的对象:object(Model\GoodsModel)
        //操作的数据表为:sw_goods
        $goods = new \Model\GoodsModel(); 
        show_bug($goods);   

        $this->display();
    }

  运行http://localhost/ThinkPHP/shop/index.php/Admin/Goods/showlist

运行效果
运行效果

  在本案例中,输出页面显示的属性都是Model父类的默认值(继承于Model父类):ThinkPHP/Library/Think/Model.class.php

Model父类
Model父类

  可以给当前Model定义一些个性化设置
  shop/Model/QqModel.class.php
程序代码如下:

<?php
namespace Model;
use Think\Model;
class QqModel extends Model{
   
    //可以给当前Model定义一些个性化设置
    // 实际数据表名(包含表前缀)
    //protected $trueTableName    =   'tencent_qq';
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ThinkPHP 3.2.3中,可以通过修改.htaccess文件或者在Apache配置文件中增加重写规则来实现隐藏index.php和Home。 方法一:修改.htaccess文件 1. 首先,确认你的服务器支持.htaccess文件,并且.htaccess文件已经开启。 2. 在项目根目录下新建.htaccess文件,并添加以下内容: ``` RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] ``` 3. 保存并上传.htaccess文件到服务器根目录。 4. 修改配置文件config.php,将URL_MODEL参数改为2。 ``` 'URL_MODEL' => 2, ``` 5. 访问项目时,可以通过访问http://域名/控制器/方法 的方式来访问,而不需要在URL中加上index.php或Home。 方法二:在Apache配置文件中增加重写规则 1. 打开Apache配置文件httpd.conf,搜索LoadModule rewrite_module modules/mod_rewrite.so,并确保该模块已开启。 2. 在VirtualHost标签中添加以下内容: ``` <Directory "/var/www/html"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> ``` 其中/var/www/html为项目根目录,AllowOverride All表示允许.htaccess文件中的重写规则生效。 3. 在.htaccess文件中添加以下内容: ``` RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] ``` 4. 修改配置文件config.php,将URL_MODEL参数改为2。 ``` 'URL_MODEL' => 2, ``` 5. 访问项目时,可以通过访问http://域名/控制器/方法 的方式来访问,而不需要在URL中加上index.php或Home。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值