- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- PHP-symfony/ビュー/リンクヘルパー へ行く。
- 1 (2009-12-23 (水) 23:28:04)
- 2 (2009-12-23 (水) 23:33:51)
リンクヘルパー
URL・ルーティング
// 内部のURI構文 <module>/<action>[?param1=value1][¶m2=value2][¶m3=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>自分で。
参考
http://develop.ddo.jp/symfony/book/jp/1.0/templating_link_helpers.html