La primera parte de la presentación trata de la seguridad en Symfony2, explicando los conceptos de autenticación y autorización.
La segunda parte muestra cómo crear el backend o parte de administración de un sitio web. Primero se hace todo a mano, luego se utiliza el generador de código de Symfony2 y por último se utiliza el Sonata Admin Bundle.
"Twig, cuando Django encontró a Symfony" fue la primera ponencia impartida durante el segundo día de las Jornadas Symfony 2011.
Durante la misma, se explican las características más destacadas del motor de plantillas Twig, empezando con las más adecuadas para diseñadores/maquetadores y siguiendo después con las características para desarrolladores.
También se mencionan brevemente las ventajas de la integración de Twig en Symfony2 y se concluye con un ejemplo práctico del uso de Twig en proyectos PHP propios.
Silex, desarrollo web ágil y profesional con PHPJavier Eguiluz
Silex es el microframework de moda en el mundo PHP. Silex te permite desarrollar aplicaciones web profesionales con una agilidad sin precedentes. Su aprendizaje es tan rápido y sencillo que podrás dominarlo en menos de una hora.
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasosJavier Eguiluz
Instalación y primeros pasos fue la primera ponencia impartida durante las Jornadas Symfony 2011. Se trata de la primera parte de las seis que forman el tutorial de desarrollo de la aplicación github.com/desymfony.
Durante la misma se explIca cómo instalar y configurar Symfony2, cómo instalar el proyecto deSymfony, cómo crear los bundles con el generador interactivo y también se introduce el funcionamiento de la arquitectura MVC en Symfony2 mediante la programación de la parte dedicada a mostrar las páginas estáticas de la aplicación.
Exposición de lo que nos ofrece SonataAdminBundle y recorrido práctico desde su instalación, aprendiendo a personalizarlo y solventar diversos casos que nos encontramos con frecuencia en la implementación de un panel de administración con este bundle. Charla impartida en deSymfony 2016 (16-17 de septiembre, Madrid).
Desarrollo código mantenible en WordPress utilizando SymfonyAsier Marqués
El objetivo de esta charla es mostrar cómo aplicar buenas prácticas de desarrollo cuando trabajemos con WordPress, implementando PSRs y desacoplando nuestro código para poder migrarlo en un futuro a otras opciones sin esfuerzo y dotarle de una buena cobertura de tests.
Veremos cómo podemos desarrollar y mantener plataformas basadas en WordPress utilizando cosas como inyección de dependencias, rutas en anotaciones y controladores; cómo utilizar composer para plugins, themes y sus dependencias; cómo montar los despliegues y qué opciones tenemos para utilizar WordPress desde nuestros Bundes.
La primera parte de la presentación trata de la seguridad en Symfony2, explicando los conceptos de autenticación y autorización.
La segunda parte muestra cómo crear el backend o parte de administración de un sitio web. Primero se hace todo a mano, luego se utiliza el generador de código de Symfony2 y por último se utiliza el Sonata Admin Bundle.
"Twig, cuando Django encontró a Symfony" fue la primera ponencia impartida durante el segundo día de las Jornadas Symfony 2011.
Durante la misma, se explican las características más destacadas del motor de plantillas Twig, empezando con las más adecuadas para diseñadores/maquetadores y siguiendo después con las características para desarrolladores.
También se mencionan brevemente las ventajas de la integración de Twig en Symfony2 y se concluye con un ejemplo práctico del uso de Twig en proyectos PHP propios.
Silex, desarrollo web ágil y profesional con PHPJavier Eguiluz
Silex es el microframework de moda en el mundo PHP. Silex te permite desarrollar aplicaciones web profesionales con una agilidad sin precedentes. Su aprendizaje es tan rápido y sencillo que podrás dominarlo en menos de una hora.
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasosJavier Eguiluz
Instalación y primeros pasos fue la primera ponencia impartida durante las Jornadas Symfony 2011. Se trata de la primera parte de las seis que forman el tutorial de desarrollo de la aplicación github.com/desymfony.
Durante la misma se explIca cómo instalar y configurar Symfony2, cómo instalar el proyecto deSymfony, cómo crear los bundles con el generador interactivo y también se introduce el funcionamiento de la arquitectura MVC en Symfony2 mediante la programación de la parte dedicada a mostrar las páginas estáticas de la aplicación.
Exposición de lo que nos ofrece SonataAdminBundle y recorrido práctico desde su instalación, aprendiendo a personalizarlo y solventar diversos casos que nos encontramos con frecuencia en la implementación de un panel de administración con este bundle. Charla impartida en deSymfony 2016 (16-17 de septiembre, Madrid).
Desarrollo código mantenible en WordPress utilizando SymfonyAsier Marqués
El objetivo de esta charla es mostrar cómo aplicar buenas prácticas de desarrollo cuando trabajemos con WordPress, implementando PSRs y desacoplando nuestro código para poder migrarlo en un futuro a otras opciones sin esfuerzo y dotarle de una buena cobertura de tests.
Veremos cómo podemos desarrollar y mantener plataformas basadas en WordPress utilizando cosas como inyección de dependencias, rutas en anotaciones y controladores; cómo utilizar composer para plugins, themes y sus dependencias; cómo montar los despliegues y qué opciones tenemos para utilizar WordPress desde nuestros Bundes.
De toda la documentación de WordPress hay una página muy importante que vela por la seguridad de nuestra salud mental: “PHP Coding Standards”, una guía con 19 consejos muy simples sobre cómo escribir código PHP bonito, del bueno, ese del cual podemos jactarnos de “Code is Poetry”.
Veremos en esta charla los puntos más importantes de la guía aplicados a casos reales de proyectos heredados y sus posibles resoluciones.
Integrando React.js en aplicaciones Symfony (deSymfony 2016)Ignacio Martín
Introducción a React.js + técnicas y conceptos útiles, como aplicaciones universales (isomórficas) o cómo usar json schema para facilitarnos la vida al trabajar con formularios.
El objetivo de esta práctica es aplicar de forma integral los aspectos básicos de flash en una aplicación web, realizada totalmente en flash(ActionScript), que permite clasificar y acceder a una serie de prácticas resueltas relacionadas con materias informáticas. En esta práctica se utilizan componentes (Accordion, Button, ProgressBar, RadioButton, ScrollPane, Tree, MediaDisplay, MediaController, Window,…), loadMovie, #include (.as), import (class), clips de película, audio y video, capas máscara y guía, etc.
Geografía como plataforma: API REST vs OGC y Geodatabases - Conferencia Esri ...Esri
Presentación del equipo técnico de Esri España en la pasada conferencia.
Si quieres ver los vídeos y fotos de la conferencia, visita la web:
http://evento.esri.es/es/esri2012/
De toda la documentación de WordPress hay una página muy importante que vela por la seguridad de nuestra salud mental: “PHP Coding Standards”, una guía con 19 consejos muy simples sobre cómo escribir código PHP bonito, del bueno, ese del cual podemos jactarnos de “Code is Poetry”.
Veremos en esta charla los puntos más importantes de la guía aplicados a casos reales de proyectos heredados y sus posibles resoluciones.
Integrando React.js en aplicaciones Symfony (deSymfony 2016)Ignacio Martín
Introducción a React.js + técnicas y conceptos útiles, como aplicaciones universales (isomórficas) o cómo usar json schema para facilitarnos la vida al trabajar con formularios.
El objetivo de esta práctica es aplicar de forma integral los aspectos básicos de flash en una aplicación web, realizada totalmente en flash(ActionScript), que permite clasificar y acceder a una serie de prácticas resueltas relacionadas con materias informáticas. En esta práctica se utilizan componentes (Accordion, Button, ProgressBar, RadioButton, ScrollPane, Tree, MediaDisplay, MediaController, Window,…), loadMovie, #include (.as), import (class), clips de película, audio y video, capas máscara y guía, etc.
Geografía como plataforma: API REST vs OGC y Geodatabases - Conferencia Esri ...Esri
Presentación del equipo técnico de Esri España en la pasada conferencia.
Si quieres ver los vídeos y fotos de la conferencia, visita la web:
http://evento.esri.es/es/esri2012/
En esta sencilla y muy resumida presentación, se hace un repaso de las herramientas y arquitecturas a utilizar para publicar información con componente espacial en vía Web.
Charla para JS Day Madrid 2015 09/05/2015:
- Video: https://goo.gl/jOm4aN
- Slideshare: http://goo.gl/cnTQw9
- Github: https://goo.gl/as8pdD
Cada lenguaje, cada tecnología, cada paradigma de programación persigue siempre la reutilización de código. En la comunidad de desarrollo se habla frecuentemente de DRY (Don’t Repeat Yourself) o WORE (Write Once Run Everywhere). Pero estos manidos mantras se quedan frecuentemente en una mera declaración de principios.
El código desarrollado para su reutilización no es capaz de reubicarse en otros contextos arquitectónicos de aquellos para los que fue inicialmente diseñado. Las capacidades de meta-programación de JavaScript le convierten en un lenguaje flexible y lo suficientemente plástico como para adaptarse dinámicamente a cualquier solución construida.
En esta charla exploramos como construir programas que se modifiquen a si mismos para resolver estos problemas y discutiremos mecanismos, técnicas y patrones de metaprogramación basados en componentes de software.
Documento Formativo de Symfony2 en el que explica desde qué es Symfony hasta los primeros pasos básicos: instalación, configuración, entidades, Twig, YAML...
Presentación que explica los fundamentos de una metodología llamada SIG en la Web, la cual muestra las características, las formas de implementación, y cómo afecta al trabajo de un profesional GIS dependiendo de su rol
Integrando Redis en aplicaciones Symfony2Ronny López
Sus múltiples casos de usos y su excepcional rendimiento hacen que Redis sea hoy una pieza clave en la arquitectura de aplicaciones altamente dinámicas.
En la charla se expone de forma práctica cómo puede integrarse Redis en una aplicación Symfoy y cómo pueden implementarse varias de las características de las aplicaciones usando Redis, como por ejemplo: Session storage, Monolog logging handlers, Doctrine caching, SwiftMailer spooling, Profiler storage, Data Collector for Symfony2 Profiler.
Además de estos casos de uso generales, se comentan otros casos de usos específicos de aplicaciones que por su naturaleza no pueden beneficiarse de una capa de cache y se requiere por tanto una herramienta eficiente y escalable para resolver ciertos tipos de problemas.
Damos a un repaso a las principales características de Angular 2 y como aprovechas las nuevas revoluciones en el desarrollo frontend: Web components y TypeScript
Taller sobre Spring 2.5 creado por Sergi Almar y Erick Camacho.
Impartido en el Open Java Day, en Madrid en junio de 2008 y en la 2a reunión de SpringhHspano en México D.F. en octubre de 2008
deSymfony 2017: Symfony 4, Symfony Flex y el futuro de SymfonyJavier Eguiluz
Un recorrido por las novedades que traerá Symfony 4 (cuando se publique en noviembre de 2017) y un primer vistazo a Symfony Flex, la nueva herramienta para crear y gestionar aplicaciones Symfony.
New Symfony Tips & Tricks (SymfonyCon Paris 2015)Javier Eguiluz
This talk included tens of tips and tricks, new features and rarely used options for Symfony and its ecosystem. Besides the full-stack Symfony framework, other related technologies were mentioned, like Doctrine, Composer, Twig, PHPUnit and Monolog.
Twig is the template engine used by Drupal 8 and other modern PHP applications. Twig's expressiveness, consistency and secure-by-default policy are still unparalleled among PHP's template engines.
In this session you'll learn advanced techniques, tips and tricks useful for real-world applications and uncommonly used features that will allow you to master Twig.
A quick overview of tips, tricks and code snippets for developers using Symfony and all its ecosystem, from Monolog to Doctrine. Learn how to become more productive and discover some rarely used options and features.
This is the winner proposal of the Sismo Challenge programming contest organized by ibuildings.
Reference: http://techportal.ibuildings.com/2012/04/17/sismo-challenge-results/
Backend fue la quinta ponencia impartida durante el primer día de las Jornadas Symfony 2011. Se trata de la quinta parte de las seis que forman el tutorial de desarrollo de la aplicación github.com/desymfony.
Durante la misma se explica cómo crear a mano la parte de administración de la aplicación. También se explica cómo proteger la parte de administración con la protección que ofrece HTTP y con usuarios creados en memoria y no en base de datos. Por último, se muestra brevemente cómo utilizar el nuevo generador interactivo para crear automáticamente una administración básica.
Las Jornadas Symfony 2011 comenzaron con una breve introducción a Symfony2.
Durante la presentación se muestran algunas de las características más destacadas de Symfony2 a través de diez palabras clave.
Esta presentación es la versión simplificada de la que se utilizó en las primeras Jornadas Symfony. Puedes ver la grabación en vídeo de la presentación original en http://bit.ly/symfony2
- - - - - - -
This is the simplified version of the presentation used at the first Spanish Symfony Conference. You can watch the video recording of the original presentation at http://bit.ly/symfony2
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaAMADO SALVADOR
Descubre el catálogo general de la gama de productos de refrigeración del fabricante de electrodomésticos Miele, presentado por Amado Salvador distribuidor oficial Miele en Valencia. Como distribuidor oficial de electrodomésticos Miele, Amado Salvador ofrece una amplia selección de refrigeradores, congeladores y soluciones de refrigeración de alta calidad, resistencia y diseño superior de esta marca.
La gama de productos de Miele se caracteriza por su innovación tecnológica y eficiencia energética, garantizando que cada electrodoméstico no solo cumpla con las expectativas, sino que las supere. Los refrigeradores Miele están diseñados para ofrecer un rendimiento óptimo y una conservación perfecta de los alimentos, con características avanzadas como la tecnología de enfriamiento Dynamic Cooling, sistemas de almacenamiento flexible y acabados premium.
En este catálogo, encontrarás detalles sobre los distintos modelos de refrigeradores y congeladores Miele, incluyendo sus especificaciones técnicas, características destacadas y beneficios para el usuario. Amado Salvador, como distribuidor oficial de electrodomésticos Miele, garantiza que todos los productos cumplen con los más altos estándares de calidad y durabilidad.
Explora el catálogo completo y encuentra el refrigerador Miele perfecto para tu hogar con Amado Salvador, el distribuidor oficial de electrodomésticos Miele.
En este documento analizamos ciertos conceptos relacionados con la ficha 1 y 2. Y concluimos, dando el porque es importante desarrollar nuestras habilidades de pensamiento.
Sara Sofia Bedoya Montezuma.
9-1.
56. DESARROLLO
WEB ÁGIL CON todos los ejemplos que se muestran
SYMFONY2 a continuación pertenecen al libro
Desarrollo web ágil
con Symfony2
(disponible próximamente)
Javier Eguiluz
77. Itera sólamente por los
amigos del usuario
{% set usuarios = 1..30 %}
{% set amigos = [12, 29, 34, 55, 67] %}
78. {% set usuarios = 1..30 %}
{% set amigos = [12, 29, 34, 55, 67] %}
{% for usuario in usuarios
if usuario in amigos %}
{# sólo 12 y 29 #}
{% endfor %}
121. public function getFilters()
{
return array('longitud' => new
Twig_Filter_Method($this,
'longitud')
);
}
function longitud($valor)
{
return strlen($valor);
}
122. public function getFilters()
{
return array('longitud' => new
Twig_Filter_Method($this,
'longitud')
);
}
function longitud($valor)
{
return strlen($valor);
}
172. <select id="ciudad">
{% for ciudad in ciudades %}
<option value="{{ ciudad.slug }}">
{{ ciudad.nombre }}
</option>
{% endfor %}
</select>
173. <script type="text/javascript">
var lista = document.getElementById('ciudad');
var ciudad = lista.options[lista.selectedIndex].value;
lista.onchange = function() {
var url = {{ path('portada', {'ciudad': ciudad }) }};
window.location = url;
};
</script>
174. <script type="text/javascript">
var lista = document.getElementById('ciudad');
var ciudad = lista.options[lista.selectedIndex].value;
lista.onchange = function() {
var url = {{ path('portada', {'ciudad': ciudad }) }};
window.location = url;
};
</script>
175. <script type="text/javascript">
var lista = document.getElementById('ciudad');
var ciudad = lista.options[lista.selectedIndex].value;
lista.onchange = function() {
var url = Routing.generate('portada',
{'ciudad': ciudad});
window.location = url;
};
</script>
176. <script type="text/javascript" src="
{{ asset('bundles/fosjsrouting/js/router.js') }}
"></script>
<script type="text/javascript" src="
{{ path('fos_js_routing_js', {"callback":
"fos.Router.setData"}) }}
"></script>
<script type="text/javascript">
var lista = document.getElementById('ciudad');
var ciudad = lista.options[lista.selectedIndex].value;
lista.onchange = function() {
var url = Routing.generate('portada',
{'ciudad': ciudad});
window.location = url;
};
</script>
183. {{ ... | length }}
Tienes {{ amigos|length }} amigos
y tu nombre tiene
{{ nombre|length }} letras
184. {{ ... | length }}
count( )
Tienes {{ amigos|length }} amigos
y tu nombre tiene
{{ nombre|length }} letras
185. {{ ... | length }}
count( )
Tienes {{ amigos|length }} amigos
y tu nombre tiene
{{ nombre|length }} letras
strlen( )
186. {{ ... in ... }}
{% if fecha in ['2005', '2006'] %}
Eres un early-adopter
{% endif %}
{% if password in login %}
La contraseña no puede ser
una parte del login
{% endif %}
187. {{ ... in ... }}
in_array( )
{% if fecha in ['2005', '2006'] %}
Eres un early-adopter
{% endif %}
{% if password in login %}
La contraseña no puede ser
una parte del login
{% endif %}
188. {{ ... in ... }}
in_array( )
{% if fecha in ['2005', '2006'] %}
Eres un early-adopter
{% endif %}
strpos( )
{% if password in login %}
La contraseña no puede ser
una parte del login
{% endif %}
189. {% for letra in 'a'|upper..inicial|default('z')|upper %}
{{ letra }}
{% endfor %}
190. {% for letra in 'a'|upper..inicial|default('z')|upper %}
{{ letra }}
{% endfor %}
{% filter upper %}
{% for letra in 'a'..inicial|default('z') %}
{{ letra }}
{% endfor %}
{% endfilter %}
191. {% for letra in 'a'|upper..inicial|default('z')|upper %}
{{ letra }}
{% endfor %}
{% filter upper %}
{% for letra in 'a'..inicial|default('z') %}
{{ letra }}
{% endfor %}
{% endfilter %}
{% for letra in 'a'..inicial|default('z') %}
{{ letra | upper }}
{% endfor %}