2011-04-18 60 views
0

假设我有以下文件通话功能包含此文件后

<?php 
    include 'file_A'; 
    include 'file_B'; 
?> 

的函数定义file_Bfoo(),有没有办法通过任何方式使用它在file_A ???

实际上,我在模块中定义一系列不同功能的应用程序中工作,我希望跨模块使用这些功能,而不必在文件定义包含在文件之前或之后的地方。

+0

我会说不,但是跟着你的问题,也许我不希望。 – 2011-04-18 03:38:01

+1

蜘蛛代码,蜘蛛代码,可以做任何事情,一些蜘蛛代码。它可以调用一个随机函数,不可以,因为它被解释了。 ...尝试让你的模块有一些结构。当你生成一个呼叫图,它看起来像一个可怕的蜘蛛网,你做错了什么。 – Borealid 2011-04-18 03:42:06

+0

@Borealid - 是的,但我们都在那里,失去了代码运行的控制权,然而*负责*。 – 2011-04-18 03:44:19

回答

2

由于PHP是一种解释型语言,因此您无法这样做。

我会做的解决方案是提取您需要分享到CommonMethods类或类似的方法。如果可能,请将它们设为静态

然后在file_Afile_B之前包含CommonMethods文件。

在继续您的项目之前,我会花一点时间研究PHP的设计模式。意大利面代码是从来没有一件好事。

+0

意大利面条代码?你有说意大利面代码吗?我喜欢意大利面。我喜欢馄饨。你可以用馄饨编程吗?汤团?我喜欢意大利美食。 – 2011-04-18 03:55:11

+0

用于提及意大利面代码的+1 ......我很长时间没有听说过这个术语 – Wh1T3h4Ck5 2011-04-18 04:00:08

+0

这是我提到PHP时首先想到的东西。不一定是由于语言本身,而是由我处理的程序员使用它。我见过很多意大利面代码的例子。不只是普通的意大利面,我们正在谈天使的头发。 – 2011-04-18 04:23:19