首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Symfony 頁面創建全解析:模塊、動作、模板、路由與表單實戰

     編輯:PHP 相關知識

Symfony 1.x 頁面開發核心概念

頁面由 動作 + 模板 組成,歸屬於 模塊。遵循 MVC:動作處理邏輯,模板負責顯示。

1. 創建模塊骨架

> symfony init-module myapp mymodule

生成目錄結構:

apps/myapp/modules/mymodule/
├── actions/actions.class.php
├── templates/indexSuccess.php
├── config/, lib/, validate/

2. 添加動作與模板

動作方法命名 executeXxx(),對應模板 XxxSuccess.php。

// actions.class.php
class mymoduleActions extends sfActions {
    public function executeMyAction() { /* 邏輯 */ }
}
<!-- templates/myActionSuccess.php -->
<p>Hello, world!</p>

訪問:https://localhost/myapp_dev.php/mymodule/myAction

3. 路由系統:URL 與代碼解耦

在 routing.yml 定義規則:

article_show:
  url:   /article/:stripped_title
  param: { module: article, action: show }

動作名專注業務含義(show、list),URL 可任意優化為 SEO 友好格式。

4. 模板語法與數據傳遞

  • 推薦 替代 PHP 語法:<?php if ($cond): ?>...<?php endif; ?>
  • 動作中 $this->var = $value,模板直接用 $var。
  • 模板可直接訪問 $sf_request、$sf_params、$sf_user 等對象。

5. 表單幫助器

<?php echo form_tag('mymodule/anotherAction') ?>
  <?php echo label_for('name', 'Your name?') ?>
  <?php echo input_tag('name') ?>
  <?php echo submit_tag('Ok') ?>
</form>

自動生成規範 HTML,支持 select_tag + options_for_select 快速構建下拉框。

6. 鏈接幫助器 link_to()

<?php echo link_to('文字', 'module/action?param=val', 'class=btn confirm=Sure?') ?>

路由變更時自動更新 href,支持 confirm、absolute 等屬性。

7. 獲取請求參數

  • 動作:$this->getRequestParameter('name')
  • 模板:$sf_params->get('name', 'default')、$sf_params->has('name')

總結

掌握「模塊-動作-模板」三元組、路由解耦、幫助器用法,即可高效構建 Symfony 應用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved