Accéder au contenu principal

Vue d'ensemble de Symfony2

Pour vérifier si votre environnement est compatible, rendez-vous à l'adresse suivante : http://localhost/Symfony/web/config.php.

http://localhost/Symfony/web/app_dev.php

Pour ajouter la variable à Windows
  1. Allez dans les paramètres système avancés (Démarrer > Panneau de configuration > Système et sécurité > Système > Paramètres système avancés) ;
  2. Cliquez sur le bouton Variables d'environnement… ;
  3. Regardez dans le panneau Variables système ;
  4. Trouvez l'entrée Path (vous devriez avoir à faire descendre l'ascenseur pour le trouver) ;
  5. Double-cliquez sur l'entrée Path ;
  6. Entrez votre répertoire PHP à la fin, sans oublier le point-virgule ";" auparavant. C'est le répertoire dans lequel se trouve le fichier php.exe. Par exemple ;C:\wamp\bin\php\php5.5.12 ;
  7. Confirmez en cliquant sur OK. Vous devez ensuite redémarrer l'invite de commandes pour prendre en compte les changements.

    L'architecture des fichiers

    • app : Ce répertoire contient tout ce qui concerne votre site Internet… sauf son code source.
    • src : le répertoire dans lequel on mettra le code source
    • vendor : Ce répertoire contient toutes les bibliothèques externes à notre application.
    • web : Ce répertoire contient tous les fichiers destinés à vos visiteurs : images, fichiers CSS et JavaScript, etc. , c'est le seul répertoire qui devrait être accessible à nos visiteurs. 

      L'environnement

Parcours d'une requête dans Symfony2

La structure d'un bundle  ( src/Acme/DemoBundle/ )

/Controller          | Contient vos contrôleurs
/DependencyInjection | Contient des informations sur votre bundle (chargement automatique de la configuration par exemple)
/Entity              | Contient vos modèles
/Form                | Contient vos éventuels formulaires
/Resources
-- /config             | Contient les fichiers de configuration de votre bundle (nous placerons les routes ici, par exemple)
-- /public             | Contient les fichiers publics de votre bundle : fichiers CSS et JavaScript, images, etc.
-- /views              | Contient les vues de notre bundle, les templates Twig

Utilisation de la console 

C:\wamp\www\Symfony>php app/console  Symfony
exécutez la commande php app/console generate:bundle.( Pour créer un Bundle )

Nous allons nommer notre namespace « OC\PlatformBundle ». Explications :
  1. « OC » est le namespace racine : il vous représente vous ou votre entreprise. Vous pouvez mettre votre pseudo, le nom de votre site, celui de votre entreprise, etc. C'est un nom arbitraire. J'utiliserai OC pour OpenClassrooms ;
  2. « Platform » est le nom du bundle en lui-même : il définit ce que fait le bundle. Ici, nous créons une plateforme d'échange, nous l'avons donc simplement appelé « Platform » ;
  3. « Bundle » est le suffixe obligatoire.

    Entrez donc dans la console OC/PlatformBundle,

    appuyez donc simplement sur Entrée

    Nous allons utiliser le YAML (yml)

    Symfony2 vous demande si vous voulez générer juste le minimum ou une structure plus complète pour le bundle :Nous n'avons pas besoin de tout générer ici, appuyez donc sur Entrée pour dire non. 

    Pour toutes les questions suivantes, confirmez en appuyant sur Entrée à chaque fois.

    Tout d'abord, je vous réserve une petite surprise : allez voir sur http://localhost/Symfony/web/app_dev.php/hello/younes ! Le bundle est déjà opérationnel ! Le code-exemple généré affiche le texte passé dans l'URL, vous pouvez donc également essayer ceci : http://localhost/Symfony/web/app_dev.php/hello/younes
      
    Mais pourquoi n'y a-t-il plus la toolbar en bas de la page ? 
     {# src/OC/PlatformBundle/Resources/views/Default/index.html.twig #}

    <html>
      <body>
        Hello {{ name }}!
      </body>
    </html> 

    À retenir

    Ce qu'il faut retenir de tout cela, c'est que pour qu'un bundle soit opérationnel, il faut :
  4. Son code source, situé dans src/Application/Bundle, et dont le seul fichier obligatoire est la classe à la racine OCPlatformBundle.php ;
  5. Enregistrer le bundle dans le noyau pour qu'il soit chargé, en modifiant le fichier app/AppKernel.php ;
  6. Enregistrer les routes (si le bundle en contient) dans le Routeur pour qu'elles soient chargées, en modifiant le fichier app/config/routing.yml.
Ces trois points sont bien sûr effectués automatiquement lorsqu'on utilise le générateur. Mais vous pouvez tout à fait créer un bundle sans l'utiliser, et il faudra alors remplir cette petite checklist manuellement.
  1.  

Commentaires

Posts les plus consultés de ce blog

cPanel DDOS attack - Mitigate Slowloris Attacks - mod_qos

Apache mod_evasive Mod_evasive is a module available for the Apache HTTP server that can automatically block attacks by rate-limiting any IP that sends too many requests in a short time. Start by installing the module from WHM’s  EasyApache 4  interface. Select the  Currently Installed Packages  profile, search for  mod_evasive  in the  Apache Modules  section, and then install it. The default settings are good for most servers, but you can tweak them further by editing the configuration file  /etc/apache2/conf.d/300-mod_evasive.conf . You can also whitelist specific IP addresses or classes, so legitimate requests are not blocked. Configure CSF to block attacks While  mod_evasive  works very well, it only protects the Apache webserver. In order to harden other services as well, you can install the free  ConfigServer Security & Firewall  (CSF), which also includes a WHM plugin. As the  root  user, install CSF with these terminal commands: cd /usr/src rm -fv csf.tgz wget https://down

Spool file is locked (another process is handling this message)

LOG: MAIN cwd=/usr/local/cpanel/whostmgr/docroot 4 args: /usr/sbin/exim -v -Mrm 1dUoey-0006YJ-3A Message 1dUoey-0006YJ-3A is locked LOG: skip_delivery MAIN Spool file is locked (another process is handling this message) To do this you can run the following commands. |exim -Mt 1dUoey-0006YJ-3A |exim -Mrm 1dUoey-0006YJ-3A I am also providing the following page in case you want more information regarding the exim command options. http://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html

Open Media Vault NAS change password

Known Root Password Login to the OMV using the root user and the current password via SSH or Console enter the following command passwd root The new password is now active. Unknown Root Password, but Admin Access to OMV GUI is Available In this scenario we still can help ourselves with the GUI. The method we use is, that we create a cron job for the root user which then resets the password. Navigate to System -> Cron Jobs Press the +Add button UN-tick the enabled box, so that the cronjob does not run automatically. put into the command field the following line, replace newpasswd with your password: echo "root:newpasswd" | chpasswd press okay select the newly created cron job Click the run button. in the opening window click the start button. It will shortly deactivate and activate again. open ssh or console and login as root with your new password. Root and Admin Password Unknown If you do not know the root password, you need to boot with a Li