Как я могу получить доступ к параметру, отправленному через URL в моих файлах представления в CakePHP?

Обратный слеш в строке name интерпретируется вашим компилятором, и затем вы используете эту строку для построения строки extractInfoCmd, которую вы передаете оболочке (/bin/sh), которая пытается их интерпретировать. снова. Таким образом, фактическая строка, которая передается процессу grep, не та, которую вы намереваетесь.

Вероятно, лучший способ исправить это - избегать использования system и вместо этого использовать что-то вроде execlp, где вы можете передавать каждый аргумент отдельно.

Также нет необходимости использовать конвейер для передачи информации от find до grep, вы можете сделать это с самим find:

find . -name '*.info' -exec grep -E '^PART|^\\pot\ ' {} \;

Или непосредственно в C: [1116 ]

execlp(
    "/usr/bin/find",
    ".",
    "-name",
    "*.info",
    "-exec",
    "grep",
    "-E",
    "^PART|^\\\\pot\\ ",
    "{}",
    ";",
    NULL);

Вместо того, чтобы передать вывод в файл с помощью оболочки, вы можете просто использовать pipe в своем процессе, чтобы напрямую получить канал к стандартному выводу find, который затем можно прочитать.

6
задан Chuck Burgess 18 January 2013 в 05:21
поделиться

3 ответа

URL, поскольку у Вас есть он, назовет 6 () методом Вашего ViewController, который не является именем действительного метода. Вам, вероятно, придется играть с Вашими маршрутами, чтобы заставить это работать.

Если Вы не захотите настраивать свои маршруты, то Вам будет нужен контроллер в URL, как так:

http://example.com/thinger/view/6

который будет звонить thingerControllerObject->view("6"). Если Вы хотите "/, чтобы представление /" перешло к другому методу, редактируете маршруты. См.:

2
ответ дан 8 December 2019 в 05:24
поделиться

Для доступа к параметру в представлении заглядывают $this->params

5
ответ дан 8 December 2019 в 05:24
поделиться

Параметры могут быть получены следующим образом

$this->params['pass']

Возвращает массив (с числовым индексом) параметров URL после действия.

// URL: /posts/view/12/print/narrow
Array
(
    [0] => 12
    [1] => print
    [2] => narrow
)
16
ответ дан 8 December 2019 в 05:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: