tp框架总结(四)

一 ajax的返回

  调用实例:

   $this->ajaxReturn(返回数据,提示信息,操作状态);

   $this->ajaxReturn(返回数据,‘json’);

js:

<script>

      $("#btn").click(function(){

            $.post('__URL__/test',function(data){

                str = data.data+data.info; 

                 if(data.status){

                    alert(str); 

                  }else{

                     ...........

                   }

            });

       })

</script>

php:

 public function test(){

       $this->ajaxReturn('user1','插入成功',1);

}

二、添加模板替换:

   "TMPL_PARSE_STRING" =>array(

        '__UPLOAD__' =>__ROOT__.'/Public/uploads',

  );

三、模型定义:

当我们定义一个UserModel类的时候,默认访问的是User表

如果我们想在此模型中访问cate表 那么我们就要定义为

protected $tableName = "cate";

如果我们想访问别的前缀和当前前缀不一样的表那么我们就定义为

protected $trueTableName = "top_cate";

除了数据表的定义外 还可以对数据库进行定义

protected $dbName ='top';

1.实例化基础模型类

 $user = new Model("User"); //或者使用M()快捷方法实例化 等效于 $User = M('User');

2.实例化其他公共模型类

$User = new commonModel('User','think_','db_config');

$User = M('CommonModel:User','think_','db_config');

其中第一个参数是模型名称,第二个参数用于设置数据表的前缀 第三个参数用于设置当前 使用的数据库连接信息,留空则取当前项目配置的数据库连接信息

3.实例化用户自定义的MOdel类

$User = D("User");

4.实例化空模型

$Model = new Model(); //$Model = M();

$model ->query("SELECT * FROM think_user WHERE status=1");

空模型用于使用原声的sql查询  也可以跨项目调用

四、字段定义

 1.如果想显示获取当前数据表的字段信息的话

   $fields = $user ->getDbFields();

五、数据主键

  获取当前数据对象的主键名称

  $pk = $Model  ->getPk();

 六、属性访问

$User = M('User');

//获取用户的数据

$User ->find(1);

//获取属性的值

$User->name;

//设置属性的值

$User->name = "ThinkPHP";

七、跨库操作

class UserModel extends Model{

   protected $dbName = "user";

}

$User = D('User');

echo $User->getLastSql();

//输出的sql语句为 select * from user.think_user;

如果跨库操作时访问的表前缀不一样 设置表的前缀

protected $tablePrefix = "other_";

八、切换数据库

如果项目配置中定义了其他的数据库连接信息

我们就可以直接在db方法中调用配置进行连接了

//数据库配置1

  1. //数据库配置1
  2. 'DB_CONFIG1' = array(
  3.     'db_type'  => 'mysql',
  4.     'db_user'  => 'root',
  5.     'db_pwd'   => '1234',
  6.     'db_host'  => 'localhost',
  7.     'db_port'  => '3306',
  8.     'db_name'  => 'thinkphp'
  9. ),
  10. //数据库配置2
  11. 'DB_CONFIG2' => 'mysql://root:1234@localhost:3306/thinkphp';

$this->db(1,"DB_CONGIG1")->query(sql语句);

如果切换数据库之后,数据表和当前不一致的话我们可以使用table方法指定要操作的数据表

$this->db(1)->table("top_user")->find();

九、分布式数据库

十、创建数据

 1.使用create()方法创建数据对象

$user = M('user');

$user->create();//根据表单提交的post数据创建数据对象

$user->add();// 把创建的数据对象写入数据库

2.使用data()方法创建对象

$data['name'] = "name";

$data['email'] = "403384070@qq.com";

$user->data($data)->add();

十一、系统安全设置

http://www.thinkphp.cn/info/184.html

十二、表单安全验证

原文地址:https://www.cnblogs.com/chenchenphp/p/5506146.html