Zend Framework 2 para usuarios Symfony 2 (Video)

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

Encontré un video muy interesante de _orso_ donde se detalla la similitud entre Zend Framework 2 y Symfony 2 que tienen varias características parecidas y que leyendo la documentación seria posible desarrollar con uno o con otro sin mayor problema.

Aca el video (esta en ingles)

Ladybug como instalar en Zend Framework 2 -ZF2

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

Ladybug reemplaza la salida de var_dump / print_r que mejora notablemente la salida en pantalla y sirve para mirar de una manera mejor los elementos de un arreglo.

En el sitio web se dice lo siguiente:

Ladybug provides an easy and extensible var_dump / print_r replacement for PHP 5.3+ projects. Any PHP variable, object or resource can be dumped to beautiful representation:

<?php
$var = array(
array(
'name' => 'Raul',
'age' => 29
),
array(
'name' => 'John',
'age' => 27
)
);

ladybug_dump($var)

 

Para que funcione en ZF2 tan solo se lo debe de instalar utilizando composer agregando en el archivo composer.json lo siguiente:
{
"require": {
"raulfraile/ladybug": "~1.0"
}
}

Para utilizarlo es necesario tan solo de colocar lo siguiente:
ladybug_dump($var)

Otros usos:

Extended objects/resources

Ladybug allows extending any object or resource to display richer information. For example, the ladybug-plugin-extra package provides built-in inspectors for MySQL resultsets or GD images:

<?php
    $connection = mysql_connect('localhost', 'dbuser', 'dbpassword');
    mysql_select_db('dbname', $connection);
    $result = mysql_query('SELECT * FROM user', $connection);

    ladybug_dump($result);

<?php
    $img = imagecreatefrompng(__DIR__ . '/images/ladybug.png');
    ladybug_dump($img);

Mas detalles:
https://github.com/raulfraile/Ladybug

https://github.com/raulfraile/ladybug/blob/master/doc/examples.md

Ejecutar consulta SQL directamente en Zend Framework 2 – zf2

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

Aunque resulte sencillo a veces se nos puede presentar la necesidad de ejecutar código SQL directamente y no hacer uso de ningún ORM sea doctrine o propel, también no exista necesidad de utilizar TableGateway puede ser que simplemente necesitemos utilizar un código SQL normal.

Para esto haremos uso de ResultSet.

Primero debemos definir el Adapter para conectarnos a la base de datos, actualmente lo tengo inicializado en un proyecto en el cual utilizo dos conexiones distintas una para ORACLE y otra para MySQL en el mismo proyecto.

La misma esta inicializada en el modulo en desarrollo dentro del archivo Module.php de esta manera dentro de la función: getServiceConfig y poderlo llamar desde mi controlador:

'Vendedor' => function ($sm) {
$dbAdapter = $sm->get('db1');
return $dbAdapter;
}

El db1 corresponde a la base de datos si solo se trabaja con una base de datos es suficiente colocar en vez de esa instrucción lo siguiente:

$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');

En el controlador se utiliza el siguiente codigo:

public function detalleAction() {
$db = $this->getServiceLocator()->get('Vendedor');
$sql = "SELECT * from user";
$statement = $db->query($sql);
$results = $statement->execute();
$returnArray = array();
foreach ($results as $result) {
$returnArray[] = $result;
}
return new ViewModel(array('users' => $returnArray));
}

Finalmente en la vista se coloca el siguiente código para poder ver los datos:

<h3>Detalles Vendedores</h3>
<table class="table">
<tr>
<th>Codigo</th>
<th>Name</th>
<th>Celular</th>
<th>&nbsp;</th>
</tr>
<?php foreach ($users as $user) : ?>
<tr>
<td><?php echo $this->escapeHtml($user['name']); ?></td>
<td><?php echo $this->escapeHtml($user['id']); ?></td>
<td>
<a href="<?php echo $this->url('dashboard', array('controller' => 'vendedor', 'action' => 'detalle', 'id' => $user['id'])) ?>">Detalle</a>
</td>
</tr>
<?php endforeach; ?>
</table>

Espero esta información les sea útil y la puedan divulgar si creen que es importante.

Cambio en el uso de iframes de youtube.com

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

Como desarrollador web realizo cambios a varios sitio web hace unos dias resulta que me dijeron: “no se puede ver el video de youtube, que sucede” inmediatamente me puse a revisar el codigo fuente el mismo funcionaba perfecto y no habia realizado ningun cambio sin embargo existia este problema. El arreglo resulto rapido pero encontrarlo un poco especial, youtube.com decidio sacar el “http” cuando se llama al iframe es decir antes funcionaba asi el enlace:

<iframe width="400" height="329" src="http://www.youtube.com/embed/9b_NVBgJdpI" frameborder="0" allowfullscreen></iframe>

Ahora para que funcione basta con quitar estas letras y funciona correctamente , quedaria asi en el ejemplo:

<iframe width="400" height="329" src="//www.youtube.com/embed/9b_NVBgJdpI" frameborder="0" allowfullscreen></iframe>

Espero esto les ayude a mi me quito un poco de tiempo este cambio sencillo