symfony 笔记(翻页类,数据库查询,模板快捷变量)

来源:互联网 发布:摄像头在线直播软件 编辑:程序博客网 时间:2024/04/30 06:45

# apps/frontend/config/app.yml
all:
active_days: 30

sfConfig::get('all_active_days');


symfony 路径常量

sf_root_dir:
   sf_apps_dir
   sf_lib_dir
   sf_log_dir
   sf_data_dir
   sf_config_dir
   sf_test_dir
   sf_plugins_dir
   sf_web_dir
   sf_upload_dir

获取方式:$dir = sfConfig::get($sf_dir); 
    date.timezone = "PRC"  设置时区为中国


#LoadModule rewrite_module modules/mod_rewrite.so

要把#去掉 重定向才能起作用

$sf_params->has()     想判断一个请求参 数是否存在

    * $configuration->getRootDir():项目根目录(一般情况请保留默认值,除非你想改变文件目录结构)
    * $configuration->getApplication():项目中的应用程序名。需要它来生成文件路径。
    * $configuration->getEnvironment():环境名(prod, dev, test或者其他你定义的本项目的环境)。用来决定使用哪一套配置信息。本章稍后会解释环境的概念。
    * $configuration->isDebug():是否启用调试模式(详见第 16 章)。


SQL             Doctrine_Query
WHERE column = value                 ->where(‘acolumn = ?’, ‘value’)
其他 SQL 关键字
ORDER BY column ASC                 ->orderBy(‘acolumn ASC’)
ORDER BY column DESC                 ->addOrderBy(‘acolumn DESC’)
LIMIT limit                     ->limit(limit)
OFFSET offset                     ->offset(offset)
FROM table1 LEFT JOIN table2 ON table1.col1 = table2.col2     ->leftJoin(‘a.Model2 m’)
FROM table1 RIGHT JOIN table2 ON table1.col1 = table2.col2     ->innerJoin(‘a.Model2 m’)


Syfmony提供了一个叫做sfDoctrinePager的翻页类

$this->pager = new sfDoctrinePager('表名',一页显示几条);
  $this->pager->setQuery($q);  //$q   数据库查询语句
  $this->pager->setPage($request->getParameter('page', 1)); 
  $this->pager->init();


XXXSuccess页面

sfDoctrinePager方法列表:
  • getResults(): 为当前页返回Doctrine对象数组
  • getNbResults(): 返回记录总数
  • haveToPaginate(): 当页数超过一页,则返回true
  • getLinks(): 返回页面链接列表
  • getPage(): 返回当前页码
  • getPreviousPage(): 返回前一页页码
  • getNextPage(): 返回下一页页码
  • getLastPage(): 返回最后一页页码

 

模板快捷变量

在模板里,有一些symfony变量可以直接使用。 通过这些快捷变量可以从symfony的对象里取得一些最常用的模板信息:

  • $sf_context:完整的环境对象(context object) (sfContext类的实例)
  • $sf_request:请求对象(sfRequest类的实例)
  • $sf_params:请求的参数
  • $sf_user:当前的用户session对象 ( sfUser类的实例)



就如同SQL是一个很简单的语言却可让你建立非常复杂的查询一样
0cc175b9c0f1b6a831c399e269772661           a
92eb5ffee6ae2fec3ad71c777531578f              b
4a8a08f09d37b73795649038408b5f33           c
1f3870be274f6c49b3e31a0c6728957f             apple
8fa14cdd754f91cc6554c9e71929cce7              f

    编辑     删除     1     ceshi1  ceshi11111      1      default.jpg
    编辑     删除     2     222       2222222            1     2010083101473643.gif
    编辑     删除     3     333       333333              1     2010083101473644.jpg
    编辑     删除     4     444       44444444         1     2010083101473646.gif
    编辑     删除     5     555       5555555           2     2010083101473647.gif