Java par pratique

Apprendre Java sur des exemples

Ce site ne sera plus alimenté de contenu après août 2014. Tous les nouveaux articles seront redigés pour www.waitingforcode.com

A l'origine vous êtes un développeur PHP avec l'envie de progresser vers un autre univers du web, celui du Java ? Ou tout simplement PHP a atteint ses limites dans les projets de vos applications web. Apprenez Java par pratique à travers de différents articles. Chaque article est composé d'une partie explicative et d'un code d'exemple qui illustre la mise en place de cette théorie. Vous pouvez étudier Java à travers des catégories suivantes :

1. Informations sur le langage

Nombre d'articles : 18

2. Programmation Orientée Objet

Nombre d'articles : 6

3. Standards du codage

Nombre d'articles : 7

4. Instructions conditionnelles et boucles

Nombre d'articles : 1

5. Classes

Nombre d'articles : 9

6. Packages

Nombre d'articles : 3

7. Machine virtuelle du Java (JVM)

Nombre d'articles : 4

8. Concurrence

Nombre d'articles : 16

9. Date, temps et localisation

Nombre d'articles : 1

10. Vues

Nombre d'articles : 1

11. Expressions régulières

Nombre d'articles : 1

Voici les conventions utilisées dans les articles :

NAME
Le nom original ou anglophone d'un élément.

Java's class resultLe résultat du code affiché sur l'écran.

public class JavaClass 
Le code de la classe Java.

Un conseil Symfony2

Comment personnaliser l'affichage des champs du formulaire ?

Pour personnaliser l'affichage des champs du formulaire sous Symfony2 on doit surcharger le paramètre nommé templating.helper.form.class. Par défaut il s'agit de la classe Symfony\Bundle\FrameworkBundle\Templating\Helper\FormHelper. Le code se présente ainsi :

<?xml version="1.0" encoding="UTF-8" ?>
  <container xmlns="http://symfony.com/schema/dic/services"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
    <parameters>
      <parameter key="templating.helper.form.class">Frontend\FrontBundle\Helper\FormHelper
    </parameters>
  </container>
La classe surchargée va, avant d'afficher le champ, faire appel à la méthode setTheme(). Tout cela pour déterminer quel thème doit utiliser Symfony2 pour le rendu du formulaire (champ text, boutons radio etc.). Le code de cette FormHelper se présente ainsi :
namespace Frontend\FrontBundle\Helper;

use Symfony\Component\Templating\Helper\Helper;
use Symfony\Component\Templating\EngineInterface;
use Symfony\Component\Form\FormView;
use Symfony\Component\Form\Exception\FormException;
use Symfony\Component\Form\Util\FormUtil;
use Symfony\Bundle\FrameworkBundle\Templating\Helper\FormHelper as ParentHelper;

class FormHelper extends ParentHelper
{
    protected $engine;

    protected $varStack;

    protected $context;

    protected $resources;

    protected $themes;

    protected $templates;

    protected function renderSection(FormView $view, $section, array $variables = array())
    {
        // if new theme is set (for exemple for override form templates)
        if(isset($variables['attr']['theme'])) $this->setTheme($view,  $variables['attr']['theme']);
        return parent::renderSection($view, $section, $variables);
    }

}
Afin de personnaliser un champ du formulaire sous Symfony2 il faut passer un paramètre theme qui appelera la fonction setTheme. Voici un exemple :
// it will show the template located ad /app/Resources/views directory
echo $view['form']->widget($form['replyType'], array('attr' => array('theme' => array(0 => ':'))));
Pour voir comment on peut personnaliser ces champs, veuillez vous référer aux fichiers placés dans /vendor/Symfony/Bundle/FrameworkBundle/Resources/views/Form.