Archive for PHP

Enero 14th 2016

Curso Symfony3 gratis http://knpuniversity.com/

Número de lecturas: 6687
{lang: 'es-419'}

Si bien por razones laborales me ha tocado regresar a ver otro framework como Laravel (excelente opcion tambien), siempre estoy pendiente de los avances de Symfony2 que ahora finalmente esta en su versión 3. Muchas dudas se han generado por este lanzamiento sin embargo existe un interesante curso para tener una mejor idea sobre el funcionamiento del framework.

Aquí esta la url del curso gratuito:

http://knpuniversity.com/screencast/symfony

Marzo 31st 2015

Mostrar cambios en ambiente de producción Symfony2

Número de lecturas: 2837
{lang: 'es-419'}

Algo muy común y que se resuelve de una manera sencilla es visualizar los cambios en el ambiente de producción (sucede desde symfony 1.x)

Y para mirar los cambios se debe simplemente limpiar la cache en el entorno de producción.

Para realizar se utiliza este comando desde la consola:

app/console cache:clear --env=prod --no-debug

Si nos muestra un error de permisos se debe utilizar el comando sudo y realizar la tarea de esta manera:

sudo app/console cache:clear --env=prod --no-debug

 

Marzo 25th 2015

Agregar ultima fecha de modificación automaticamente en el CRUD de Symfony2

Número de lecturas: 2220
{lang: 'es-419'}

A veces es necesario ingresar directamente un registro a la base de datos el cual no debe ser manipulado previamente simplemente sirve como un campo de auditoria y de esta manera revisar en que fecha se realizo el cambio.

Cuando utilizamos el CRUD generado por Symfony2 nos genera en el update una función similar a esta:

public function updateAction(Request $request, $id)
{
$em = $this->getDoctrine()->getManager();
 
$entity = $em->getRepository('AppBundle:ControlCambios')->find($id);
 
if (!$entity) {
 
throw $this->createNotFoundException('Unable to find ControlCambios entity.');
}
 
$deleteForm = $this->createDeleteForm($id);
$editForm = $this->createEditForm($entity);
 
$editForm->handleRequest($request);
 
if ($editForm->isValid()) {
$em->flush();
 
return $this->redirect($this->generateUrl('controlcambios_edit', array('id' => $id)));
}
 
return array(
'entity' => $entity,
'edit_form' => $editForm->createView(),
'delete_form' => $deleteForm->createView(),
);
}

Simplemente para agregar este registro en el campo previamente creado basta con agregar la siguiente linea:

//Agrega directamente la fecha de la ultima revision
$entity->setFechaUltimaRevision(new \DateTime());

El método finalmente quedaría de la siguiente manera:

public function updateAction(Request $request, $id)
{
$em = $this->getDoctrine()->getManager();
 
$entity = $em->getRepository('AppBundle:ControlCambios')->find($id);
//Agrega directamente la fecha de la ultima revision
$entity->setFechaUltimaRevision(new \DateTime());
 
if (!$entity) {
 
throw $this->createNotFoundException('Unable to find ControlCambios entity.');
}
 
$deleteForm = $this->createDeleteForm($id);
$editForm = $this->createEditForm($entity);
 
$editForm->handleRequest($request);
 
if ($editForm->isValid()) {
$em->flush();
 
return $this->redirect($this->generateUrl('controlcambios_edit', array('id' => $id)));
}
 
return array(
'entity' => $entity,
'edit_form' => $editForm->createView(),
'delete_form' => $deleteForm->createView(),
);
}
Marzo 12th 2015

Como sumar días a una variable date en twig – Symfony2

Número de lecturas: 6927
{lang: 'es-419'}

Hace unos días se presento la necesidad de sumar variables en twig, para ser precisos teniendo una fecha por ejemplo: 2015-01-04 necesito sumar 540 días para esto utilizo la plugin date_modify presente en twig .

Para realizar esta operación se debe realizar de la siguiente forma:

{% set modify = '540' %}
{% set date = "now"|date("m/d/Y") %}
 
{{ date|date_modify("+" ~ modify ~ " day")|date("m/d/Y") }}

Con esto el resultado seria: 08/31/2016