【发布时间】:2011-11-05 02:40:48
【问题描述】:
我是一个 php 新手,我想知道使用前面的 ajax 文件中先前定义的类方法的最佳方法。我浏览了 50 个或更多的热门问题以寻找与此类似的内容,所以如果之前有人问过这个问题,我深表歉意。
我的项目是使用调用 initialize.php 的前端控制器设置的,该控制器包括我迄今为止为该项目制作的所有类文件,无论现在是否需要这些类方法/属性(如果这非常糟糕,那么有人请告诉我一个替代方案:[[)。所以基本上,对于在该站点上发出的每个请求,都会调用 initialize,所有这些类都已定义,其中两个会立即实例化,这两个是我用于数据库和会话/登录内容的类。
我一直在我的 ajax 文件中这样做:
<?php
// login.ajax.php
require_once 'initialize.php';
$email = $_POST['email'];
$password = $_POST['password'];
$remember = $_POST['remember'];
global $session; // this is instantiated right away every time
$login = $session->login($email, $password);
echo json_encode($login);
?>
最近的并发症让我重新思考这种方法。不断加载初始化似乎真的很浪费,但是只包含/需要必要的类文件充其量只会让人头疼。在此示例中,我需要包含会话,它还需要另外两个类来执行此登录。
【问题讨论】:
-
我更喜欢自动加载作为答案中的建议。但是,我曾在一个相当大的网站上工作过,我们完全按照您的做法进行操作并加载了所有内容。但是,我们依赖 APC 缓存。 php.net/manual/en/book.apc.php