Nie znaleziono klasy PHP [zamknięte]

Sam rozwiązałem to pytanie. Nazwa pliku była nieprawidłowa lolz.

Cześć wszystkim!

Buduję CMS, jak Drupal i Joomla. Pracuję nad funkcją modułu (wtyczki) i otrzymałem następujący błąd:

Fatal error: Class 'settings' not found in C:\wamp\www\SYSTEM\view.php on line 22

Oto mój kod:

start.php

<?php
//First of all, start with some advertisement
header("X-Powered-By:ZOMFG CMS, and ofcourse PHP, but that's less important");
//Then less impotant stuff lololol.
session_start();                                //Start a session
mysql_connect($db_host, $db_user, $db_pass);    //Connect to database
mysql_select_db($db_name);                      //Select a database

//Load core
require_once("core.php");

//Load modules
$res_modules = mysql_query("SELECT * FROM ".$_SERVER["db_prefix"]."modules WHERE enabled=1");
echo mysql_error();
$module_exists = array();
while($row_modules = mysql_fetch_array($res_modules))
{
    //Load module
    $name = $row_modules["name"];
    modules::load_module($name);
    //and initialize it
    eval($name."::init();");
    //Yes, it exists
    $module_exists[$name] = true;
}

//Check if the user wants shit from a module
if(isset($_GET["m"]))//Yes the user want it
{
    //Does the module exist and activated, and has it a function called view?
    if(isset($module_exists[$_GET["m"]]) && method_exists($_GET["m"], "view"))//Yep
    {
        //Load view (should be an array)
        eval("\$module_view = ".$_GET["m"]."::view();");
        if(!is_array($module_view))//Not an array :(
        {
            error::e500module($_GET["m"], $_SERVER["REQUEST_URI"]);
        }
        else//The error would kill the entire script, m'kay
        {
            view::index();
        }
    }
    else//Nope, so display error
    {
        error::e404($_SERVER['REQUEST_URI']);
    }
}

settings.php

<?php
class settings
{
    function get($what)
    {
        $result_get = mysql_query("SELECT value FROM ".$_SERVER["db_prefix"]."settings WHERE key='$what'");
        if(mysql_num_rows($result_get) > 0)
        {
            $row_get = mysql_fetch_array($result_get);
            return $result_get["value"];
        }
        else
        {
            return -1;
        }
    }
}

core.php

<?php
//Load core classes
require_once("settings.php");
require_once("error.php");
require_once("theme.php");
require_once("view.php");
require_once("modules.php");

view.php

<?php
class view
{
    function head()
    {
        include("../THEMES/".settings::get("theme")."/head.php");
    }
    function foot()
    {
        include("../THEMES/".settings::get("theme")."/foot.php");
    }
    function left()
    {
        include("../THEMES/".settings::get("theme")."/left.php");
    }
    function right()
    {
        include("../THEMES/".settings::get("theme")."/right.php");
    }
    function index()
    {
        include("../THEMES/".settings::get("theme")."/index.php");
    }
}

Start.php jest oczywiście wykonywany jako pierwszy. Nie są wykonywane przed nim inne strony, z wyjątkiem customsettings.php, który zawiera informacje o bazie danych. Jeśli użyłem $ _SERVER ["db_prefix"] w powyższym kodzie, to dlatego, że potrzebowałem superglobalnego, który jest ustawiony w customsettings.php:

customsettings.php

<?php
$db_host = "localhost";         //Database host
$db_user = "root";              //Database user
$db_pass = "you may not know this";         //Database password
$db_name = "zomfg";             //Database name
$_SERVER["db_prefix"] = "zomfg_";//Prefix, needs to be superglobal

Czy ktoś może mi pomóc? Wydaje się, że funkcja indeksu view.php jest wywoływana przed włączeniem settings.php. Przepraszamy, jeśli to pytanie jest ogromne, chcę być jasne. Nie mów też, że eval () jest zły, wiem.

Chcę więc wiedzieć, dlaczego nie można znaleźć klasy ustawień. Jeśli potrzebujesz więcej kodu źródłowego, skomentuj to pytanie.

questionAnswers(5)

yourAnswerToTheQuestion