【发布时间】:2011-10-14 14:11:07
【问题描述】:
我仍然没有得到满意的答案。如果您的 Python 或 PHP 项目有一个不错的系统,请务必提交一些答案。
我的 PHP 和 Python 项目存在管理问题。它们都有两种代码文件:应该在控制台或 Web 浏览器中运行的文件,以及应该从其他文件中包含以扩展功能的文件。在我的项目成长为大型命名空间或模块树之后,它开始迷失方向,“可执行”文件和库文件与我所有文件夹中的相同文件扩展名并排放置。如果 PHP 和 Python 是预编译语言,这将是带有 main 函数的文件。
例如,图片我有命名空间com.mycompany.map.address,其中包含多个.py 或.php 文件,具体取决于项目。它将包含用于不同类型地址的模型和用于处理地址的大量函数。但除此之外,它还会包含一些从终端运行的可执行文件,为用户提供用于搜索地址的工具,并可能从数据库等中添加和删除地址。
我想要一种方法将此类可执行文件与我的命名空间树中的大量代码文件区分开来
如果文件有单独的文件扩展名,这不会有问题。但既然他们没有,我想我应该分开文件夹或其他东西,但我不知道给它们起什么名字。在 PHP 中,我可以执行配置 PHP 以解析不同文件扩展名的 hack 解决方案,因此我的项目可以包含 phps 或 phpx 文件,例如。
如果有人对如何处理此问题有一些与语言无关的建议,我将不胜感激。这也适用于诸如 C 之类的语言,其中一个项目可能会编译成许多可执行文件。如何将包含main 函数的源文件与其他源文件分开?
【问题讨论】:
-
我通常将我所有的 php 库文件放入站点文档室外某处的
inc目录中,并将不可执行的文件命名为whatever.inc。将该目录添加到 PHP 包含路径非常简单,并且 .inc 表示它们不打算直接运行(并且由于它们位于文档根目录之外,因此也无法远程运行/查看)。 -
注意 *.inc 命名约定。配置不当的服务器可能只提供文件的原始内容。如果您可以将它们命名为 *.php,从信息泄漏的角度来看,它通常更安全。
标签: php python project-management