微信开发工具代码注释_微信开发者工具注释代码 - CSDN
  • 微信开发源码注释

    2016-06-11 18:11:55
    本文用于解释微信开发中的中PHP代码意义,用于学习先关基础知识。

    本文用于解释微信开发中的中PHP代码意义,记录学习php基础知识。

    1、PHP代码开始与结束标记

        <?

        // PHP code

        >


    2、PHP注释信息使用双斜线//

         注释块使用/* ... ...*/


    3、PHP语句结束,使用分号(;)


    4、PHP常量定义 define

     

    <?php
    define("CONSTANT", "Hello world.");
    echo CONSTANT; // outputs "Hello world."
    echo Constant; // outputs "Constant" and issues a notice.
    
    define("GREETING", "Hello you.", true);
    echo GREETING; // outputs "Hello you."
    echo Greeting; // outputs "Hello you."
    
    ?> 

    5、php$符号是变量符号;把$符号加上字符串,这个字符串就是一个变量名或对象名。

    可以使用两个以及多个$,比如:

    可变变量
    $first ="hello";
    $hello ="world";
    echo $first." ".$$first;
    结果是 hello world
    
    $$first就是$hello,因为$first的值是hello

    6、php中类相关定义以及实例化,class 声明累,new实例化

          类中定义可以方法以及属性

          属性值需要使用$标示以及权限修饰关键字 public private

          类的继承使用extends

    7、实例化一个对象后,使用 -> 操作符来访问对象的成员属性和方法。比如:

    object->var_name;
    object->function_name; 

    8、在定义的类里面访问成员的属性或者方法,可以使用伪变量 $this 。$this 用于表示当前对象或对象本身 。

    <?php
    class Person {
    // 人的成员属性
    var $name; //人的名字
    var $age; //人的年龄
    
    //人的成员 say() 方法
    function say() {
    echo "我的名字叫:".$this->name."<br />";
    echo "我的年龄是:".$this->age;
    }
    }
    //类定义结束
    
    $p1 = new Person(); //实例化一个对象
    $p1->name = "Gonn"; //给 $p1 对象属性赋值
    $p1->age = 25;
    $p1->say(); //调用对象中的 say()方法
    ?> 

    9、PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

        $GLOBALS //在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。
        $_SERVER  //保存关于报头、路径和脚本位置的信息。
        $_REQUEST  //用于收集 HTML 表单提交的数据。
        $_POST //广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。$_POST 也常用于传递变量。
        $_GET  //用于收集提交 HTML 表单 (method="get") 之后的表单数据。也可以收集 URL 中的发送的数据。
        $_FILES
        $_ENV
        $_COOKIE
        $_SESSION
    

    PHP中全局变量
    元素/代码 描述
    $_SERVER['PHP_SELF'] 返回当前执行脚本的文件名。
    $_SERVER['GATEWAY_INTERFACE'] 返回服务器使用的 CGI 规范的版本。
    $_SERVER['SERVER_ADDR'] 返回当前运行脚本所在的服务器的 IP 地址。
    $_SERVER['SERVER_NAME'] 返回当前运行脚本所在的服务器的主机名(比如 www.w3school.com.cn)。
    $_SERVER['SERVER_SOFTWARE'] 返回服务器标识字符串(比如 Apache/2.2.24)。
    $_SERVER['SERVER_PROTOCOL'] 返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。
    $_SERVER['REQUEST_METHOD'] 返回访问页面使用的请求方法(例如 POST)。
    $_SERVER['REQUEST_TIME'] 返回请求开始时的时间戳(例如 1577687494)。
    $_SERVER['QUERY_STRING'] 返回查询字符串,如果是通过查询字符串访问此页面。
    $_SERVER['HTTP_ACCEPT'] 返回来自当前请求的请求头。
    $_SERVER['HTTP_ACCEPT_CHARSET'] 返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1)
    $_SERVER['HTTP_HOST'] 返回来自当前请求的 Host 头。
    $_SERVER['HTTP_REFERER'] 返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)。
    $_SERVER['HTTPS'] 是否通过安全 HTTP 协议查询脚本。
    $_SERVER['REMOTE_ADDR'] 返回浏览当前页面的用户的 IP 地址。
    $_SERVER['REMOTE_HOST'] 返回浏览当前页面的用户的主机名。
    $_SERVER['REMOTE_PORT'] 返回用户机器上连接到 Web 服务器所使用的端口号。
    $_SERVER['SCRIPT_FILENAME'] 返回当前执行脚本的绝对路径。
    $_SERVER['SERVER_ADMIN'] 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。
    $_SERVER['SERVER_PORT'] Web 服务器使用的端口。默认值为 “80”。
    $_SERVER['SERVER_SIGNATURE'] 返回服务器版本和虚拟主机名。
    $_SERVER['PATH_TRANSLATED'] 当前脚本所在文件系统(非文档根目录)的基本路径。
    $_SERVER['SCRIPT_NAME'] 返回当前脚本的路径。
    $_SERVER['SCRIPT_URI'] 返回当前页面的 URI。

    $_GET传递参数实例

    假设我们有一张页面含有带参数的超链接:

    <html>
    <body>
    
    <a href="test_get.php?subject=PHP&web=W3school.com.cn">测试 $GET</a>
    
    </body>
    </html>
    

    当用户点击链接 "Test $GET",参数 "subject" 和 "web" 被发送到 "test_get.php",然后您就能够通过 $_GET 在 "test_get.php" 中访问这些值了。

    下面的例子是 "test_get.php" 中的代码:

    实例

    <html>
    <body>
    
    <?php 
    echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
    ?>
    
    </body>
    </html>
    

    10、PHP中用于输出信息,使用关键字echo

    11、function用于定义类中的方法;

    12、关键词解释:

            isset(var) ---检测变量是否设置,如果 var 存在并且值不是 NULL 则返回 TRUE,否则返回FALSE

            empty(var)检查一个变量是否为空,当var存在,并且是一个非空非零的值时返回FALSE 否则返回 TRUE.

            echo输出一个或多个字符串

            exit输出一个消息并且退出当前脚本

            -> 是对象成员访问符号

            => 是数组成员访问符   

    微信开发第一课实例代码如下:

    <?php
    /*
        WeiXin 学习代码实例
    */
    
    define("TOKEN", "weixin");
    $wechatObj = new wechatCallbackapiTest();
    if (isset($_GET['echostr'])) {
        $wechatObj->valid();
    }else{
        $wechatObj->responseMsg();
    }
    
    class wechatCallbackapiTest
    {
        public function valid()
        {
            $echoStr = $_GET["echostr"];
            if($this->checkSignature()){
                echo $echoStr;
                exit;
            }
        }
    
        private function checkSignature()
        {
            $signature = $_GET["signature"];
            $timestamp = $_GET["timestamp"];
            $nonce = $_GET["nonce"];
    
            $token = TOKEN;
            $tmpArr = array($token, $timestamp, $nonce);
            sort($tmpArr, SORT_STRING);
            $tmpStr = implode( $tmpArr );
            $tmpStr = sha1( $tmpStr );
    
            if( $tmpStr == $signature ){
                return true;
            }else{
                return false;
            }
        }
    
        public function responseMsg()
        {
            $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
    
            if (!empty($postStr)){
                $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;
                $toUsername = $postObj->ToUserName;
                $keyword = trim($postObj->Content);
                $time = time();
                $textTpl = "<xml>
                            <ToUserName><![CDATA[%s]]></ToUserName>
                            <FromUserName><![CDATA[%s]]></FromUserName>
                            <CreateTime>%s</CreateTime>
                            <MsgType><![CDATA[%s]]></MsgType>
                            <Content><![CDATA[%s]]></Content>
                            <FuncFlag>0</FuncFlag>
                            </xml>";
                if($keyword == "?" || $keyword == "?")
                {
                    $msgType = "text";
                    $contentStr = date("Y-m-d H:i:s",time());
                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                    echo $resultStr;
                }
            }else{
                echo "";
                exit;
            }
        }
    }
    ?>

    1. 微信在接受信息后,通过$_GET方法请求是否设置了echostr
    2. 微信加密签名:signature--结合token参数以及timestamp、nonce参数等
    3. timestamp--时间戳
    4. nonce--随机数
    5. echostr-- 随机字符串

    微信信息构造XML类型如下:

    字符串类型

                          <xml>
                            <ToUserName><![CDATA[%s]]></ToUserName>
                            <FromUserName><![CDATA[%s]]></FromUserName>
                            <CreateTime>%s</CreateTime>
                            <MsgType><![CDATA[%s]]></MsgType>
                            <Content><![CDATA[%s]]></Content>
                            <FuncFlag>0</FuncFlag>
                          </xml>










    展开全文
  • 本人觉得微信微信开发者工具快捷键太low了为什么就不像其他编辑器学习呢,难受的要死,开一个编辑器还得把微信开发者工具打开,他特么麻烦了,支持的赞一个



                                                                                 格式调整                                                                            
      Ctrl+S:保存文件
      Ctrl+[, Ctrl+]:代码行缩进
      Ctrl+Shift+[, Ctrl+Shift+]:折叠打开代码块
      Ctrl+C Ctrl+V:复制粘贴,如果没有选中任何文字则复制粘贴一行
      Shift+Alt+F:代码格式化
      Alt+Up,Alt+Down:上下移动一行
      Shift+Alt+Up,Shift+Alt+Down:向上向下复制一行
      Ctrl+Shift+Enter:在当前行上方插入一行
                                                                                 光标操作                                                                            

         Ctrl+End:移动到文件结尾

      Ctrl+Home:移动到文件开头
      Ctrl+i:选中当前行
      Shift+End:选择从光标到行尾
      Shift+Home:选择从行首到光标处
      Ctrl+Shift+L:选中所有匹配
      Ctrl+D:选中匹配
      Ctrl+U:光标回退

                                                                                 界面操作                                                                             

    - Ctrl + \:隐藏侧边栏 
    - Ctrl + m: 打开或者隐藏模拟器

                                             个人操作反馈(一直更新反应大家的心声                                         

    - Tab:像eclipse 一样在引号中间用 Tab键跳出引号后边;

     -ctrl +J 像sublime 一样可以压缩代码到一行(如果有这个简直是太棒了);


    还有就是界面为什么每次只能打开一个项目,多个项目同时打开不行吗?

    展开全文
  • 微信小程序开发工具的多选注释(多行注释)快捷键是Ctrl+/ 不同的后缀是不一样的,wxml,和js不一样。 快捷键都是: Ctrl+ / ------------- .js 和 .json后缀 //aa //bb ---------- .wxml后缀 <!-...

    微信小程序开发工具的多选注释(多行注释)快捷键是Ctrl+/

     

    不同的后缀是不一样的,wxml,和js不一样。

    快捷键都是:    Ctrl+ /

    -------------

    .js  和  .json后缀

    // aa

    // bb

     

    ----------

    .wxml后缀

     

    <!-- aa

    bb -->

    ---------

    .wxss后缀

    /* aa

    bb */

     

    ---------------

    展开全文
  • 微信小程序中的app.json文件主要是设置页面的路径,页面的窗口,网络超时时间,设置tabBar,是否开启debug模式。 以下是文件内的内容注释: /* 《设置微信小程序页面的路径 》 注意事项,不需要设置.css/....

    微信小程序中的app.json文件主要是设置页面的路径,页面的窗口,网络超时时间,设置tabBar,是否开启debug模式。

    以下是文件内的内容注释:

    /*
    《设置微信小程序页面的路径 》
    注意事项,不需要设置.css/.html/.js/.json后缀,只需要一个文件夹名称及文件名称就好。

    添加新页面路径的时候,a设置放在文件夹,b也是设置文件夹,c是设置文件名的名称,比如(”product/shopp/shopping“)。这三个不一定要一样。也可以进行这样设置,a设置文件夹,b设置文件名称,比如(”abc/abc“).这两者的区别在于调用时路径不一样。

    Ps:设置最后一个页面路径无需要逗结尾。比如(”abc/abc“)
    */
    “pages”:
    {

    }

    /*
    《窗口设置值,window》

    */
    “window”:
    {
    “navigationBarTextStyle”: “white”, //设置导航栏标题字体的颜色
    “navigationBarTitleText”: “汽车保养服务推广系统”, // 设置导航栏的标题
    “navigationBarBackgroundColor”: “#AB956D”,
    “backgroundColor”: “#eeeeee”,
    “navigationStyle”:“default”,
    “backgroundTextStyle”:“light”,
    “backgroundColorTop”:"#984", //设置下拉顶部窗口的颜色
    “backgroundColorBottom”:"#78e", //设置上拉顶部窗口的颜色
    “enablePullDownRefresh”:false, //防止页面下拉(设置下拉是否刷新) true / false,
    “onReachBottomDistance”:10 //设置页面上拉触底事件至页面底部的距离
    }

    /*
    《设置tabBar》

    当positon为top的时候,icon图标属性即失效。
    ps:下划线颜色,则是选择中字体颜色即:selectedColor
    */

    “tabBar”: {
    “color”: “#b7b7b7”, //tab上面的文字颜色
    “selectedColor”: “#AB956D”, //tab文字选中的颜色
    “backgroundColor”: “#f5f5f5”, //tab上面的背景颜色
    “borderStyle”: “white”, //tabbar上边框的颜色 ( 不是必写)
    “position”: //设置tab在上还是在下显示 ( 不是必写)
    “list”: [ //tab列表(最少两个,最多两个)(tab数组集合)
    {
    “pagePath”: “page/component/index”, //页面路径
    “iconPath”: “image/12.png”, //按钮上面的图标
    “selectedIconPath”: “image/11.png”, //选中tab所显示的图标
    “text”: “主页” //tab上面的字
    },
    {
    “pagePath”: “page/component/category/category”,
    “iconPath”: “image/32.png”,
    “selectedIconPath”: “image/31.png”,
    “text”: “分类”
    }

    展开全文
  • 最近项目组在开发一款运行在微信小游戏环境的斗地主游戏,项目的第一个版本收尾阶段突然出现了一个奇怪的bug,因为之前开发阶段的测试都是在浏览器以及微信开发工具上的模拟器进行的测试,所以直到临近项目上线才...

    最近项目组在开发一款运行在微信小游戏环境的斗地主游戏,项目的第一个版本收尾阶段突然出现了一个奇怪的bug,因为之前开发阶段的测试都是在浏览器以及微信开发工具上的模拟器进行的测试,所以直到临近项目上线才发现这个问题,具体表现如下:游戏运行在手机上会特别卡,并且卡一段时间、或者卡一下就断线,即使断线恢复后也依然很不稳定。

    初步猜想:卡顿问题属于客户端程序问题,断线情况可以排除心跳包问题,可能是客户端发送消息包存在格式问题,或者服务器一些异常导致。

    首先通过调试信息来看,客户端并没有主动请求断开与服务器的连接,追踪服务器的日志信息来看,在客户端与服务器断开连接前,都是因为数据传输协议解析错误问题,导致服务器主动断开连接的,然后就又通过调试信息查看断开连接前客户端发送给客户端的消息包是否有格式问题,结果出乎意料没有。

    这就奇怪了,没办法,项目周期将至,不得不做些取舍,暂时实在没有头绪只好打算在服务器解析到消息包错误时忽略该消息,不做主动断开连接,本以为这样就可以暂时了事,怎料游戏运行在手机环境下的问题依然存在。

    从断线这条路线找下去没有头绪,只好换成从卡顿问题下手,用排除法把可能的逻辑代码注释调试,最后定位出了是因为代码中有些地方的console.log(...)日志记录非常耗时,有些地方光是因为加了这行代码就使逻辑执行时间慢了3秒,好了,问题找出来了就好办,最后采取的措施是:开发测试时因为是用浏览器以及微信开发工具模拟器调试,加上在模拟器上又不存在这种现象(其实是设备配置问题),所以程序员自己测试不加任何优化,如果是要上传微信体验包,就把console.log方法重写为一个空方法,这样,项目里每一句调用console.log()方法的地方实际不能使用正常的日志记录功能,仅仅是调用的一个空方法,这样改善之后,游戏跑在手机上就不存在这种问题了。

    展开全文
  • 2. 在公众号列表中, 开发者工具-》web开发工具-> 绑定开发者账号 -》输入你的微信号(微信号需关注公众号才可绑定),邀请绑定在微信客户端确认邀请即可 3. 在测试管理账号中, 网页授权获取用户基本信息  ...
  • webstorm开发微信小程序代码提醒(webstorm开发工具) 使用了微信提供的开发工具是真心难用,卡顿厉害、中英文切写注释换相当不爽、还没办法多开窗口,相信大家也遇到过这种现象。 下边我们介绍下webstorm来开发微信...
  • 微信开发者工具的快捷键
  •  Ctrl+[, Ctrl+]:代码行缩进  Ctrl+Shift+[, Ctrl+Shift+]:折叠打开代码块  Ctrl+C Ctrl+V:复制粘贴,如果没有选中任何文字则复制粘贴一行  Shift+Alt+F:代码格式化  Alt+Up,Alt+Down:上下移动一行...
  • Ctrl+S:保存文件Ctrl+[, Ctrl+]:代码行缩进Ctrl+Shift+[, Ctrl+Shift+]:折叠打开代码块Ctrl+C Ctrl+V:复制粘贴,如果没有选中任何文字则复制粘贴一行Shift+Alt+F:代码格式化Alt+Up,Alt+Down:上下移动一行...
  • 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学...
  • js的注释一般是双斜杠// 或者是/**/这样的快注释 .json是配置文件,其内容必须符合json格式内部不允许有注释。 JSON有两种数据结构: 名称/值对的集合:key : value样式; 值的有序列表:就是Array; 而...
  • 使用了微信提供的开发工具是真心难用,卡顿厉害、中英文切写注释换相当不爽、还没办法多开窗口,相信大家也遇到过这种现象。 下边我们介绍下webstorm来开发微信小程序的一些配置: File---settings点击出来以下...
  • 为了帮助开发者简单和高效地开发和调试微信小程序,我们在原有的公众号网页调试工具的基础上,推出了全新的微信开发者工具,集成了公众号网页调试和小程序调试两种开发模式。 使用公众号网页调试,开发者可以调试...
  • 对于微信开发而言,它和普通的web项目其实并没什么区别。微信项目也是web项目的一种,只不过它是在微信的内置的QQ浏览器里运行,更多的在手机端运行。微信本地开发,需要注意的就是调试与测试,因为页面要做手机端...
  • IDE界面最上面一行是工具栏,在此项目中主要用到的工具有模拟器、编辑器、调试器、云开发、编译预览。单击后即可显示/隐藏对应的模块,现在依次介绍各部分功能。 模拟器介绍 模拟器可以显示当前代码对应的预览界面...
  • Ctrl+F 查找 Ctrl +Shift +F 全局搜索 Ctrl+K+C 注释 Ctrl+K+U 取消注释 Shift+Alt+F 代码格式化 转载于:https://www.cnblogs.com/heyiping/p/11555318.html...
1 2 3 4 5 ... 20
收藏数 11,143
精华内容 4,457
关键字:

微信开发工具代码注释