cakephp 3.0中set和serialized之间的核心区别?

时间:2015-06-02 13:48:15

标签: serialization cakephp-3.0

    $player = $this->Players->get($id, [
        'contain' => []
    ]);
    $this->set('player', $player);
    $this->set('_serialize', ['player']);

如果我将删除$ this-> set('_ serialize',['player']),而不是我的观点没有任何区别。

        <h6 class="subheader"><?= __('First Name') ?></h6>
        <p><?= h($player->first_name) ?></p>
        <h6 class="subheader"><?= __('Last Name') ?></h6>
        <p><?= h($player->last_name) ?></p>
        <h6 class="subheader"><?= __('Email') ?></h6>
        <p><?= h($player->email) ?></p>
        <h6 class="subheader"><?= __('Password') ?></h6>
        <p><?= h($player->password) ?></p>
        <h6 class="subheader"><?= __('Birthdate') ?></h6>
        <p><?= h($player->birthdate) ?></p>
        <h6 class="subheader"><?= __('Mailning Address') ?></h6>
        <p><?= h($player->mailning_address) ?></p>
        <h6 class="subheader"><?= __('City') ?></h6>
        <p><?= h($player->city) ?></p>
        <h6 class="subheader"><?= __('State') ?></h6>
        <p><?= h($player->state) ?></p>
        <h6 class="subheader"><?= __('Country') ?></h6>

1 个答案:

答案 0 :(得分:3)

  

_serialize键是一个特殊的视图变量,用于指示哪个   使用数据视图时,应序列化其他视图变量。   这使您可以跳过为控制器操作定义模板文件   如果您不需要在数据之前进行任何自定义格式设置   转换为json / xml。   http://book.cakephp.org/3.0/en/views/json-and-xml-views.html#using-data-views-with-the-serialize-key

对于xml和json视图来说这是一个很好的功能,但是如果你使用自己的视图模板则几乎没用。