zoukankan      html  css  js  c++  java
  • PHP基础--traits的应用

    Traits 在PHP中实现在方法的重复使用;Traits与Class相似,但是它能够在Class中使用自己的方法而不用继承;

    Traits在Class中优先于原Class中的方法,引用PHP Document中的例子:

    <?php
    class Base {
        public function sayHello() {
            echo 'Hello ';
        }
    }
    
    trait SayWorld {
        public function sayHello() {
            parent::sayHello();
            echo 'World!';
        }
    }
    
    class MyHelloWorld extends Base {
        use SayWorld;
    }
    
    $o = new MyHelloWorld();
    $o->sayHello();
    ?> 
    

     以上输出结果为:

    Hello World!
    

    Traits按顺序原则,被覆盖的例子:

    <?php
    trait HelloWorld {
        public function sayHello() {
            echo 'Hello World!';
        }
    }
    
    class TheWorldIsNotEnough {
        use HelloWorld;
        public function sayHello() {
            echo 'Hello Universe!';
        }
    }
    
    $o = new TheWorldIsNotEnough();
    $o->sayHello();
    ?> 

    输出结果为:

    Hello Universe!

     Traits在Class中的应用,同样以PHP Document为例:

    <?php
    trait Hello {
        public function sayHello() {
            echo 'Hello ';
        }
    }
    
    trait World {
        public function sayWorld() {
            echo 'World';
        }
    }
    
    class MyHelloWorld {
        use Hello, World;
        public function sayExclamationMark() {
            echo '!';
        }
    }
    
    $o = new MyHelloWorld();
    $o->sayHello();
    $o->sayWorld();
    $o->sayExclamationMark();
    ?> 

    输出结果为:

    Hello World!
  • 相关阅读:
    mariadb数据库galera群集配置
    视频降噪处理
    测试
    WPF RichTextBox
    WPF ListBox
    WPF SelectedIndex
    项目-答题
    Show 或者 ShowDialog时出现的错误
    项目-数据库实体生成器
    Alfred 使用教程
  • 原文地址:https://www.cnblogs.com/anlia/p/5920299.html
Copyright © 2011-2022 走看看