amiket sokat kerestem, hogy többet ne kelljen :-)

//sfGuardUser ID:
sfContext::getInstance()->getUser()->getGuardUser()->getId()

//Hogyan alakitsuk egy objetum name tulajdonságát id 'formátumura':
get_id_from_name($name)

// form formázása (<p> stílus):
$formatter = $this->getWidgetSchema()->getFormFormatter();
$formatter->setErrorRowFormat('%errors%');
$formatter->setErrorListFormatInARow("%errors%\n");
$formatter->setErrorRowFormatInARow("<p class='error-message'>%error%</p>");
$formatter->setRowFormat("%error%<p>%label%%field%%help%%hidden_fields%</p>\n");

//$this változóinak lekérdezése
$this->getVarHolder()->getAll()

//SF_ENVIRONMENT 1.2 alatt:
sfConfig::get('sf_environment')

// összes request paraméter lekérése
$this->getRequest()->getParameterHolder()->getAll();
sfContext::getInstance()->getRequest()->getParameterHolder()->getAll()

// egy bizonyos request paraméter lekérése
$this->getRequestParameter('parameter', false);
sfContext::getInstance()->getRequest()->getParameter('parameter');

// controllerben helper használata
sfLoader::loadHelpers(array('Tag', 'Url'));
sfContext::getInstance()->getConfiguration()->loadHelpers(array('Tag', 'Url'));

//i18N akárhol:
sfContext::getInstance()->getI18N()->__('Nincs kiválasztva')

// Ez inkább propel. A model osztályból, annak sql neve:
constant(get_class($this->getPeer()).'::TABLE_NAME')

// ajax link
echo link_to_remote('postolunk', array(
'update'    => 'a div id-ja amibe a visszatérő adatokat kapjuk',
'url'       => 'az ajaxos url',
'method'    => 'post',
//ez meghívja a validate javascript függvényt:
'condition' => "validate(Form.serialize('formId'))",
//és a legfontosabb, így lehet a form adatait is elküldeni:
'submit'    => "formId"
))

// egy form hibát dob, de az épp rejtett, akkor irassuk ki.
$this->form->getErrorSchema()

Callback validator

class aForm extends aBaseForm
{
  public function configure()
  {
    parent::configure() ; //esetleg ez nem fontos
    $this->validatorSchema->setPostValidator(new sfValidatorCallback(array('callback' => array($this, 'fuggvenyneve'))));
  }

  public function fuggvenyneve(sfValidatorBase $validator, array $values)
  {
    // $values tartalmazza az összes adatot, feldolgozod és a $hibavan-nak ennek függvényében értéket adsz:
    if ($hibavan)
    {
      throw new sfValidatorError($validator, 'hibaüzenet');
    }

    return $values;
  }
}

Propel

$c = new Criteria();
$c->addJoin(
    array(ReaderFavoritePeer::BOOK_ID,ReaderFavoritePeer::READER_ID),
    array(BookOpinionPeer::BOOK_ID,BookOpinionPeer::READER_ID))

// és irassuk is ki a criteriát SQL-ben
echo $criteria->toString(); 

// szerezzük meg az ID-kat egy táblából.
$c = new Criteria();
$c->addSelectColumn(MyClassPeer::ID);
$res = BasePeer::doSelect($c);
$Ids = $res->fetchAll(PDO::FETCH_COLUMN,0);

// SELECT  FROM `tabla` WHERE (tabla.mezo1='string1' OR (tabla.mezo1='string2' AND tabla.mezo2='0'))
$c = new Criteria();
$cr1 = $c->getNewCriterion(TablePeer::MEZO1, 'string1');
$cr2 = $c->getNewCriterion(TablePeer::MEZO1, 'string2');
$cr3 = $c->getNewCriterion(TablePeer::MEZO2, '0');
$cr2->addAnd($cr3);
$cr1->addOr($cr2);
$c->add($cr1);
$c->toString();

Task

./symfony i18n:extract frontend hu --auto-save
./symfony i18n:extract frontend hu --display-new