php traits的作用有哪些?_后端开发

php traits的作用有哪些?_后端开发,第1张

php中MySQL、MySQLi、PDO的区别有哪些?_后端开发

php中MySQL、MySQLi、PDO的区别有:1、mysql是非持继连接函数而mysqli是永远连接函数;2、mysqli是php5提供的新函数库,【i】表示改进,其执行速度更快,更安全;3、PDO支持更高级的DB特性 *** 作。


php traits的作用是针对php这样的单继承语言设计的,旨在让开发者很方便的在不同继承体系的多个类之间公用一系列方法,以减少单继承带来的局限性。


php traits的作用有哪些?_后端开发,第2张

Traits是针对php这样的单继承语言设计的。


旨在让开发者很方便的在不同继承体系的多个类之间公用一系列方法,以减少单继承带来的局限性。


Traits和class的结合,避免了多继承带来的一些列问题。


使用

首先看下官方文档给出的例子:

<?php
trait ezcReflectionReturnInfo {
    function getReturnType() { /*1*/ }
    function getReturnDescription() { /*2*/ }
}
class ezcReflectionMethod extends ReflectionMethod {
    use ezcReflectionReturnInfo;
    /* ... */
}
class ezcReflectionFunction extends ReflectionFunction {
    use ezcReflectionReturnInfo;
    /* ... */
}
?>

从上面的例子可以看出,特性集ezcReflectionReturnInfo包含了两个方法:getReturnTypegetReturnDescription,而下面的两个子类分别继承自不同的父类,却可以通过use ezcReflectionReturnInfo来复用这两个方法。


简单方便。


相关学习推荐:PHP编程从入门到精通

注意事项

PHP扩展的安装路径怎么查看?_后端开发

查看PHP扩展安装路径的方法:首先连接相应的zdlinux主机,输入Linux命令行;然后在Linux命令行下,输入shell命令【find/-name*PHP*】;最后按“enter”运行shell命令即可。


  • 如果子类、父类、use的traits中存在重名方法,那么这三个方法的优先级为:子类 > tratis > 父类;

  • 可以同时use多个traits,但不可use重名的traits;

  • 如果use的多个traits中存在方法名冲突,可以使用指定某个方法来自于某个tratis。


    例如:

<?php
trait A {
    public function smallTalk() {
        echo 'a';
    }
    public function bigTalk() {
        echo 'A';
    }
}
trait B {
    public function smallTalk() {
        echo 'b';
    }
    public function bigTalk() {
        echo 'B';
    }
}
class Talker {
    use A, B {
        B::smallTalk insteadof A;
        A::bigTalk insteadof B;
    }
}
  • 方法可以使用as来设置别称,但只在该类有效。


class Aliased_Talker {
    use A, B {
        B::smallTalk insteadof A;
        A::bigTalk insteadof B;
        B::bigTalk as talk;
    }
}
  • 使用as的时候,还可以改变方法的可见性。


class MyClass2 {
    use HelloWorld { sayHello as private myPrivateHello; }
}
  • traits可以嵌套,例如A可以use B。


<?php
trait Hello {
    public function sayHello() {
        echo 'Hello ';
    }
}
trait World {
    public function sayWorld() {
        echo 'World!';
    }
}
trait HelloWorld {
    use Hello, World;
}
  • traits中可以定义abstract方法,同样的,use该traits的class,也需要实现这些abstract的方法;

  • traits中可以定义常规变量、静态的变量和方法;

以上就是php traits的作用有哪些?的详细内容,更多请关注ki4网其它相关文章!

c++标识符命名规则_后端开发

c++标识符命名规则:1、标识符由字母、数字和下划线组成;2、不能把c++关键字作为标识符;3、标识符长度限制32个字符;4、标识符对大小写敏感;5、首字母只能是字母或下划线,不能是数字。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/561223.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020-07-01
下一篇 2020-07-01

发表评论

登录后才能评论

评论列表(0条)

保存