Каталог админки - в константу

HEPB

Постоялец
Регистрация
24 Июн 2009
Сообщения
111
Реакции
8
Добрый день. Меню навигации в админке сделанотаким образом:

Код:
class Navigation {
 
    protected static $admin_navi = array(
        "/admincatalog/index.php"                    => "index",
        "/admincatalog/users.php"                    => "users",
        "/admincatalog/mailer.php"                    => "mailer",
     
 
....
        "/logout.php"                        => "logout"
    );

где admincatalog - папка для администратора, который юзер не должен знать, то есть www\admincatalog
Вот хотелось бы admincatalog заменить константой, и прописать константу в конфиг-файле. Но не получается, не хочет переменную воспринимать. Подскажите, как реализовать?
 
А на что именно ругается? Может попробовать как "global" её определить?
 
Ругается:
Parse error: syntax error, unexpected '.', expecting ')' in /var/www/includes/Nav.php on line 8
<-------------- добавлено через 54 сек. -------------->
писал как:
"/" . $admincatalog ."/users.php" => "users",
 
попробуй написать:
"/{$admincatalog}/index.php" => "index",
 
пробовал, то же самое:
Parse error: syntax error, unexpected '"', expecting ')' in /var/www/includes/Nav.php on line 9
 
Во-первых, проверить класс на наличие конструктора: функция __construct(). Если такова отсутствует, то попробовать ее добавить. Присвоение массива переменной перенести в конструктор. В итоге, код должен выглядеть примерно так:
PHP:
class Navigation {
 
    protected static $admin_navi = array ( );
 
    const ADMIN_CATALOG = '';  // --- путь
 
    public function __construct ( ) {
 
        self::$admin_navi = array(
            '/' . self::ADMIN_CATALOG . '/index.php'    => 'index',
            '/' . self::ADMIN_CATALOG . '/users.php'    => 'users',
            '/' . self::ADMIN_CATALOG . '/mailer.php'  => 'mailer',
        ....
            '/logout.php'                              => 'logout'
        );
     
    }

Хотя, возможно получение массива навигации осуществляется абстрактным методом. В таком случае это решение не спасет.
 
там ниже по тексту:

PHP:
public static function adminNavi($active = "")
    {
        self::navi(self::$admin_navi, $active);
    }
 
Назад
Сверху