如何从输入表单Cakephp 3获取数据

vic*_*oob 0 php cakephp

我对Cakephp框架非常陌生,尝试遵循并了解如何使用Cakephp上传文件。我正在使用josediazgonzalez提供的上传插件。在视图文件中,使用formhelper我有:

<?= $this->Form->create($user, ['type' => 'file']) ?>
<fieldset>
    <legend><?= __('Add User') ?></legend>
    <?php
        echo $this->Form->control('name');
        echo $this->Form->control('username');
        echo $this->Form->control('password');
        echo $this->Form->control('role');
        echo $this->Form->input('photo', ['type' => 'file']); 
        echo $this->Form->control('dir');
    ?>
</fieldset>
<?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>
Run Code Online (Sandbox Code Playgroud)

我想再次打印我在控制器中提交的值,我应该写什么?就像是:

$this->request->data;
Run Code Online (Sandbox Code Playgroud)

小智 5

$ this-> request-> data是传递给脚本的数据数组。您可以使用它来获取您感兴趣的字段,例如:

$data = $this->request->data;
$someVariable = $data["name"];
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用data()访问器直接访问任何字段:

$someVariable = $this->request->data("name");
Run Code Online (Sandbox Code Playgroud)

从这一点开始,您可以使用此变量执行任何操作。

还有一件事-由于$ this-> request-> data和$ this-> request-> data()当前处于已弃用状态,并将在下一版本中删除,因此我建议使用$ this-> request-> getData( )。用法类似:

$this->request->getData(); //will return array of data passed
$this->request->getData("field_name"); //access to specific field
Run Code Online (Sandbox Code Playgroud)