当前位置: 首页 > 编程笔记 >

PHP 特征来保持类的整洁

卫皓
2023-03-14
本文向大家介绍PHP 特征来保持类的整洁,包括了PHP 特征来保持类的整洁的使用技巧和注意事项,需要的朋友参考一下

示例

随着时间的流逝,我们的类可能会实现越来越多的接口。当这些接口具有许多方法时,我们类中的方法总数将变得非常大。

例如,假设我们有两个接口和一个实现它们的类:

interface Printable {
    public function print();   
    //其他界面方法...
}

interface Cacheable {
    //接口方法
}

class Article implements Cachable, Printable {  
    //在这里,我们必须实现所有接口方法
    public function print(){ {
        /* code to print the article */ 
    }
}

代替在Article类中实现所有接口方法,我们可以使用单独的Traits来实现这些接口,从而使类保持较小,并将接口实现的代码与类分开。

通过示例,要实现Printable接口,我们可以创建以下特征:

trait PrintableArticle {
    //在这里实现接口方法
    public function print() {
        /* code to print the article */ 
    }
}

并让类使用特征:

class Article implements Cachable, Printable {
    use PrintableArticle;
    use CacheableArticle; 
}

主要的好处是我们的接口实现方法将与该类的其余部分分离,并存储在一个特征中,该特征负责为该特定类型的对象实现接口。

 类似资料:
  • 我希望有一个类型特征,对于任何在使用前不需要内存初始化的类型返回true,并且其复制构造函数可以作为memcpy实现。 我想让它回到真实 < li >整数类型(char、short int、int、long int等) < li >浮点数类型(float,double) < li>il::array (il::array是我自己对std::array的实现)for T是int、double、il:

  • 将跟踪和跨度添加到Slf4J MDC,以便您可以从日志聚合器中的给定跟踪或跨度中提取所有日志。示例日志: 2016-02-02 15:30:57.902 INFO [bar,6bfd228dc00d216b,6bfd228dc00d216b,false] 23030 --- [nio-8081-exec-3] ... 2016-02-02 15:30:58.372 ERROR [bar,6bfd

  • 反缓存 anticache设置该选项后,它将删除可能引起服务器响应的Header(if-none-match和if-modified-since)304 not modified。当您要确保完全捕获HTTP交换时,这很有用。当您要确保服务器以完整的数据响应时,也经常在客户端重播期间使用它。 客户端重播 客户端重播可以做到:您提供了一个以前保存的HTTP对话,而mitmproxy则一个接一个地重播了

  • 是否有可能(通过宏、某种形状的automagic或其他方式)获得封闭特征的子类列表: 在编译时 在运行时

  • 这个例子展示了如何使用 scikit-learn 中的单词包方法,根据主题对文档进行分类。本例使用scipy.sparse中的矩阵来存储特征,并演示各种能够有效处理稀疏矩阵的分类器。 本例中使用的数据集是20条新闻组数据集。通过scikit-learn可以自动下载该数据集,并进行缓存。 下述条形图展示了各个不同分类器,其信息包括精度、训练时间(已归一化)和测试时间(已归一化)。 import lo