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 介绍了这些目录的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值