PHP(几个问题)OO、重构、eclipse

PHP(几个问题)OO、重构、eclipse,php,eclipse,eclipse-plugin,Php,Eclipse,Eclipse Plugin,我在eclipse中使用PHP。它工作正常,我可以连接到我的远程站点,有颜色编码的代码元素和一些代码提示 我意识到这可能太长了,无法回答所有的问题,如果你对其中一个部分有一个好的答案,只回答就可以了 首先是一般编码 我发现这很容易做到 松散跟踪包含的文件和 他们的变量。例如,如果 这是一个数据库$cursor 很难记住甚至不知道 它是在包括在内的文件中声明的 文件(这会变得更糟) 包括更多文件)。你好吗 处理这件事的人 人们如何记录他们的行为 代码-尤其是所需的 获取和发布数据 第二个OO开发:

我在eclipse中使用PHP。它工作正常,我可以连接到我的远程站点,有颜色编码的代码元素和一些代码提示

我意识到这可能太长了,无法回答所有的问题,如果你对其中一个部分有一个好的答案,只回答就可以了

首先是一般编码

  • 我发现这很容易做到 松散跟踪包含的文件和 他们的变量。例如,如果 这是一个数据库$cursor 很难记住甚至不知道 它是在包括在内的文件中声明的 文件(这会变得更糟) 包括更多文件)。你好吗 处理这件事的人

  • 人们如何记录他们的行为 代码-尤其是所需的 获取和发布数据

  • 第二个OO开发:

  • 我应该在我的生活中充满OO吗 发展。目前我有一个 函数库,我可以 包含并分隔了每个 将“任务”保存到单独的文件中。这是一个 虽然有点恶心,但它很管用

  • 如果我去OO,我该如何构造 PHP中的目录,java使用 软件包-php呢

  • 我应该如何命名我的文件 使用带u的所有小写字母表示空格 “hello_world.php”?我应该说出你的名字吗 具有类似于Java的大写字母的类 “HelloWorld.php”?有没有 不同的命名约定 类和常规函数文件

  • 第三次重构

  • 我必须说这真的很痛苦。如果 我在中更改变量的名称 有一个地方我必须经历整个过程 文档和包含的每个文件 删除此文件并更改其名称 也当然,错误无处不在 是什么结果。人们好吗 处理这个问题?在爪哇 如果你在一个地方改了名字 到处都在变

  • 有什么可以改进php的插件吗 重构?我正在使用 Eclipse的官方PHP版本 他们的网站


  • 感谢您提供OO开发部分:

    我使用自动加载功能动态加载类。我的目录结构类似于java中的包。我的类在java中命名为like(例如HelloWorld.php)。但是该类是用该类的完整路径定义的(例如类FW_package1_package2_HelloWorld{…})

    如果调用一个类,则自动加载方法将替换所有的uu反对/并使用提取的路径(例如FW/package1/package2/HelloWorld.php)搜索该类


    我深受Java的影响,所以我选择了这种方式

    我发现使用PHP框架(如等)可以强制类结构和命名约定,同时通常也可以解决自动加载问题。大量使用格式有助于代码的完成和提示,以及记录特定的要求(例如方法定义)。

    首先是一般编码

    1) OO可以帮你。当您封装变量和功能时,它们不会出现在名称空间中。假设我正确理解您暗示的问题,使用OO方法有助于缓解在无意中重新定义变量时可能出现的冲突。(注:缓解。不能完全自行预防。) 否则,我遇到的一种做法是在变量名前加上类似“包名”的东西——这只会将问题向上转移一个层次,而且也不是非常漂亮|

    2) “无论如何都符合他们的目的”。PHPdoc是一个良好的开端;将有助于创建API文档

    第二,面向对象开发:

    3) 如前所述——“视情况而定”。需要的时候做。你不必为“hello world”写满OO。但是你可以。权衡两条路线的成本和收益,明智地选择。尽管我个人想建议,当有疑问时,支持OOP而不是“非结构化”方法。基本上,知道你的工具以及何时使用它们——然后你就可以轻松地自己打电话了。:)

    4) 就我所见,目录“结构类似于包”。请注意,“目录”和“喜欢”。尽管如此,各种各样的框架已经为他们自己解决了这个问题;查阅其他答案

    5) 再说一遍,随你怎么想。没有一个明确的方法,你必须这样做,否则。一旦你选择了你的道路,就要坚持下去;3. 除此之外,某些框架等都有自己的命名约定。例如,Symfony使用类似CamelCase的Java

    第三,重构

    我必须说这真的很痛苦

    是的:3但是它会有回报

    如果我在一个地方更改了一个变量的名称,我必须遍历整个过程 文档和包含此文件的每个文件,并更改其名称。 当然,到处都是错误的结果。人们是如何处理这些问题的 这个问题?在Java中,如果您在一个地方更改名称,它会在任何地方更改

    不,没有。如果你得到了一个支持你的工具,你只需要使用重构工具一次;但是,如果你用java重命名一个类属性,就不会有神奇的机器人在互联网上行走,自动确保地球上的每个人都使用这个新名称

    但至于如何预防,要聪明。遵守程序合同,即使用接口。不要使用不应直接使用的函数/成员。观察层次结构。使用合理的代码划分并尊重该划分的边界

    但是人们如何处理这个问题呢?好吧,我想搜索并替换;)

    至于Eclipse插件——PHP的动态特性使得自动重构代码更加困难;我们不能总是使用静态类型暗示等,而论证和返回类型的预言往往是不可能的。因此,就我所知,“自动重构”并不像Java世界那样受到工具的支持。虽然我确信这些情况是可行的,但应该有插件

    看一看。它是EclipsePDT的插件,提供代码探索和可视化

    它可以很容易地用来跟踪dependenc