你如何管理你的php代码?您更喜欢在一个 php 文件中运行还是包含更大的“原始代码”块?
编辑:事实上,我的代码非常讨厌,因为我不使用任何命名空间和类——只使用函数和包括在内。我会查课的^^。
根据需要使用它们。我将 include 用于处理大代码块,并将函数用于“实用程序”功能。我使用的 Sometines 也包含在函数中......这真的取决于你喜欢你的代码的干净程度。
认为许多包含意味着来自 PHP 模块的更多 fopen(),而这些可能会减慢整个脚本的执行速度。所以不要尝试放置太多包含。
如果您使用的是 php 类,这将自行解决。如果你不是,那么很难给出一个可以接受的答案,除非你应该学会这样做。我见过的所有没有类的php代码似乎都很快变得混乱。
我同意 OOP 是要走的路。大型实体代码块是维护的噩梦。绝对不是要走的路。您应该将您的代码拆分成小块,这些小块相互交互并且易于自行维护。
当我以前用 PHP 编程时,我喜欢将通用实用程序函数分组到一个通用文件中以包含在大多数页面中,并将类分组到专用文件中,以便仅在需要时加载它们。
我通常将函数/类用于逻辑并包含用于显示。我最终在控制器中得到了这样的东西......
case 'widgetlist':
$widgets = $DAO->getWidgets(); //get some query
include('view/showWidgets.php'); //assume a global $widgets variable
break;
我发现为 HTML/CSS 设计器提供包含而不是显示的函数调用更容易。不利的一面是我依靠全局变量将变量传递给包含而不是更安全的参数。
我在单独的文件中创建类,并使用正确的前缀作为命名空间(至少包含它们)。我还将函数作为静态方法放在“静态类”中以实现命名空间效果。
我使用自动加载来包含文件,所以我不必编写一百个包含。将 My_Example_Class 保存为 {lib}/My/Example/Class.php
我正在处理的事情在每一页的顶部都有一个包含文件,其中包含所有全局函数和数据库设置内容。它按原样工作,但我现在将这些函数移动到单独的文件中,因为所有内容都集中在一个大块中,进行任何测试都是完全不切实际的。
PHP 有一个 __autoLoad() 魔术函数,可以用来拦截类调用。如果该类尚不存在,您可以设置一些简单的代码来查找要包含的正确类代码。然后它将继续正常执行。