4.1 放在哪儿?
项目/模块/Model目录下
以本教程为例,Home模块的Model
/Home/Model/目录下

4.2 model类文件叫什么?
模型名: DemoModel.class.php

4.3 model类与表名的对应关系
一般model名称与表名table 相同
如DemoModel.class.php 则对应操作 Demo表
注意: 虽然Model类首字母大写的,但惯例,表名一律小写.

  需要插入Demo表,不然会保错

  

数据库随便创建

 create table Demo(
id int,
name varchar(10),
age int,
sex varchar(5)
);

4.4 继承谁?
namespace Home\Model
use \Think\Model

class DemoModel extends Model {
}

4.5 controller里如何实例化
new \模块名\Model\ModelName();
例:
new \Home\Model\UserModel();
也可以通过快捷函数D('模型名'),例:
D('User')

<?php
namespace Home\Controller;
use Think\Controller;
class UserController extends Controller { public function ff(){
// $a = new \Home\Model\DemoModel();
$a = D('Demo');//thinkphp 封装的方法(优先得到子类的方法)
// var_dump($a);
$a->papa();
}
}

注意:
上述实验,都会失败,因为还没有配置数据库信息.
失败后,请参考第6章

区别
D(),M()函数都能得到Model的实例,
但D函数是优先得到子类的Model实例
而M函数是得到父类的Model实例,即\Think\Model类的实例

thinkphp Model的使用的更多相关文章

  1. thinkphp model模块

    1.获取系统常量信息的方法:在控制器DengLuController里面下写入下面的方法,然后调用该方法. public function test() { //echo "这是测试的&qu ...

  2. thinkphp model层外挪,以便多个站点可以通用

    /ThinkPHP/ThinkPHP.php  增加如下代码 //非原始代码defined('BASE_LOGIC') or define('BASE_LOGIC', THINK_PATH . '.. ...

  3. thinkPHP Model的操作

    1.建立一个表 create table Demo( -> id int, ), -> age int, ) -> ); 2.新增数据 2.1面向过程的风格 $d = $a-> ...

  4. thinkphp model

    模型样板 <?php namespace app\model; use think\Db; use think\Model; class Admin extends Model { //表名 p ...

  5. thinkphp model 创建之后访问后的错误···

    解决:在php.ini里边先开启mysql的pdo扩展

  6. 改造 ThinkPHP,弃用 D() 等魔术函数

    ThinkPHP 是国内比较优秀的 PHP 框架,但有些地方不是很好,比如那些 魔术函数 D(),用它返回的类实例,在各个IDE(如 PhpStorm)下根本识别不了,导致如下问题: 1.不支持 代码 ...

  7. ThinkPHP 前台视图实现类似于Yii的自动验证

    ThinkPHP model类其实自带这个功能 可以写一个基础类继承Model 模型层代码: <?php namespace Manager\Model; use Think\Model; cl ...

  8. thinkphp 连接多个数据库

    config配置文件 //数据库配置信息 'DB_CONFIG' => array( 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'loc ...

  9. [代码审计]SRCMS的两点小越权

    0x00 简介 SRCMS是一个开源的企业安全应急响应中心,基于ThinkPHP 3.2框架开发.该系统在2017-09-09已经停止更新了,主要是在翻看p神博客文章时看到这个,随想自己再审一次. p ...

随机推荐

  1. IDEA01 创建java项目、创建web项目

    注意:本教程使用的开发环境是:(专业版) 1 创建javaSE项目 1.1 file -> new -> project 注意:如果是第一次使用,就需要配置 project SDK  , ...

  2. 15-struct(构造函数,重载)

    必须充分掌握struct的使用,包括其构造和重载函数的写法: #include <iostream> using namespace std; struct node { int x, y ...

  3. Python 网络爬虫 002 (入门) 爬取一个网站之前,要了解的知识

    网站站点的背景调研 1. 检查 robots.txt 网站都会定义robots.txt 文件,这个文件就是给 网络爬虫 来了解爬取该网站时存在哪些限制.当然了,这个限制仅仅只是一个建议,你可以遵守,也 ...

  4. SRA数据转成fastq

    Downloading and installing the SRA Toolkit step1: 下载并安装SRAtoolkit    (Download the Toolkit from the ...

  5. A - Dictionary

    传送门 题目大意 给你n个字符串,问是否可以通过改变26个字母的排列顺序是这n个字符串的字典序是非降排列的. 分析 我们考虑设相邻两个字符串的第一个不相同字符的位置为j,以为要求字典序不降,所以有第i ...

  6. WOJ 18 动态无向图

    一开始我是不会写的,后来点开了题解: 无话可说……那就写吧……然而第一发跑成暴力分,后来加了一个优化:就是在询问里面提到过的边都不用再加了. 然后……然后就过了呀…… 其实还有面向数据的编程的骚操作… ...

  7. Join方法把阵列转为字符串

    string有一个方法,就是Join,可以把阵列转换为字符串: 下面是Join方法重载,可以指定那个元素开始,连续取几个元素: 可以传入一个IEnumerable<T>参数:

  8. Install Open vSwitch on CentOS

    转载:http://cloud-mate.org/2015/06/installing-open-vswitch-centos-cloudstack/  June 5, 2015  Stuart Ne ...

  9. SourceTree——MAC OSX下的Git GUI客户端

    在MAC下面为Git找一款用得顺手的GUI客户端还真不容易.学习工具使用还是先器而后道的路径比较适合我,当年上手CVS SVN都是如此,先通过tortoise客户端熟练了基本操作,之后在搭建构建平台的 ...

  10. 在Python中正确使用Unicode

    正确处理文本,特别是正确处理Unicode.是个老生常谈的问题,有时甚至会难倒经验丰富的开发者.并不是因为这个问题很难,而是因为对软件中的文本,开发者没有正确理解一些关键概念及其表示方法.在Stack ...