symfony2目錄簡介

例 2-6 - 模型的數據庫抽象層部分

<?php
function open_connection($host, $user, $password)
{
return mysql_connect($host, $user, $password);
}
function close_connection($link)
{
mysql_close($link);
}
function query_database($query, $database, $link)
{
mysql_select_db($database, $link);
return mysql_query($query, $link);
}
function fetch_results($result)
{
return mysql_fetch_array($result, MYSQL_ASSOC);
}
例 2-7 - 模型的數據訪問層
function getAllPosts()
{
// 連接數據庫
$link = open_connection('localhost', 'myuser', 'mypassword');
// 執行 SQL 查詢
$result = query_database('SELECT date, title FROM post', 'blog_db',
$link);
// 填充數組
$posts = array();
while ($row = fetch_results($result))
{
$posts[] = $row;
}
// 關閉連接
close_connection($link);
return $posts;
} ?


以看到數據訪問層的部分沒有數據庫引擎有關的函數,從而不依賴於特定的
數據庫。另外,建立數據庫抽象層的函數可以在很多其它的模型函數中重用。
圖 2-2 - symfony 工作流程
這裏寫圖片描述
symfony 核心類
你會經常碰到 symfony 的 MVC 核心的幾個類:
• sfController 控制器類。它解析請求並交給動作處理。
• sfRequest 保存所有的請求元素(參數,cookie,請求的頭 等)。
• sfResponse 包含迴應的頭和內容。它的內容最終會轉化爲 HTML 傳給用戶。
• context singleton (由 sfContext::getInstance()取得) 保存所有核
心對象還有當前的配置的引用,它可以從任何地方訪問到。
NOTE 在 symfony 的編碼規範中,開頭字母大寫的駝峯字(UpperCamelCase)是變
量名與類名的標準。只有兩個例外:核心 symfony 類以小寫的 sf 開頭,模板裏面
的變量使用小寫下劃線的方式。
根目錄結構
下面是一個 symfony 項目根目錄下的文件:
apps/
frontend/
backend/
batch/
cache/
config/
data/
sql/
doc/
lib/
model/
log/
plugins/
test/
unit/
functional/
web/
css/
images/
js/
uploads/
表 2-1 介紹了這些目錄的內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章