zoukankan      html  css  js  c++  java
  • 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

    十二、表单安全验证

  • 相关阅读:
    Winform架构
    SQL2008多数据库查询表或删表
    hdu1114 PiggyBank
    hdu2844 Coins
    hdu2602 Bone Collector
    hdu2191 珍惜现在
    hdu1203 I NEED A OFFER!
    求推荐
    TransparentBlt
    双缓冲加载位图 WinCE
  • 原文地址:https://www.cnblogs.com/chenchenphp/p/5506146.html
Copyright © 2011-2022 走看看