当前位置: 首页 > 面试题库 >

PHP包含最佳做法问题

越学博
2023-03-14
问题内容

我一直在学习PHP的语法并进行实践。我来自.NET背景,因此对于页眉和页脚,母版页始终使我很轻松。

到目前为止,我有一个mainHeader.php和mainFooter.php,其中包含我的头菜单和我的页脚html。我创建了一个mainBody.php,在顶部放了

<?php include "mainHeader.php" ?>

对于页脚,我把

<?php include "mainFooter.php" ?>

这样做非常好,让我微笑,因为我的页面都很好地融合在一起。mainHeader有我的<html><body>而mainFooter有我的结束标签。

这是好习惯吗?


问题答案:

我包括我的管制员的意见。我还定义了文件位置以使维护更加容易。

config.php

define('DIR_BASE',      dirname( dirname( __FILE__ ) ) . '/');
define('DIR_SYSTEM',    DIR_BASE . 'system/');
define('DIR_VIEWS',     DIR_SYSTEM . 'views/');
define('DIR_CTLS',      DIR_SYSTEM . 'ctls/');
define('DIR_MDLS',      DIR_SYSTEM . 'mdls/');
define('VIEW_HEADER',   DIR_VIEWS . 'header.php');
define('VIEW_NAVIGATION',   DIR_VIEWS . 'navigation.php');
define('VIEW_FOOTER',   DIR_VIEWS . 'footer.php');

现在,只需包含即可获得所需的所有信息config.php

controller.php

require( '../config.php' );
include( DIR_MDLS . 'model.php' );

$model = new model();
if ( $model->getStuff() ) {
    $page_to_load = DIR_VIEWS . 'page.php';
}
else {
    $page_to_load = DIR_VIEWS . 'otherpage.php';
}

include( VIEW_HEADER );
include( VIEW_NAVIGATION );
include( DIR_VIEWS . $page_to_load );
include( VIEW_FOOTER );


 类似资料:
  • 问题内容: 问题 在处理产品和订单的Web应用程序中,我想维护前雇员(用户)与其处理的订单之间的信息和关系。我想维护过时产品与包括这些产品的订单之间的信息和关系。 但是我希望员工能够整理管理界面,例如删除前员工,过时的产品,过时的产品组等。 我正在考虑实施软删除。那么,通常如何做到这一点? 我的即时想法 我的第一个想法是在应该可以软删除的每个对象表中粘贴“ TINYINT NOT NULL DEF

  • 问题内容: 我们正在使我们的网站国际化,允许多种语言。 我研究了php的“ gettext”,但是,如果我理解正确的话,我会发现一个很大的缺陷: 如果我的网页上有“ Hello World”作为静态文本。我可以将字符串作为,使用工具生成po / mo文件。然后,我将文件交给翻译人员进行处理。 几天后,我们想将英文文本更改为“ Hello Small World”吗?是否更改gettext中的值?我

  • 问题内容: 在我一直在构建的应用程序中,我们相当依赖于SharedPreferences,这使我思考了访问SharedPreferences时的最佳实践。例如,许多人说通过此调用可以访问它: 但是,这似乎很危险。如果您有依赖于SharedPreferences的大型应用程序,则可能会有密钥重复,尤其是在使用某些也依赖SharedPreferences的第三方库的情况下。在我看来,更好的使用方法是:

  • 问题内容: 当前,正在讨论具有单个sql连接体系结构的优缺点。 为了详细说明我们正在讨论的是,在应用程序创建时打开一个sql连接,在应用程序关闭或错误关闭该sql连接时。根本不创建另一个连接,而只使用那个与数据库进行通信。 我们想知道社区的想法。 问题答案: 一旦您在不确定的时间内不再需要连接,请立即将其关闭。这样,连接将返回到连接池(如果启用了连接池),并且可以被其他人(重新使用)。 (连接是昂

  • 问题内容: 我正在编写Android应用程序,此处的最佳方法通常可能与Java相同或不同。 我只是希望能够设置一个调试标志,该标志仅在设置为true时才执行代码的某些部分–等同于C ++设置预处理器#define DEBUG并使用#ifdef DEBUG。 在Java中是否有公认的或最佳的方法来完成此任务? 现在,我只是要在Application对象中设置一个变量,但是我不认为这是最好的方法。 问

  • 问题内容: 我整理了一个非常类似于flickr照片流功能的脚本。两个缩略图彼此相邻,当您单击下一个或上一个链接时,下一个(或上一个)两个图像就会滑入其中。 当前,页面加载时将加载两个图像。第一次使用nxt / prv时,随后的两个图像或前两个图像通过ajax加载,第一个图像的ID在url中传递,而两个新图像的HTML通过ajax返回并显示。 足够简单,但是我不得不考虑在连接速度慢或服务器负载重的情