精华内容
下载资源
问答
  • PHP中use的使用方法

    万次阅读 2018-01-30 09:38:12
    最近一段时间在研究php框架,一直想什么时候才能开发出自己框架,当然这是为了提升自己编程水平,同时能把平时学零散东西糅合在一块熟练应用。但是开发一个框架根本不知道如何做起,先开发什么,虽然php...

    最近一段时间在研究php框架,一直想的什么时候才能开发出自己的框架,当然这是为了提升自己的编程水平,同时能把平时学的零散的东西糅合在一块熟练应用。但是开发一个框架根本不知道如何做起,先开发什么,虽然php的框架也不少,但是都是如何应用,没有文档和视频可以学习,这是让我特别郁闷的事情,相信不少想自己开发框架玩的小伙伴都有类似的感受,郁闷归郁闷,自己还是动手做了,做的时候困难和想象的一样难,从一开始就有点蒙了。

      那就是命名空间的使用及use引入。看了很多网上的说法,也看了官方文档,意思大概明白,也很好理解,命名空间还好说,给这个空间起个名字嘛,但是use具体操作起来就不行 了,怎么也搞不通。后来看一个yii学习视频才恍然明白。

      比方说建三个文件。

      第一个文件 A.php,里边有两个类,命名空间是 a\b\c;

    <?php
    namespace a\b\c;
    
    class Apply{
      function get_info(){
        echo 'this is A Apply';
      }
    }
    
    class C{
      function info(){
        echo 'this is info';
      }
    }

      第二个文件 B.php 命名空间 a\b\d;

    <?php
    namespace a\b\d;
    
    class Apply{
      function get_info(){
        echo 'this is B Apply';
      }
    }

      第三个文件 index.php ,用来使用上边两个文件的类。

      比方说我们现在想实例化A.php里的类,该怎么实现呢?

    首先要包含这个文件 require_once(‘A.php’);

    然后 use a\b\c;? 还是a\b\c\A? 起初我也是这么认为的。其实这是错的,use应该是这样的,命名空间\这个空间下你要实例化类的类名。比方说我们要实例化 A.php里的Apply类,那么 use a\b\c\Apply; 这就相当于引入这个类,接下来再 new Apply();调用里边的方法,跟平常是一样的。如果要实例化类C,就 use a\b\c\C;

      注意:use不等于require_once或者include,use的前提是已经把文件包含进当前文件。

    顺便提一句,在MVC模式中,类名和文件名是相同的,所以use的时候会让不了解的人以为use后面跟的是文件名,我之前就这么以为的。其实use的还是类名。

    有的人可能问了,那我不同的命名空间下,有相同的类名,在同一个文件中使用怎么办?比方说我们上边的index.php,把A.php和B.php都包含进来,然后new Apply();这个时候是会报错的,解决方案就是起别名,比方说 use a\b\d\Apply as b; 此时我们new 的时候不应该写成 new Apply();而是new b();这样就不会发生冲突了。

    转自https://www.cnblogs.com/zhb-php/p/5040594.html

    展开全文
  • [PHP] 关键字 use 的使用方法

    千次阅读 2018-09-15 14:35:59
     顺便提一句,在MVC模式中,类名和文件名是相同的,所以use的时候会让不了解的人以为use后面跟的是文件名,我之前就这么以为的。其实use的还是类名。  有的人可能问了,那我不同的命名空间下,有相同的类名,在...

      比方说建三个文件。

    - 第一个文件 A.php,里边有两个类,命名空间是 a\b\c;

    <?php
    namespace a\b\c;
    
    class Apply{
      function get_info(){
        echo 'this is A Apply';
      }
    }
    
    class C{
      function info(){
        echo 'this is info';
      }
    }

         

      - 第二个文件 B.php 命名空间 a\b\d;

    <?php
    namespace a\b\d;
    
    class Apply{
      function get_info(){
        echo 'this is B Apply';
      }
    }
    
    - 第三个文件 index.php ,用来使用上边两个文件的类。
    

      比方说我们现在想实例化A.php里的类,该怎么实现呢?

            首先要包含这个文件 require_once(‘A.php’);

            然后 use a\b\c;? 还是a\b\c\A? 起初我也是这么认为的。其实这是错的,use应该是这样的,命名空间\这个空间下你要实例化类的类名。比方说我们要实例化 A.php里的Apply类,那么 use a\b\c\Apply; 这就相当于引入这个类,接下来再 new Apply();调用里边的方法,跟平常是一样的。如果要实例化类C,就 use a\b\c\C;

      注意:use不等于require_once或者include,use的前提是已经把文件包含进当前文件。

           顺便提一句,在MVC模式中,类名和文件名是相同的,所以use的时候会让不了解的人以为use后面跟的是文件名,我之前就这么以为的。其实use的还是类名。

           有的人可能问了,那我不同的命名空间下,有相同的类名,在同一个文件中使用怎么办?比方说我们上边的index.php,把A.php和B.php都包含进来,然后new Apply();这个时候是会报错的,解决方案就是起别名:

            比方说 use a\b\d\Apply as b; 此时我们new 的时候不应该写成 new Apply();而是new b();这样就不会发生冲突了。

     

    【转自https://www.cnblogs.com/zhb-php/p/5040594.html】感谢博主的总结 ^ ^

    展开全文
  • 使用引用&和不使用引用就代表了是调用时赋值,还是申明时候赋值,区别在于调用时赋值,会因为引用变量改变而获取最新值,申明时赋值是使用时最近一个变量值 $result = 0; $one = function() { var_...
    use意思是连接闭包和外界变量
    使用引用&和不使用引用就代表了是调用时赋值,还是申明时候赋值,区别在于调用时赋值,会因为引用变量的改变而获取最新的值,申明时赋值是使用时最近的一个变量的值
    
    
    $result = 0;
    
    $one = function()
    { var_dump($result); };
    
    $two = function() use ($result)
    { var_dump($result); };
    
    $three = function() use (&$result)
    { var_dump($result); };
    
    $fore = function($result)
    { var_dump($result); };
    
    $result++;
    
    $one();    // outputs NULL: $result is not in scope
    $two();    // outputs int(0): $result was copied
    $three();    // outputs int(1)
    $fore($result);    // outputs int(1)
    exit;
    展开全文
  • 本文目的不在于阐述命名空间的语法,而在于演示命名空间的使用方法,或者说是使用命名空间的小窍门。 命名空间可以简单的将一些命名(name)用另一个命名打包封装起来。比方说: 1.namespace net { 2.class Socket...

    Use Namesapce 使用方法简介

    命名空间(namespace)在C++中的作用非同一般。本文目的不在于阐述命名空间的语法,而在于演示命名空间的使用方法,或者说是使用命名空间的小窍门。

    命名空间可以简单的将一些命名(name)用另一个命名打包封装起来。比方说:

    1.namespace net {

    2.class Socket {

    3....

    4.};

    5.}

    6....

    7.net::Socket socket;

    经过这样的封装以后,如果在两个库(library)都实现了Socket类,只要它们命名空间的名字不同,你就可以同时使用它们而没有任何命名上的冲突。

    但这样做还是有问题:假如两个公司都要写一个network库,那么当她们编写代码的时候都使用Socket命名他们的类的可能性有多大?我猜是接近100%。

    命名空间的名字最好是方便输入的,就是说命名空间的名字最好别太长了,2-4个字符就可以了。抱着这样的想法,那两个公司把他们的命名空间叫做net的机会又是多大呢?5%还是10%?

    不难看出,命名空间并没有解决所有问题,它只是使发生命名冲突的机会相对小了而已。

    有一种叫做“工业化长度”的方法(Industrial Strength Solution),这种方法在命名namespace的时候使用长的唯一的名称,而在程序里使用短的别名。如此network库就可能会是这个样子:

    1.namespace net_33843894 {

    2.class Socket {

    3....

    4.};

    5.}

    net_后面的数字是由一个随机数产生器产生的。为了以后描述方便,这里我们假定上面的代码是放在头文件里。

    用户使用我们的库的时候,就要编写他自己的头文件,包含下面的内容:

    1.#include < netlib >

    2.namespace net = net_33843894;

    他创建了一个在本工程内有效的别名,用来代表提供给他的库中的命名空间。如果名称net已经被别的库使用了,那么他还可以另选一个名字代替,例如:net2,sock,或者别的什么。

    这样就万事大吉了么?还没有。你还要做一件事:使你的库用起来更简单、更方便。在这个讲究完美的社会里,人们双击一个安装文件后,你的库在他们的开发环境里就应该是可用的,接下来就是#include ,再接下来他们就可以去忙别的了。

    然而,现在的情况是,用户为了使用你的库需要创建一个他自己的头文件,虽然这并没有什么大不了的,但不是每个用户都能忍受这一点。解决的方法就是直接提供一个合理的缺省值,如果用户觉得不合适也可以取消,所以,在你的头文件里使用预编译选项,如下:

    01.namespace net_33843894 {

    02.class Socket {

    03....

    04.};

    05.}

    06. 

    07.#ifndef NO_NET_33843894_ALIAS

    08.namespace net = net_33843894;

    09.#endif

    这样我们就给命名空间的名字提供了一个缺省值,如果这个名字已经有人用了,那么用户可以定义一个NO_NET_33843894_ALIAS宏,别名就会被取消。

    不幸的是,即使是使用了短的别名net,当你使用Socket类的方法不对的时候,在我所用过的编译器中,没有一个能够在错误提示信息里显示的短的别名,而是仍然使用net_33843894::Socket。读起来有些费劲。

    怎么办?看我的。

    01.#ifdef NO_NET_33843894_ALIAS

    02.namespace net_33843894 {

    03.#else

    04.namespace net {

    05.#endif

    06.class Socket {

    07....

    08.};

    09.}

    10. 

    11.#ifndef NO_NET_33843894_ALIAS

    12.namespace net_33843894 = net;

    13.#endif

    如果没有定义宏NO_NET_33843894_ALIAS, 就直接给命名空间起个短一点的名字,把别名弄长点就可以了。这样,错误信息读起来就会顺眼多了。

     

     

    展开全文
  • net use使用方法

    2020-06-20 17:46:38
    net use * /del /y---解决访问共享时提示多重连接问题 解决不允许一个用户使用一个以上用户名与一个服务器或共享资源多重连接 用net use命令可以查看你当前与网络资源连接,例如驱动器映射、IPC连接。使用该...
  • vue[use()方法的使用与含义]
  • layui.use 中如何正确使用自定义方法 今天朋友遇到一个问题,在layui中自定义的方法竟然提示未定义!!! what 明明代码写某得问题 为什么会错?(方法通过点击事件触发) 代码: 错误提示: 问题是没有找到...
  • 下面小编就为大家分享一篇使用use注册Vue全局组件和全局指令的方法,具有很好参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 在做 vue 开发时候大家一定经常接触 Vue.use() 方法,官网给出解释是: 通过全局方法 Vue.use() 使用插件;我觉得把使用理解成注册更合适一些,首先看下面常见注册场景。 import Router from 'vue-router' ...
  • 想要在layui.use()外部使用layui.use()内部方法的解决方案 需求:在layui.use()模块外部,调用layui.use()内部的方法。 在layui.use()外部自定义function(),无法调用layui.use()模块内部的方法,所以直接在layui....
  • 今天小编就为大家分享一篇layui.use模块外部使用其内部定义js封装函数方法,具有很好参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • publicfunctionbuyerAlreadybrand(){$effect=Request::get('effect');$data=$this->brand->where(function($query)use($effect){if($effect==-1){return...
  • 在做 vue 开发时候大家一定经常接触 Vue.use() 方法,官网给出解释是: 通过全局方法 Vue.use() 使用插件;我觉得把使用理解成注册更合适一些,首先看下面常见注册场景。 import Router from 'vue-router' Vue....
  • net use使用方法(相当实用)

    万次阅读 2014-01-15 10:53:03
    net use 使用方法 网络技术交流 2009-10-26 18:13:59 阅读511 评论0 字号:大中小 建立到远程主机连接 net use \\ip\ipc$ "password" /user:"username" 建立新用户 net user username password /add ...
  • php闭包(Closure)也就是匿名函数。是PHP5.3引入。...闭包语法很简单,需要注意关键字就只有useuse意思是连接闭包和外界变量。 1 2 3 [php] view plain copy $a =function()use($b) ...
  • 1、require、include require、include都是文件包含,不同是require语句会输出错误信息,并且立即终止脚本处理。而include语句在没有找到文件时则会输出警告,不会终止脚本...use完全不同于require或者include,...
  • app.use([path,] function [, function…]) 在path上安装中间件,如果path没有被设定,那么默认为”/”。 当为路由设置一个匹配路径后,路由会匹配该路径及该路径下所有路径。例如:app.use(‘/apple’, …)会...
  • 使用vue.use() api.js 我在学习使用的过程中,都实现了数据调用 想知道这两者区别 首先,不管你采用哪种方式,最终实现调用方式都是 vm.api() 也就是说,两种方法,实现原理都...
  • 使用vue过程中,可能会把某个组件封装起来,供其他页面有相同需求时可以直接导入使用,不需要再重写一遍,提高效率,避免代码冗余 平时我们会如何使用ui组件库呢? 以ElementUI为例: 1。安装 npm i element-...
  • 本篇文章主要介绍了vue自定义全局组件并通过全局方法 Vue.use() 使用该组件,具有一定参考价值,感兴趣小伙伴们可以参考一下简介Vue.use( plugin ):安装 Vue.js 插件。如果插件是一个对象,必须提供 install ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,153
精华内容 4,061
关键字:

use的使用方法