精华内容
下载资源
问答
  • declare

    千次阅读 2018-05-24 18:39:19
    declare ticks=1 Example #1 <?php // 例子1 function doTicks () { echo 'Ticks'; } register_tick_function('doTicks'); declare(ticks = 1) { for ($x = 1; $x ...

    declare

    ticks=1

    Example #1

    <?php
        // 例子1
        function doTicks ()
        {
            echo 'Ticks';
        }
        register_tick_function('doTicks');
        declare(ticks = 1) {
            for ($x = 1; $x < 10; ++ $x) {
                echo $x .'<br />';
            }
        }
        // opout 
        // 1
        // Ticks2
        // Ticks3
        // Ticks4
        // Ticks5
        // Ticks6
        // Ticks7
        // Ticks8
        // Ticks9
        // TicksTicks
    ?>

    Example #2
    先定义declare 会先执行declare 当执行了语句的时候 还会执行一次declare (declare(ticks=1) 之前的代码不会生效)

     <?php   
        declare(ticks=1);
        // A function called on each tick event
        function tick_handler()
        {
            echo "tick_handler() called<br/>";
        }
        register_tick_function('tick_handler');
        $a = 1;
        if ($a > 0) {
            $a += 2;
            print($a);
        }
        // opout 
        // tick_handler() called
        // tick_handler() called
        // tick_handler() called
        // 3tick_handler() called
        // tick_handler() called
    ?>
    

    EXample #3 模仿declare

    <?php
        function bar_handler()
        {
          echo "bar_handler() called<br/>";
        }
    
        $a = 1;
        bar_handler();
    
        if ($a > 0) {
            $a += 2;
            bar_handler();
            print($a);
            bar_handler();
        }
        bar_handler();
        // opout 
        // bar_handler() called
        // bar_handler() called
        // 3bar_handler() called
        // bar_handler() called
    ?>

    Example #4 后调用 declare

    <?php
        function handler(){
            print "hello <br />";
        }
        register_tick_function("handler");
        declare(ticks=1){
            $b = 2;
        }
        // opout 
        // hello 
    ?>
    总结
    01、通过上面的例子可以知道。几乎就是执行一条语句、php就会自动调用 register_tick_function 的方法
    02、如果以declare(ticks=1)定义的、register_tick_function 则会先运行一次方法、结束的时候还会再调用一次 该方法
    03、以 declare(ticks=1){ $b = 2;}定义的、结束的时候会调用一次(与02不同的地方就是定义的时候不会调用)
    04declare 前面的语句都不会调用 register_tick_function 的方法
    declare(ricks = n) 的作用
    01、控制某段代码执行时间
    02、检查该进程是否有未处理过的信号
    
    
    01、控制某段代码的时间
    <?php
        declare(ticks=1);
        // 开始时间
        $time_start = time();
        // 检查是否已经超时
        function check_timeout(){
            // 开始时间
            global $time_start;
            // 5秒超时
            $timeout = 5;
            if(time()-$time_start > $timeout){
                exit("超时{$timeout}秒\n");
            }
        }
        // Zend引擎每执行一次低级语句就执行一下check_timeout
        register_tick_function('check_timeout');
        // 模拟一段耗时的业务逻辑
        while(1){
           $num = 1;
        }
        // 模拟一段耗时的业务逻辑,虽然是死循环,但是执行时间不会超过$timeout=5秒
        while(1){
           $num = 1;
        }
    ?>
    
    02、检查该进程是否有未处理过的信号
    <?php
        declare(ticks=1);
        pcntl_signal(SIGINT, function(){
           exit("Get signal SIGINT and exit\n");
        });
    
        echo "Ctl + c or run cmd : kill -SIGINT " . posix_getpid(). "\n" ;
    
        while(1){
          $num = 1;
        }
    ?>

    php7的新特性 declare(strict_types=1);

    强类型strict_types是从PHP7开始才引入的东西,默认不开启

    strict_types=1无非就是约束了参数和返回值的类型

    <?php
        declare(strict_types=1);
        function foo(int $num): int {
            return $num/2;
        }
        foo(1); //返回值类型错误
        foo(1.5); //参数类型错误
        foo(2); //正常
    
    ?>
    展开全文
  • DECLARE_DYNAMIC 和 DECLARE_DYNCREATE.pdf
  • TypeScript declare

    万次阅读 2020-03-26 12:55:51
    为了增加人性化程度,在IDE编写代码的时候,通常会有智能提示效果。 以VScode为例子,截图如下: 当键入document.... ...但是当编写jQuery或者其他一些库的代码时候,则...declare可以向TypeScript域中引入一个变量...

    为了增加人性化程度,在IDE编写代码的时候,通常会有智能提示效果。

    以VScode为例子,截图如下:

    a:3:{s:3:\"pic\";s:43:\"portal/201905/01/001707lakag6mdsg5cj6bl.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

    当键入document.的时候,会自动弹出可能的选项,这是VScode内置的功能。

    但是当编写jQuery或者其他一些库的代码时候,则没有类似的提示,非常的不方便。

    不过可以自定义或者使用已经定义好的d.ts文件来解决此问题。

    declare可以向TypeScript域中引入一个变量,在编写代码的时候就能够实现智能提示的功能。

    代码实例如下:

     

    [typescript] 纯文本查看 复制代码

    1

    declare function func(str: string): void;

    应用截图如下:

    a:3:{s:3:\"pic\";s:43:\"portal/201905/01/001810m7v3il4vlgl93l4s.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

    当输入func会出现智能提示效果;通常代码不是直接写在当前ts文件,而是集中在.d.ts文件,然后引入。

    下面给出一些常用的声明演示。

    一.声明变量:

     

     

    [typescript] 纯文本查看 复制代码

    1

    declare var ant:string

     

    上面声明一个字符串类型变量ant。

     

    [typescript] 纯文本查看 复制代码

    1

    declare const min:1

    上面声明一个常量min并赋值1。

    二.声明函数:

     

    [typescript] 纯文本查看 复制代码

    1

    declare function func(str:string):string

    声明一个传递string参数,返回值也是string类型的函数。

    三.声明class类:

     

     

    [typescript] 纯文本查看 复制代码

    1

    2

    3

    4

    5

    6

    7

    declare class Person {

      static maxAge: number //静态变量

      static getMaxAge(): number //静态方法

      

      constructor(name: string, age: number//构造函数

      getName(id: number): string

    }

     

    声明一个类,并且规定若干类成员的类型和访问修饰符等。

    四.声明命名空间:

     

    [typescript] 纯文本查看 复制代码

    1

    2

    3

    4

    declare namespace space {

      function func(str: string): string;

      let num: number;

    }

    声明一个命名空间,里面有一个函数成员和变量成员。

    五.混合类型:

    有些只可能不但是函数,而且又是类或者对象,比如jQuery:

     

    [JavaScript] 纯文本查看 复制代码

    1

    2

    3

    new $()

    $.ajax()

    $()

    代码实例如下:

     

    [typescript] 纯文本查看 复制代码

    1

    2

    3

    4

    declare function Minx(str:string): void

    declare namespace Minx{

      let num:number

    }

    六.模块化:

    很多时候需要通过require的方式引入模块化的代码:

    例如以下效果:

    a:3:{s:3:\"pic\";s:43:\"portal/201905/01/002109idxwj1qnfrrj40x3.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

    对应的写法如下:

     

    [typescript] 纯文本查看 复制代码

    1

    2

    3

    4

    5

    6

    7

    declare module "abcde" {

      export let a: number

      export function b(): number

      export namespace c{

        let cd: string

      }

     }

    非常的简单,不再多介绍。

    展开全文
  • MySQL declare语句用法介绍

    万次阅读 2013-10-11 10:12:05
    MySQLdeclare语句是我们经常用到的语句,下文就为您举例说明了MySQL declare语句的用法,希望对您学习MySQL declare语句的使用能有所帮助。 MySQL declare语句是在复合语句中声明变量的指令。 (1)Example with two...

    MySQL declare语句是我们经常用到的语句,下文就为您举例说明了MySQL declare语句的用法,希望对您学习MySQL declare语句的使用能有所帮助。

    MySQL declare语句是在复合语句中声明变量的指令。

    (1)Example with two DECLARE statements 
    两个DECLARE语句的实例

     
    1. CREATE PROCEDURE p8 ()   
    2. BEGIN   
    3. DECLARE a INT;   
    4. DECLARE b INT;   
    5. SET a = 5;   
    6. SET b = 5;   
    7. INSERT INTO t VALUES (a);   
    8. SELECT s1 * a FROM t WHERE s1 >= b;   
    9. END; // /* I won't CALL this */   

    在过程中定义的变量并不是真正的定义,你只是在BEGIN/END块内定义了而已(译注:也就是形参)。注意这些变量和会话变量不一样,不能使用修饰符@你必须清楚的在BEGIN/END块中声明变量和它们的类型。变量一旦声明,你就能在任何能使用会话变量、文字、列名的地方使用。

    (2)Example with no DEFAULT clause and SET statement 
    没有默认子句和设定语句的例子

     
    1. CREATE PROCEDURE p9 ()   
    2. BEGIN   
    3. DECLARE a INT /* there is no DEFAULT clause */;   
    4. DECLARE b INT /* there is no DEFAULT clause */;   
    5. SET a = 5; /* there is a SET statement */   
    6. SET b = 5; /* there is a SET statement */   
    7. INSERT INTO t VALUES (a);   
    8. SELECT s1 * a FROM t WHERE s1 >= b;   
    9. END; // /* I won't CALL this */   

    有很多初始化变量的方法。如果没有默认的子句,那么变量的初始值为NULL。你可以在任何时候使用SET语句给变量赋值。

    (3)Example with DEFAULT clause 
    含有DEFAULT子句的例子

     
    1. CREATE PROCEDURE p10 ()   
    2. BEGIN   
    3. DECLARE a, b INT DEFAULT 5;   
    4. INSERT INTO t VALUES (a);   
    5. SELECT s1 * a FROM t WHERE s1 >= b;   
    6. END; //   

    我们在这里做了一些改变,但是结果还是一样的。在这里使用了DEFAULT子句来设定初始值,这就不需要把DECLARE和SET语句的实现分开了。 

    (4)Example of CALL 
    调用的例子

     
    1. mysql> CALL p10() //   
    2. +--------+   
    3. | s1 * a |   
    4. +--------+   
    5. | 25 |   
    6. | 25 |   
    7. +--------+   
    8. 2 rows in set (0.00 sec)   
    9. Query OK, 0 rows affected (0.00 sec)   

    结果显示了过程能正常工作

    (5) Scope 
    作用域

     
    1. CREATE PROCEDURE p11 ()   
    2. BEGIN   
    3. DECLARE x1 CHAR(5) DEFAULT 'outer';   
    4. BEGIN   
    5. DECLARE x1 CHAR(5) DEFAULT 'inner';   
    6. SELECT x1;   
    7. END;   
    8. SELECT x1;   
    9. END; //   
    展开全文
  • Linux declare命令 Linux declare命令用于声明 shell 变量。 declare为shell指令,在第一种语法中可用来声明变量并设置变量的属性([rix]即为变量的属性),在第二种语法中可用来显示shell函数。若不加上任何参数,则...
  • declare用法

    2019-09-25 13:13:57
    IF 1=1 BEGIN DECLARE @test VARCHAR SET @test='1' PRINT 'in if:'+@test END GO PRINT 'out if:'+@test IF 1=1 BEGIN DECLARE @test VARCHAR SET @test='1' PRIN...

    IF 1=1 BEGIN DECLARE @test VARCHAR SET @test='1' PRINT 'in if:'+@test END GO PRINT 'out if:'+@test IF 1=1 BEGIN DECLARE @test VARCHAR SET @test='1' PRINT 'in if:'+@test END PRINT 'out if:'+@test
    进行比较之后,可知
    declare变量的作用域是所在的批处理,if阻断不了它的作用域,那上面我们的代码if内外的代码都在一个批处理中,所以@test都是可用的且if里面设置的值还在。
    GO就是用于一个sql语句的结束
     
     

     

    转载于:https://www.cnblogs.com/shanshuiYiCheng/p/11542192.html

    展开全文
  • declare命令

    千次阅读 2017-05-10 00:47:09
    Linux declare命令用于声明 shell 变量。 declare为shell指令,在第一种语法中可用来声明变量并设置变量的属性([rix]即为变量的属性),在第二种语法中可用来显示shell函数。若不加上任何参数,则会显示全部的shell...
  • Declare 语句

    千次阅读 2018-03-01 13:56:05
    原文:http://blog.csdn.net/u014050788/article/details/50363881本文是看了网上很多零碎的知识点总结而成...语法 1[Public | Private] Declare Sub name Lib "libname" [Alias "aliasnam...
  • linux declare

    2015-07-13 18:25:10
    declare或typeset内建命令(它们是完全相同的)可以用来限定变量的属性.这是在某些编程语言中使用的定义类型不严格的方式。命令declare是bash版本2之后才有的。命令typeset也可以在ksh脚本中运行。 declare/typeset...
  • 主要介绍了PHP7标量类型declare用法,结合实例形式分析了PHP7中标量类型declare的功能、特性与相关使用技巧,需要的朋友可以参考下
  • DECLARE SQLCODE INT DEFAULT 0.pdf
  • SQL中的declare用法 平时写SQL查询、存储过程都是凭着感觉来,没有探究过SQL的具体语法,一直都是按c#那一套往SQL上模仿,前几天项目中碰到一个问题引起了我对declare定义变量的作用域的兴趣。 大家都知道c#中的局部...
  • 1.DECLARE语句 DECLARE语句是数据声明语句,主要作用是声明局部变量、函数、存储过程或游标变量等; 基本语法格式: DECLARE { { @local_variable [AS] data_type } | [= value] } [,…n] @local_variable即变量的...
  • shell declare命令

    2018-01-30 13:13:45
    declare于typeset功能是相同的 常见参数以及用法: declare -p 显示所有变量的值 declare var=value 声明变量并复制 declare -p var 显示指定变量var的值 declare -i var 将变量定义成为整数。在这之后就...
  • Declare 用法

    千次阅读 2014-03-20 22:05:30
    declare命令是bash的一个内建命令,它可以用来声明shell变量,设置变量的属性(Declare variables and/or give them attributes)。该命令也可以写作typeset。虽然人们很少使用这个命令,如果知道了它的一些用法,就...
  • DECLARE_DYNAMIC 表示可以运行时识别该类 DECLARE_DYNCREATE 包含了DECLARE_DYNAMIC的功能,并且可以在运行过程中动态创建对象。如果需要动态创建类对象,需要使用这个宏定义。   DECLARE_DYNCREAT定义...
  • <br />DECLARE_DYNAMIC : 对应得类可以用RUNTIME_CLASS宏得到一个CRuntimeClass结构,可以用IsKindof判断其类型,类似于typeof  <br /> DECLARE_DYNCREATE:表示这个类可以用上面那个...
  • declare命令用法

    2016-09-23 14:50:10
    只需要掌握declare -i 就可以了 declare就是这么666
  • Q_DECLARE_PRIVATE与Q_DECLARE_PUBLIChttps://blog.csdn.net/liyong2688/article/details/7176722 Qt QObjecthttps://www.cnblogs.com/Braveliu/p/5132349.html D指针...
  • DECLARE_DYNAMIC/DECLARE_DYNCREATE/DECLARE_SERIALDECLARE_DYNAMIC支持运行时类型识别,DECLARE_DYNCREATE支持动态创建,DECLARE_SERIAL支持串行化。 DECLARE_DYNAMIC表明的是支持类型信息,有了这个宏,我们就可以...
  • php declare 的语法详解

    千次阅读 2019-03-07 18:38:52
    declare ¶ (PHP 4, PHP 5, PHP 7) declare构造用于为代码块设置执行指令。 declare的语法类似于其他流控制结构的语法: declare (directive) statement directive 部分允许设定 declare 代码段的行为。目前只...
  • winapi vb declare

    2011-07-02 22:45:17
    winsows api vb declare,可用于vba调用windows API
  • Android declare-styleable自定义控件属性.pdf
  • DECLARE_DYNCREATE与DECLARE_DYNAMIC区别

    千次阅读 2013-08-13 13:28:47
    DECLARE_DYNAMIC 表示可以运行时识别该类 DECLARE_DYNCREATE 包含了DECLARE_DYNAMIC的功能,并且可以在运行过程中动态创建对象。如果需要动态创建类对象,需要使用这个宏定义。   DECLARE_DYNCREAT定义如下: ...
  • IMPLEMENT_DYNAMIC是实现“运行时类型识别”宏,与之相对应的是DECLARE_DYNAMIC(声明“运行时类型识别”宏)。也就是说你在.CPP文件中如果看见有IMPLEMENT_DYNAMIC,则在.H文件中必定有DECLARE_DYNAMIC的声明。 ...
  • declare 结构用来设定一段代码的执行指令,它的语法结构如下:复制代码 代码如下:declare (directive)statement 不懂?通俗解释如下:declare是PHP的流程控制结构,directive目前支持两个指令【ticks和encoding】,...
  • mysql declare 语法问题

    2017-09-13 13:11:08
    declare myparam int default 100; 报错ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'declare ...
  • 主要介绍了mysql存储过程之游标(DECLARE)原理与用法,结合实例形式详细分析了mysql存储过程游标(DECLARE)的基本功能、原理、使用方法及操作注意事项,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 395,178
精华内容 158,071
关键字:

declare