symfony学习笔记

1.symfony如何添加自己定义的错误验证信息。
http://www.symfony-project.org/forms/1_2/en/02-Form-Validation
$nameValidator=new sfValidatorDoctrineChoice(array('model' => 'User', 'column' =>'name'),array( 'invalid' =>'Name not exist' ));
编辑默认的提示,如果默认提示为invalid 那么添加array('invalid'=>'your invalid message') 再比如Required array('Required'=>"This filed is required")
添加自定义的时候需要声明一个数据array,保证有invalid这个键值。框架就是框架不明白就不知道在哪加,我找了好半天才找到添加方法。

2. 有时候项目文件需要打包压缩和解压缩 记录一下
把整个文件夹 folderTared 的内容打包成一个gz文件:
tar czvf folderTared.tar.gz /theDir/folderTared
把压缩的gz文件恢复到指定目录下:
tar xzvf folderTared.tar.gz /theDir/

3.在生成了默认的CRUD操作之后,如何修改默认的模板。
  因为symfony默认生成了CRUD后,比如在new操作的时候,就是默认的模板,如何修改这个模板呢?如果有一个表:user。字段name,password .

 首先看看 baseUserForm里的Function SetUp里
 $this->setWidgets(array(
      'name'       => new sfWidgetFormInput(),
      'password'       => new sfWidgetFormInput()
    ));
   $this->widgetSchema->setNameFormat('user[%s]');
 生成两个文本狂,文本框的名字为这样的样式。
<input type="text" name="user[]" />
<input type="text" name="user[password]" />
所以只要自己的form是这样的格式,就可以了。
至于如何绑定,就是symfony帮我们做的了。
知道了数据格式是这样的,如果我们要加什么样式,那么就直接编辑html了。只要对应的input保持一样的就ok.

4.Symonfy1.2版本文件上传。
  今天学习文件上传,找了好多例子,很多都是1.0的,可是symfony1.0的API在Symonfy1.2里面通不过,根本就没提供手动上传文件的方法,还是得借助PHP本身
文件上传的方法。
 
symfony学习笔记 Code
 
5. Symfony分页。
   symfony分页显得尤其简单,直接上代码。
 
   
symfony学习笔记 // excute里的代码
symfony学习笔记
   public   function  executeIndex(sfWebRequest  $request )
symfony学习笔记  {
symfony学习笔记    
// 对应的是User模块,也就是对应的是User表的记录。
symfony学习笔记    //????如果我这个分页要实现多个表单记录呢?有时间再学习下。

symfony学习笔记
     $this -> pager  =   new  sfDoctrinePager( ' User ' , 5 );
symfony学习笔记    
$this -> pager -> getQuery();
symfony学习笔记    
$this -> pager -> setPage( $this -> getRequestParameter( ' page ' , 1 ));
symfony学习笔记    
$this -> pager -> init();      
symfony学习笔记  }
symfony学习笔记
symfony学习笔记
// indexSuccess里的代码
symfony学习笔记
< table >
symfony学习笔记  
< tbody >
symfony学习笔记      
<? php  foreach  ( $pager -> getResults() as   $user ) :   ?>
symfony学习笔记     
< tr >
symfony学习笔记      
< td >< a href = " <?php echo url_for('user/show?id='. $user ->getId()) ?> " ><? php  echo   $user -> getId()  ?></ a ></ td >
symfony学习笔记      
< td ><? php  echo   $user -> getName()  ?></ td >
symfony学习笔记      
< td ><? php  echo   $user -> getPassword()  ?></ td >
symfony学习笔记      
< td ><? php  echo   $user -> getCreatedAt()  ?></ td >
symfony学习笔记      
< td ><? php  echo   $user -> getUpdatedAt()  ?></ td >
symfony学习笔记    
</ tr >
symfony学习笔记    
<? php  endforeach ?>
symfony学习笔记  
symfony学习笔记    
<? php  if  ( $pager -> haveToPaginate()) :   ?>
symfony学习笔记    
< tr >
symfony学习笔记    
< td colspan = " 5 " >
symfony学习笔记     
<? php  echo  link_to( ' First ' ,   ' user/index?page= ' . $pager -> getFirstPage())  ?>
symfony学习笔记    
<? php  echo  link_to( ' Pre ' ,   ' user/index?page= ' . $pager -> getPreviousPage())  ?>
symfony学习笔记    
<? php  $links   =   $pager -> getLinks();  foreach  ( $links   as   $page ) :   ?>
symfony学习笔记      
<? php  echo  ( $page   ==   $pager -> getPage())  ?   $page   :  link_to( $page ,   ' user/index?page= ' . $page ?>
symfony学习笔记      
<? php  if  ( $page   !=   $pager -> getCurrentMaxLink()) :   ?>   -   <? php  endif   ?>
symfony学习笔记    
<? php  endforeach   ?>
symfony学习笔记    
<? php  echo  link_to( ' Next ' ,   ' user/index?page= ' . $pager -> getNextPage())  ?>
symfony学习笔记    
<? php  echo  link_to( ' Last ' ,   ' user/index?page= ' . $pager -> getLastPage())  ?>
symfony学习笔记  
<? php  endif   ?>
symfony学习笔记    
</ td >
symfony学习笔记    
</ tr >
symfony学习笔记  
</ tbody >
Title在这里输入文本...

symfony学习笔记
</ table >

你可能感兴趣的:(学习笔记)