关于网站结构的一些基本问题

时间:2015-06-07 10:09:55

标签: php html

我有一些问题,我应该如何构建我的网站。

1)我网站的活页夹

作为示例,我想创建一个用户可以编写自己的问题的网站。现在我需要注册提问登录搜索问题等链接。每个链接都有自己的文件(?)。我把这些文件放到我的网站绑定器中这样吗?

structure

每个文件都是这样构建的吗?

<html>
    <head>
    </head>
    <body>
    </body>
</html>

或者我应该在index.php内部切换/ case元素并包含其他文件?然后将其他页面只有一些元素。例如,register.php将如下所示:

<div class="login_div">
  <form method="POST">
    <label>Input 1</label>
    <input type="text" name="input"/>
  </form>
</div>

索引将如下所示:

<html>
  <head>
  </head>
  <body>
      <!-- Navigationbar -->
    <?php
      switch($variable){
        case 1:
          inclued_once("register.php");
          break;
        case 2: ...
        default: ...
      }
    ?>
  </body>
</html>

2)我应该在哪里放置我的PHP代码

我将使用PHP,我应该在哪里保存它?我应该使用我的所有PHP函数创建一个名为general_php.php的文件,如果我需要此文件的一个或多个函数,我是否包含此文件?

3)PHP的类型

我应该使用面向对象的PHP进行编程吗?

4 个答案:

答案 0 :(得分:1)

我强烈建议您将PHP框架用于项目,它们将简化您的工作并教您良好的习惯。因此,您不仅可以理解代码并对其进行故障排除,而且其他人也能理解您的代码。

PHP框架通常是面向对象的,遵循MVC模式(模型 - 视图 - 控制器),只需谷歌PHP框架并选择一个你喜欢的,你将永远不会再回到旧的PHP,

希望有所帮助,

这里有一些不错的框架:

http://phpframeworks.com/

快乐的编码:)

答案 1 :(得分:1)

如果这是一个非常简单的项目,你现在或将来在处理它时没有与其他开发人员合作,那么你可以用PHP中已经知道的东西来做,甚至是程序方式,比如如果你急于完成它,你没有时间进行关于OOP和框架的额外技术阅读。

使用您在示例中建议的开关是分解文件以使页眉,页脚和其他公共部分可重用的最简单方法。但是如果你有更多的时间,学习如何使用模板或更好地使用MVC模式,如果你熟悉它,这样可以节省你在测试,调试时的时间,并且它使搜索代码/文件变得容易,因为一切都是组合在一起。

答案 2 :(得分:0)

所有的html文件都以你说的语法开头,是的,register,ask_question,search_question和login都需要自己独立的html / php文件,除非你把它们放在一起。

如果这有帮助,链接的标记是:     [a href&#34; //链接名称&#34;] //链接文本[/ a] 标签(&lt;&gt;)替换为方括号([])

答案 3 :(得分:0)

我不知道你对PHP有多放心,但我可以随意使用这个非常简单PHP framework我写了一段时间(虽然我敦促你学习一个框架,比如Laravel)。

我推动可信框架的原因在于它已由许多工程师构建和测试,为什么我们应该重新发明轮子,为每个项目生成一个新的框架,只为我们提供应用程序最基本的骨架?它只会减慢你的速度。

如果您决定查看我的基本PHP框架,那么您应该关注的主要文件是index.php这是&#34;引擎&#34;框架的空间并处理所有传入的请求,即下面的这个块:

require_once(VIEW_PATH . "components/header.php");

if(isset($_GET['page'])) {
    $view = $_GET['page'];
    if(file_exists(VIEW_PATH.$view.".php")) {
        require_once(VIEW_PATH.$view.".php");
    } else {
        header("Status: 404 Not Found");
        header('HTTP/1.0 404 Not Found');
        require_once(CORE_PATH . "http_responses/404.php");
    }
} else {
    // This should only happen when a bogus URL is requested
    require_once(VIEW_PATH."home.php");
}
require_once(VIEW_PATH . "components/footer.php");

检查发送的页面是否存在于服务器上,如果是,则将其显示给用户,否则将显示404页面。注意如何使用PHP的文件包含函数,我们可以强制PHP在每个页面上显示页眉和页脚以减小文件的大小(因为头文件的所有html现在都封装在header.php中)。这是对switch语句的一个更好的实现,因为你可以继续扩展你的项目,只要你把文件放在views文件夹中,php就会找到它(因此你永远不必返回index.php来添加另一个文件)转换语句。)

您还会注意到已经实现了不同的文件层次结构。虽然您的问题没有明显问题,但您应该考虑文件夹权限,并且在一个根位置放置所有内容可能会在将来导致问题。在我的框架中,我创建了一个public文件夹,任何人都可以访问,app文件夹具有更严格的权限,只能由应用程序访问(除了任何人都可以执行的读访问)。

回答问题3)我不会将你的所有功能都放在一个文件中,这会让事情变得混乱而且难以管理。通常更好的做法是构建一个数据结构来为您的应用程序建模,例如,你可以有一个名为Post的类来建模要保存到数据库的新帖子,Post类中的函数会处理该对象的CRUD操作(创建,读取,更新,删除)。对于我提供的框架,您可以在/app/core/models看到名为models的文件夹。在那里,您将看到一个Database.php类,它是一个通过数据库路由所有事务的包装器,这意味着每次要运行查询时都会生成更少的代码。

如果您决定使用我的框架并需要任何帮助,请随时与我联系或在此处输入私人聊天。