編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

リンクヘルパー

URL・ルーティング

// 内部のURI構文
<module>/<action>[?param1=value1][&param2=value2][&param3=value3]...
// 内部URIの例で、エンドユーザーに決して表示されない
article/permalink?year=2006&subject=finance&title=activity-breakdown
// 外部URLの例で、エンドユーザーに表示される
http://www.example.com/articles/finance/2006/activity-breakdown.html
  • routing.yml
    article_by_title:
      url:    articles/:subject/:year/:title.html
      param:  { module: article, action: permalink }
  • url_for()ヘルパーは内部URIを外部URLに変換する
    <a href="<?php echo url_for('article/permalink?subject=finance&year=2006&title=activity-breakdown') ?>">
      ここをクリック</a>
    // ヘルパーはURIがarticle_by_titleルールにマッチすることを見る
    // ルーティングシステムはそれから外部URLを作成する
    => <a href="http://www.example.com/articles/finance/2006/activity-breakdown.html">ここをクリック</a>
  • link_to()ヘルパーは直接ハイパーリンクを出力し、PHPとHTMLを混在させることを回避する
    <?php echo link_to(
      'ここをクリック',
      'article/permalink?subject=finance&year=2006&title=activity-breakdown') ?>
    ) ?>
  • 内部では、link_to()はurl_for()を呼び出すので結果はつぎのものと同じ
    => <a href="http://www.example.com/articles/finance/2006/activity-breakdown.html">ここをクリック</a>

Aタグ例

<html><body>
<?php echo link_to('Delete', 'author/delete?id='.$author->getId(), 
  array('post' => true, 'confirm' => 'Are you sure?')) ?>
</body></html>

フォームヘルパー

フォームタグ

<?php echo form_tag('test/save') ?>
  => <form method="post" action="/path/to/save">
<?php echo form_tag('test/save', 'method=get multipart=true class=simpleForm') ?>
  => <form method="get" enctype="multipart/form-data" class="simpleForm"action="/path/to/save">

閉じタグは</form>自分で。

URL生成内部処理

UrlHelperクラス

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2011-11-30 (水) 14:36:27 (2244d)