привет почему неработает вот такая замечательная строка Код (Text): eval ("use modules\test as modules;"); может дело в символе "\" ???
мда вот такая трабла есть рабочая фигня Код (Text): use modules\base\controllers\test as contr; мне надо чтобы это работало вот так Код (Text): $work="test"; use modules\base\controllers\$work as contr; но так как переменнуб в namespace я не могу засунуть то пытаюсь сделать через eval Код (Text): $work="test"; eval ('use modules\base\controllers\'+$work' as contr;'); Добавлено спустя 4 минуты 53 секунды: Код (Text): $test="test"; eval ('use modules\base\controllers\\'.$test.'as contr2;'); contr2\index(); но получаю Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in Z:\home\experements.ru\www\procedure\index.php(15) : eval()'d code on line 1 Fatal error: Call to undefined function contr2\index() in Z:\home\experements.ru\www\procedure\index.php on line 16 Добавлено спустя 34 минуты 8 секунд: Код (Text): $test="test"; $t='use modules\base\controllers\\'.$test.' as contr2;'; echo '<br/>'.$t; eval ($t); contr2\index(); результат use modules\base\controllers\test as contr2; Fatal error: Call to undefined function foo\contr2\index() in Z:\home\experements.ru\www\procedure\index.php on line 18
Ерунду какую-то пишите. Пример на сайте php.net, там все обусловлено и показано, неужели и там не ясно выражаются? Вы хоть понимаете, что выполняет eval? Вы пытаетесь в нее совать код, не зная как работает функция? Вам не кажется это странным? php.net/manual/ru/function.eval.php
Да нет. Всё логично. паттерн MVC взависимости от параметров гет подключается один из множества контролёров каждый контролёр заключён в свой собственный namespace фронт контролёр вазывает несколько методов(проверку доступа и action) в контролёре. просто написать use я не могу так как контролёры различны то и функции надо вызывать в различных наймспейсах. Поэтому я и пытался динамически формировать alias на нэймспейс, и вызывать методы у алиаса. спасибо хотябы за попытку помоч, задача решена обращением к функции напрямую без alias. Код (Text): //пример динамического формирования пути к функции $func="models\\".$_GET["moduls"]."\\controllers\\test\\index"; $func();