Использование неопределенной константы erorr в php

Я получаю ошибки (упомянутый ниже код), когда я переключаю свой код на другую систему,

Конфигурации:

ОС: Windows 7 php сервер: Xampp

Пожалуйста, помогите мне решить эту проблему. заранее спасибо.

КОД:

<?php
class settings{
    public $theme;
    public $db_pf;

    function __construct(){
        $this->theme="default";
        $this->db_pf="task_";
        $this->paths();
        $this->abbr();
        $this->errors();

        $this->enable_db_config();
    }
    function paths(){
        define(ROOT,$_SERVER['DOCUMENT_ROOT']);
        define(BP,"/task/");
        define(ABSPATH,"/task/ta-admin/");
        define(ADMPATH,"/task/administrator/");
        define(INCLUDE_PATH,ABSPATH."includes/");
        define(MODULE_PATH,ABSPATH."modules/");
        define(CONTENT_PATH,ABSPATH."contents/");
        define(THEME_PATH,ABSPATH."templates/".$this->theme."/");
        define(STYLE_PATH,THEME_PATH."styles/");
        define(IMAGE_PATH,THEME_PATH."images/");
        define(JS_PATH,BP."assets/js/");
        define(JQ_PATH,BP."assets/jq/");
    }
    function enable_db_config(){
        include(ROOT.BP."ta-includes/class-db-config.php");
    }
    function abbr(){
        define(task_title,"Admin-Quit Tasker-");
        define(LOGIN_TITLE," Administrator Login...");
        define(SLOGAN,"Enabling Solutions to your Tasks...");
    }
    function errors(){
        define(NOTFOUND,"Page not found");
        define(GOBACK," please press ok to go back...");    
    }
}
$obj_settings=new settings();
?>

ERRORS:

Notice: Use of undefined constant ROOT - assumed 'ROOT' in C:\xampp\htdocs\task\ta-includes\class-settings.php on line 14

Notice: Use of undefined constant BP - assumed 'BP' in C:\xampp\htdocs\task\ta-includes\class-settings.php on line 15

Notice: Use of undefined constant ABSPATH - assumed 'ABSPATH' in C:\xampp\htdocs\task\ta-includes\class-settings.php on line 16

Notice: Use of undefined constant INCLUDE_PATH - assumed 'INCLUDE_PATH' in C:\xampp\htdocs\task\ta-includes\class-settings.php on line 17

Notice: Use of undefined constant CONTENT_PATH - assumed 'CONTENT_PATH' in C:\xampp\htdocs\task\ta-includes\class-settings.php on line 18

Notice: Use of undefined constant THEME_PATH - assumed 'THEME_PATH' in C:\xampp\htdocs\task\ta-includes\class-settings.php on line 19

Notice: Use of undefined constant STYLE_PATH - assumed 'STYLE_PATH' in C:\xampp\htdocs\task\ta-includes\class-settings.php on line 20

Notice: Use of undefined constant JS_PATH - assumed 'JS_PATH' in C:\xampp\htdocs\task\ta-includes\class-settings.php on line 21

Notice: Use of undefined constant JQ_PATH - assumed 'JQ_PATH' in C:\xampp\htdocs\task\ta-includes\class-settings.php on line 22
 hakre28 июн. 2012 г., 13:33
Какую часть сообщений об ошибках вы не понимаете в частности?

Ответы на вопрос(2)

константами являются / не имеют смысла определять константу таким образом изнутри объекта.

Возможно, это лучший подход к тому, что вы делаете:

http://php.net/manual/en/language.oop5.constants.php

В качестве альтернативы, наиболее распространенное использование настройки элементов с использованием определений - это установка параметров или файла конфигурации si9mple ...

вы должны "обернуть" они в кавычках, как это:

define('ROOT',$_SERVER['DOCUMENT_ROOT']);
       ^    ^

В случае сомнений всегда проверяйтеРуководство, в таком случаеопределить ()

Add:
Кроме того, определение констант в функции - это то, что я нахожу, немного & quot;dodgy& Quot ;. Если вы настаиваете на том, чтобы не переносить их на другого (например,config) файл, который загружается в самом начале, тогда, по крайней мере, выведите его из конструкции класса.

 28 июн. 2012 г., 13:36
@hakre Очень хорошо сказано! :)
 28 июн. 2012 г., 13:35
@ Kmanikandan: Если вы исправите что-то, исправьте это в нужном месте. На этот раз это ваш код, а не настройка PHP ini. Поскольку эти две системы различаются, вам нужно усвоить урок, что настройки ini различаются, и вы должны извлечь из этого максимальную выгоду: включить отчеты об ошибках / вход в системуyour development system на самом высоком уровне, чтобы улучшить свой код.
 Kmanikandan28 июн. 2012 г., 13:31
Спасибо, это отлично работает. Но в другой моей системе я никогда раньше не использовал кавычки, но они работали хорошо, можете ли вы сказать мне, если я должен изменить конфигурацию в файле php.ini
 28 июн. 2012 г., 13:34
Извините, я не могу вам сказать, почему, поскольку я понятия не имею, какая у вас "другая система"? является. Просто посмотрите на примеры дляdefine() и посмотрим, как это должно быть сделано.

Ваш ответ на вопрос