我希望专家们能够在PHP中组织我的代码时给出一些建议。通常我所做的是将代码分解为多个文件,然后include();
将它们全部转换为主文件。这使我更容易调试代码,但程序变慢。那么,编程大师,请给我一些建议。
答案 0 :(得分:1)
一个非常大的问题,我相信人们更喜欢不同的东西。一般来说,有一个索引页面可以根据请求包含页面(大多数时候使用交换机进行文件包含攻击防护)。
包含的页面还有一个已检查的已定义常量,以确保它们不能单独执行。
我总是喜欢使用模板系统(实际上是一个非常快的模板系统),我使用MVC类型(模型视图控制器)组织我的代码。我创建了一个user.php,一个user.class.php和用户模板,例如(用户是控制器,类是模型,模板视图)。
编辑 - 来自旧项目的索引页面示例(缩减为仅显示点数) 在这一个我正在使用Smarty,顺便说一句。
<?php
define('game',1);
session_start();
require_once 'libs/smartySetup.php';
require_once 'libs/containers/utils.class.php';
require_once 'login.php';
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : 'home';
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
switch($page)
{
case 'home': break; // unlogged
case 'register': break; // unlogged
case 'town': break;
default:
$page = 'home';
}
include("$page.php");
?>
答案 1 :(得分:1)
答案 2 :(得分:1)
查看Autoload PHP5 OOP Manual Page
你可以看到Autoloader可以“爬行”到“查找”类的目录中。
您可以设置它(如建议的那样,并像在Zec中一样发生在MVC中),用于创建类,例如Connector.class.php,它放在site / DB /文件夹中并调用为:new DB_Connector()