项目中的个人笔记整理

项目中的个人笔记整理

1、$_SERVER['DOCUMENT_ROOT'] 代表文件根目录

 2、goto操作符可以用来跳转到程序中的某一指定位置。该目标位置可以用目标名称加上冒号来标记。PHP中的goto有一定限制,只能在同一个文件和作用域中跳转,也就是说你无法跳出一个函数或类     方法,也无法跳入到另一个函数。你也无法跳入到任何循环或者switch 结构中。常见的用法是用来跳出循环或者switch,可以代替多层的break。
                  (跳转)        (语句)
   例如:goto End;————》End:  ......

 3、autocmomit(自动提交)autocommit是mysql中的InnoDb数据表特有的语句。

 4、HttpRequest 通过封装 HTML XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。 HttpRequest 只提供以异步的形式返回 Web      服   务器的响应,并且能够以文本或者二进制的形式返回内容。
   注意:建议每次请求都使用新的 HttpRequest 对象,因为每次调用该对象的send方法时,都会清空之前设置的数据,并重置 HTTP 请求的状态,这会导致之前还未返回响应的请求被重置,从而得     不到之前请求的响应结果。

 5、startTrans()开启事物

 6、execute();用于pdo 增删改     $pro = $mysqli -> query($sql);   $product = $pro -> fetch_assoc();查

 7、$_SERVER['HTTP_HOST']我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址。

 8、php://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTP_RAW_POST_DATA(原生的post数据),因为它不依赖于特定的 php.ini 指令,内     存消耗更少

 9、我们把Zend的Filter\Dir.php 放到Vendor目录下面,这个时候Dir文件的路径就是Vendor\Zend\Filter\Dir.php,我们使用vendor方法导入就是:Vendor('Zend.Filter.Dir');

 10、$aaasql = M()->_sql();   file_put_contents("test.txt",$aaasql); TP中打印sql语句到文件test.txt中

 11、想要进行远程桌面连接,可以同时按住键盘上的windows+R键,调出运行对话框,然后在打开里边输入远程桌面连接命令 mstsc ;

 12、<notempty name="order['contact2']"></notempty>  写法

 13、在表里添加 Timestamp 类型的字段以后,每次插入或更新,该字段将记录每一个数据行的计数器值(基本不会重复,select into 除外)。

 15、get_client_ip() 获取普通的ip地址  cmd命令不能用原生PHP $_SERVER['']获取IP等要用直接例如http:www.baidu.com

 16、复选框获取选中id jquery方法
      var chk_value =[];
      $('input[name="checkbox"]:checked').each(function(){
          chk_value.push($(this).val());
      });

 17、define('APP_PATH','./Application/'); TP3.2定义常量:APP_PATH的定义支持相对路径和绝对路径,但必须以“/”结束

 18、控制器类的命名方式是:控制器名(驼峰法,首字母大写)+Controller  例如:IndexController.class.php

 19、JSON.parse(data) HTML解析json格式(记得加判断)

 20、layer提示方法 
       layer.msg("提现成功",{
                                icon: 1,//提示的样式
                                time: 3000, //2秒关闭(如果不配置,默认是3秒)//设置后不需要自己写定时关闭了,单位是毫秒
                                end:function(){
                                    location.href='https://zs.kxsp.net/paimai/Home/Trade/tx';
                                }
                            });


 21、ajax格式:$.ajax({
                 url:"https://zs.kxsp.net/paimai/APi/Pay/operaTx",
                 type:"POST",
                 data:{"id":id ,"status":status},
                 success:function(data){
                 }
             })


 22、弹窗:var url=$('.detail_on').attr('data-url');
          url=url+"?acution_id="+id;
          layer.open({
            type: 2,
            title:'参加竞拍详情',
            shadeClose:true,
            shade:0.5,
            area: ['75%', '70%'], //宽高
            content: url,
          });

 23、TP3.2中指定XML格式返回数据(ajaxReturn方法调用)
           $data['status']  = 1;
           $data['content'] = 'content';
           $this->ajaxReturn($data,'xml');
           返回数据data可以支持字符串、数字和数组、对象,返回客户端的时候根据不同的返回格式进行编码后传输。如果是JSON/JSONP格式,会自动编码成JSON字符串,如果是XML方式,会自动             编码成XML字符串,如果是EVAL方式的话,只会输出字符串data数据。

 24、js返回上一页:javascript:history.back(-1);  PHP返回上一页:使用 $_SERVER['HTTP_REFERER'] 将很容易得到链接到当前页面的前一页面的地址。

 25、strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。 htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。

 26、PHP音频文件读取、处理:

 if(($_FILES["audio"]["type"]=="audio/mpeg" || $_FILES["audio"]["type"]=="mp3/mp3") &&$_FILES["file"]["size"]<2500000){

                              $audio=$_FILES['audio']['name'];
                      $savePath = '/Public/Uploads/myMusic/';
      $saveName = $audio;
     //存入二维码
$res = move_uploaded_file($_FILES["audio"]["tmp_name"], $_SERVER['DOCUMENT_ROOT'] . "/paimai" . $savePath . $saveName);
     if ($res === false) {
           $this->ajaxReturn(array('code' => 300, 'msg' => '音频文件添加失败'));
  }else{
$url = IMG_PATH . "myMusic/" . $saveName;
$data['audio']=$url;
$re_id=M('myself_audio')->add($data);

}
}

 27、D方法实例化模型类的时候通常是实例化某个具体的模型类,如果你仅仅是对数据表进行基本的CURD操作的话,使用M方法实例化的话,由于不需要加载具体的模型类,所以性能会更高。

 28、$Model = M();
    //进行原生的SQL查询
    $Model->query('SELECT * FROM think_user WHERE status = 1');

 29、如果需要显式获取当前数据表的字段信息,可以使用模型类的getDbFields方法来获取当前数据对象的全部字段信息,例如:$User   = M('User');$fields = $User->getDbFields();
     结果:"id",
"openid",
"username",
"phone",
"sex",
"city",
"province",
 "country",
"language",
"ctime",
 "last_time",
 "avater",
"amount",
"session_key",
"authorization"


 30、alias用于设置当前数据表的别名,便于使用其他的连贯操作例如join方法等。$Model = M('User');$Model->alias('a')->join('__DEPT__ b ON b.user_id= a.id')->select();


 31、TP查询统计排序:
                   $User= M('pay_records');
                   $con['is_complete']=1;
                   $con['order_id']=1164;
                   $con['status']=1;
                   $data=$User->field("sum(money) as total")->where($con)->group('user_id')->order("sum(money) desc")->limit('0,1')->select();
   原生sql:$sql="select user_id,sum(money) as total from wemall_pay_records where order_id =$auction_order_id and is_complete=1 and status=1 group by user_id  order by sum           (money) desc  limit 0,1";

 32、Create方法创建的数据对象是保存在内存中,并没有实际写入到数据库中,直到使用add或者save方法才会真正写入数据库。

 33、fetchSql 不执行SQL而只是返回SQL  3.2.3版本开始,可以支持不执行SQL而只是返回SQL语句

 34、如果写入了数据表中不存在的字段数据,则会被直接过滤,例如:$data['name'] = 'thinkphp';$data['email'] = '[email protected]';$data['test'] = 'test';$User = M('User');$User-     >data($data)->add();
     批量生成$User->add($data);//不采用
     
 35、读取字段值其实就是获取数据表中的某个列的多个或者单个数据,最常用的方法是 getField方法。例如:
    $nickname = M("User")->where('id=3')->getField('username');  结果:"泪舞思醉"

 36、$User = M("User"); // 实例化User对象
    $User->where('id=5')->setInc('score',3); // 用户的积分加3
    $User->where('id=5')->setInc('score'); // 用户的积分加1
    $User->where('id=5')->setDec('score',5); // 用户的积分减5
    $User->where('id=5')->setDec('score'); // 用户的积分减1


 37、ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用【数组】或者【对象】来作为查询条件,因为会更加安全。

 38、表达式查询:  $map['字段名'] = array('表达式','查询条件');

 39、$map['status&title'] =array('1','thinkphp','_multi'=>true); 等价于 status= 1 AND title = 'thinkphp'

 40、$map['id']  = array(array('neq',6),array('gt',3),'and');  等价于 ( id != 6) AND ( id > 3)

 41、用于原生:  query    方法用于执行SQL查询操作,如果数据非法或者查询错误则返回false,否则返回查询结果数据集(同select方法)。
                execute  用于更新和写入数据的sql操作,如果数据非法或者查询错误则返回false ,否则返回影响的记录数。

 42、$this->display('Member:read');表示调用Member模块下面的read模板。

 43、们可以给变量输出提供默认值,例如:{$user.nickname|default="这家伙很懒,什么也没留下"}

 44、{$user.score+10} //错误的

     {$user['score']+10} //正确的

 45、{$info['status']?$info['msg']:$info['error']} 三元运算

 46、{__NOLAYOUT__}模板不解析

 48.HTML中css设置超出文字用省略号 overflow: hidden;
                                  white-space: nowrap;
                                  text-overflow: ellipsis;
                                  display: inline-block;
                                  width:400px;
 49.连表查询别名 M('User')->alias('a')->join('__DEPT__ b ON b.user_id= a.id')->select();
 50.Windows版本workerman的启动与停止       启动时直接运行 php 文件.php 即可,停止运行按ctrl+c 

猜你喜欢

转载自blog.csdn.net/weixin_37616043/article/details/80782444