PHP文件结构:变量和函数


PHP file structure: variables and functions

我以前使用过PHP,但主要涉及一些实际涉及输出HTML的小细节。我更像是一个前端人。现在,我正在构建一个小规模的网站,该网站的页眉、页眉和页脚有很多重复,但内容有所不同(几乎是典型的"模板"风格设计)。我不确定在这种情况下应该如何处理依赖关系。我有变量,我有函数,我有include和requires。但是去哪儿了?

例如。我有一个config.php文件,其中包含两个经常使用的全局静态变量(例如$home,它是基本url——这对于在子目录中进行本地测试是必要的)。我需要将这个配置文件放在每个其他PHP文件的顶部。我觉得应该可以吧?

但接下来:如何处理每页都在变化的全局变量。简单的例子:假设我在page.php:中有这个代码

<?php include "header.php"; ?>

和header.php看起来像这样:

<header>
    <h1><?php echo $pageTitle; ?></h1>
</header>

将该页面的值放入page.php中是否同样简单?像这样:

$pageTitle = "I like bananas";
<?php include "header.php"; ?>

这让我很担心,因为如果你有很多这样的东西,PHP就会变得丑陋:过了一段时间,你的基本PHP文件(page.php)就会充满变量。显然不是成千上万,但我想我的项目可能有十几个。这是一个"问题"还是通常会发生的事情?如果不常见,那么我应该如何在PHP中处理变量?

那么函数呢?例如,如果我想在header.php中的某个项中添加一个类,如果一个变量是5(显然真实的例子更详细),我可以编写这样的函数:

function checkBananaAmount($int) {
    if ($int == 5) echo 'class="eat-bananas"';
}

并这样称呼它:

<div <?php checkBananaAmount($myBanana); ?>></div>

问题是,我会把这个函数放在一个单独的文件中吗(类似于Wordpress的functions.php,还是只把它放在header.php中?如果是前者,这是否意味着我必须在每一页中都有require "functions.php"和其中一个函数?

正如你所看到的,我想知道PHP项目的基本结构是什么:如何对变量和函数进行排序,如何在不损失生产力和保持效率的情况下保持事物的有序组织等等。

构建项目的方法有很多,包括是否包含框架(可能需要时间学习,但随着项目的发展会带来巨大好处)。

这些天,我不会一开始就写一个php项目。

作为一个前端的人,我想你知道诸如angular或knocket之类的框架。

一个好的起点可能是像Slim这样的简单框架http://www.slimframework.com/

还有像Twig这样的模板系统http://twig.sensiolabs.org/

即使你要从头开始的方法,你也应该好好看看PHP the Right Wayhttp://www.phptherightway.com/