gpt4 book ai didi

PHP:什么时候在类上使用命名空间来分组?

转载 作者:行者123 更新时间:2023-12-04 16:51:28 24 4
gpt4 key购买 nike

我开始使用命名空间,但我很难理解何时使用它们。

  • 我想对“辅助方法”进行分组
  • 我不希望扩展这个组(不是真正的一个类)
  • 我想我想改变一个变量实例

  • 这是我遇到的情况的一个例子:
    $date = ''; // variable to be used in all methods

    function get_sports_data() {
    get_sports_data_yahoo();
    get_sports_data_google();
    get_sports_data_bing();
    }
    function get_sports_data_yahoo() {} // uses $date
    function get_sports_data_google() {} // uses $date
    function get_sports_data_bing() {} // uses $date

    我不希望单独使用辅助函数。
  • 最好使用名为 get_sports_data 的命名空间吗?使用 yahoo、google 和 bing 的方法?
  • 将日期设置为对象的实例是否正确,还是通过每个方法传递变量会更好?

  • 我问了PHP聊天,但我认为他们很忙。

    最佳答案

    在对应用程序的其余部分一无所知的情况下,很难说出你需要什么,但我最初的想法是你可能有三个类和一个接口(interface)......

  • 接口(interface)DataProvider定义了getSportsData的输入输出
  • 然后类实现该接口(interface):
  • 雅虎数据提供商
  • BingDataProvider
  • GoogleDataProvider

  • 这似乎有点矫枉过正,但既然你问的是面向对象的设计,那将是我自然的起点。

    命名空间主要用于在组成一致的模块或库时将类和接口(interface)组合在一起。通常这样做是为了人们可以使用多个库而不必担心名称冲突。

    IE。每组名称都有自己的空间,它们永远不会相互碰撞。

    可能是您决定给这些命名空间,但可能只有当它们提供您认为可能想在其他地方使用或公开使用的一大块功能时。

    关于PHP:什么时候在类上使用命名空间来分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20106385/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com