May 2008

Symfony e Prototype

Não sei se todos conhecem mas o Prototype é uma excelente biblioteca JavaScript. Quem não conhece, recomendo bastante conhecê-la, pois sua vida vai mudar muito depois que utilizá-la.

Precisei utilizá-la no Symfony e tcharam, ela já está embutida nesse framework. Está embutida sim, mas não ativada, e para isso basta colar o código a seguir em sua action:

$prototypeDir = sfConfig::get(‘sf_prototype_web_dir’);
$this->getResponse()->addJavascript($prototypeDir . ‘/js/prototype’);

Ou se quiser em todo projeto do Symfony, adicione no view.yml:
all:
  javascripts: [SF_PROTOTYPE_WEB_DIR/js/prototype]

Um pequeno exemplo bem básico de utilização do Prototype:

<input onclick="$(‘id_teste’).show()" type="radio" name="teste" /> Aparecer
<input onclick="$(‘id_teste’).hide()" type="radio" name="teste" /> Esconder <br />
<span id="id_teste" style="display:none">www.symfonybr.com</span>

Simples né?
Para saber mais, acesse http://www.prototypejs.org/

Até mais.

ajax
php

Comments (0)

Permalink

Logando o tempo de execução de um script com sfFileLogger

Neste post irei mostrar uma maneira de como logar o tempo de execução de um script qualquer.

// cria novo objeto de log

$logger = new sfFileLogger();

// inicio o logger e digo o lugar para gravar o arquivo
$logger->initialize(array(‘file’ => sfConfig::get("sf_log_dir").‘/tempos.log’));

// escrevendo no arquivo
$logger->log("Inicio do processamento X", 0, "Cliente");

// processamento
// aqui vem o código que possa levar algum tempo…

$logger->log("Fim de processamento", 0, "Cliente");

Você terá no log/tempos.log algo do tipo:

Mai 09 00:08:06 symfony [Cliente] Inicio do processamento X
Mai 09 00:08:22 symfony [Cliente] Fim de processamento

Ref: custom-file-logging-in-symfony-for-cron-jobs-or-more/

log
php
symfony

Comments (1)

Permalink

Alterando valores no app.yml dinamicamente

Suponha que você tenha o arquivo apps/frontend/config/app.yml ,

all:
  count: 10
 

e agora você quer atualizar este valor:


$config = sfYaml::load( sfConfig::get("sf_app_config_dir") . "/app.yml");
$config[‘all’][‘count’] = "20";
$yaml = sfYaml::dump($config);
file_put_contents( sfConfig::get("sf_app_config_dir") . "/app.yml" , $yaml);
 

Pronto. O app.yml estará com o novo valor.

É interessante limpar o cache depois de uma alteração desse tipo.

cache
php
symfony
yml

Comments (0)

Permalink