En el método JobeetJob::save()
anterior se ha establecido directamente el número de días necesarios para que expire una oferta de trabajo. Seguramente es una buena idea hacer que el número de días sea configurable. El framework Symfony incluye un archivo de configuración llamado app.yml
que se emplea para establecer las opciones de la aplicación. Este archivo en formato YAML puede contener cualquier información que se necesite para la aplicación:
# apps/frontend/config/app.yml
all:
active_days: 30
Desde la aplicación, las opciones del archivo app.yml
se pueden obtener mediante la clase sfConfig
:
sfConfig::get('app_active_days')
El nombre de la opción se ha prefijado con app_
porque la clase sfConfig
también permite obtener las opciones de configuración de Symfony, tal y como veremos más adelante.
Después de añadir la opción de configuración, podemos modificar el método save()
para tenerla en cuenta:
public function save(PropelPDO $con = null)
{
if ($this->isNew() && !$this->getExpiresAt())
{
$now = $this->getCreatedAt() ? $this->getCreatedAt('U') : time();
$this->setExpiresAt($now + 86400 * sfConfig::get('app_active_days'));
}
return parent::save($con);
}
El archivo de configuración app.yml
es una buena manera de centralizar todas las opciones de configuración de la aplicación.
Por último, si vas a utilizar las mismas opciones de configuración para varias aplicaciones de un mismo proyecto, crea un archivo llamado app.yml
en la carpeta config/
del proyecto para incluir todas las opciones compartidas.