Créer un compte ou loggez-vous pour pouvoir ajouter, commenter et noter les snippets.

Navigation

Tags relatifs

my Symfony Plugins

Plugins demos


My bookmarks

Vous pouvez commenter/noter en utilisant le compte anonymous (mot de passe: anonymous)
You can comment/rate using the anonymous account (password: anonymous).

Snippets taggés : "config" Snippets taggés : "config"

[symfony 1.1] Récupérer l'environnement en cours - 186 view(s)

<?php if (sfConfig::get('sf_environment') != 'dev'): ?>
par COil le 2008-10-07, taggé : config  dev  env  prod  symfony 
(1 commentaire)

[symfony 1.1] Fichier ProjectConfiguration.php typique pour une installation symfony en svn external - 583 view(s)

<?php
 
require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';
sfCoreAutoload::register();
 
class ProjectConfiguration extends sfProjectConfiguration
{
}
?>
 
par COil le 2008-09-29, taggé : config  external  project  svn  symfony 
(1 commentaire)

[symfony 1.1] Créer un handler de config yml basique pour un plugin - 309 view(s)

Permet de loader un yml dans le plugin avec la possibilité de l'overwritter s'il ce meme fichier est present dans l'application.

Dans /plugin/myPlugin/config faire un fichier config_handlers.yml

config/sfBBCodeParser.yml:
  class: sfSimpleYamlConfigHandler
 

Donc ici, on va preparer une pre-compilation de ce fichier de config dans le cache, mais il ne sera pas inclut par défaut. Il faut donc l'apeller a partir du cache config des lors qu'on en a besoin.

/**
 * Test and include the default sfBBCodeParserPlugin config if it doesn't exists.
 * 
 * @author loic.vernet
 * @since  30 july 08
 * 
 * @param Array $config
 */
function bb_check_and_include_config($config)
{
  if (!$config)
  {
    // Include config file from generated cache  
    $bb_config_file = include(sfContext::getInstance()->getConfigCache()->checkConfig(sfBBCodeParserConfig::getConfileFilePattern()));
    sfConfig::set(sfBBCodeParserConfig::getNamespace(), $bb_config_file);
  }
 
  return $config['config'];
}
 

Ici j'ai ajouté une classe d'abstraction pour gérer la configuration du plugin.

par COil le 2008-09-29, taggé : cache  config  handler  symfony  yml 
(1 commentaire)

[PHP] Récupérer le répertoire du fichier en cours - 129 view(s)

Pour pointer vers un external symfony dans /lib/vendor par exemple.

$sf_symfony_lib_dir  = dirname(__FILE__). '/../lib/vendor/symfony/lib';
$sf_symfony_data_dir = dirname(__FILE__). '/../lib/vendor/symfony/data';
 
par COil le 2008-09-29, taggé : config  dir  file  path  php 
(1 commentaire)

[symfony] Désactiver l'auto-start de session - 175 view(s)

in factories.yml file add a auto_start entry like this:

all:
   storage:
     param:
       auto_start: false
 
par COil le 2008-09-29, taggé : config  session  start  storage  symfony  yml 
(1 commentaire)

[symfony 1.0] Récupérer la configuration de sécurité d'un module à partir d'une action - 162 view(s)

$security = $this->getSecurityConfiguration();
 
par COil le 2008-09-29, taggé : config  security  symfony  yml 
(1 commentaire)

[symfony 1.0] Validation avec un fichier de validateurs externes - 151 view(s)

fillin:
  enabled:      on
  param:
    id:         seller_stockcreate_form
 
fields:
  shop_product{quantity}:
    required:
      msg:                 Vous devez selectionner une quantité
    itemQuantityValidator:
 
  shop_product{price}:
    required:
      msg:                 Vous devez entrer un prix
    shopProductPriceValidator:
 
# Inclusion de l'ensemble des validateurs definis pour le site
<?php include('validate/_validators.yml'); ?>
par COil le 2008-09-29, taggé : config  symfony  validation  validator 
(1 commentaire)

[Symfony] Choix multiple pour un requirement sans regexp - 382 view(s)

page:
  url: /:sf_culture/:page
  requirements: { sf_culture: (?:fr|en|de) }
  params: ...
 
par COil le 2008-09-29, taggé : config  routing  symfony 
(1 commentaire)

[symfony 1.0] Fichier de validation typique - 352 view(s)

methods:
  post:
    - "user_profile{login}"
    - "user_profile{password}"
    - "user_profile{check_password}"
    - "user_profile{email}"
    - "user_profile{civility}"
    - "user_profile{first_name}"
    - "user_profile{last_name}"
    - "user_profile{birth_date}"
    - "user_profile{address}"
    - "user_profile{postal_code}"
    - "user_profile{town}"
    - "captcha"
    - "user_profile{is_newsletter_subscribed}"
    - "user_profile{is_partners_subscribed}"
    - "user_profile{photo}"
    - "user_profile{personal_url}"
 
fillin:
  enabled: true
  param:
    name: form_register_member
 
names:
  user_profile{login}:
    required:      Yes
    required_msg:  le login est obligatoire
    validators:    [usernameValidator, loginValidator]
 
  user_profile{password}:
    required:      Yes
    required_msg:  le mot de passe est requis
    validators:    passwordValidator
 
  user_profile{check_password}:
    required:     Yes
    required_msg: La confirmation du mot de passe est obligatoire 
    validators:   passwordValidator
 
  user_profile{email}:
    required:      Yes
    required_msg:  l'email est obligatoire
    validators:    [emailValidator, mailuniqValidator]
 
  user_profile{civility}:
    required:      Yes
    required_msg:  veuillez choisir votre civilité
 
  user_profile{first_name}:
    required:      Yes
    required_msg:  le prénom est obligatoire
    validators:    usernameValidator
 
  user_profile{last_name}:
    required:      Yes
    required_msg:  le nom est obligatoire
    validators:    usernameValidator
 
  user_profile{birth_date}:
    required:      Yes
    required_msg:  le nom est obligatoire
    validators:    usernameValidator     
 
  user_profile{address}:
    required:     Yes
    required_msg: l'adresse est obligatoire
 
  user_profile{postal_code}:
    required:      Yes
    required_msg:  le code postal est obligatoire
    validators:    zipcodeValidator

  user_profile{town}:
    required:     Yes
    required_msg: la ville est obligatoire
 
  captcha:
    required:      Yes
    required_msg:  vous devez recopier le code
    validators:    captchaValidator
 
  user_profile{is_newsletter_subscribed}:
    required:     no
 
  user_profile{is_partners_subscribed}:
    required:     no
 
  user_profile{photo}:
    required:     no
 
  user_profile{personal_url}:
    required:     no
 
passwordValidator:
  class:          sfCompareValidator
  param:
    check:          passconf
    compare_error:  les mots de passe ne correspondent pas
 
loginValidator:
  class:            sfPropelUniqueValidator
  param:
    class:          sfGuardUser
    column:         username
    unique_error:   ce login est déjà enregistré, choisissez en un autre.
 
mailuniqValidator:
  class:            sfPropelUniqueValidator
  param:
    class:          UserProfile
    column:         email
    unique_error:   cet email est déjà enregistré, choisissez en un autre.

zipcodeValidator:
  class:            sfNumberValidator
  nan_error:        Veuillez n'entrer que des chiffres
  min:              5
  min_error:        le code postal est au minimum composé de 5 chiffres
 
usernameValidator:      
  class: sfStringValidator
  param:
    min: 3
    min_error: ce login doit être plus long
 
emailValidator:
  class:         sfEmailValidator
  param:
    email_error: l'adresse email n'est pas valide
 
captchaValidator:
  class:         captchaValidator
  param:
    error:       vous devez recopier correctement le code de validation
 
 
 
 
 
methods:         [post]     # This is the default setting
 
fillin:
  enabled:       true
  param:         
    name:        send_page_to_friend_form
    #skip_fields:   [email]  # Do not repopulate these fields
    #exclude_types: [hidden, password] # Do not repopulate these field types
    #check_types:   [text, checkbox, radio, password, hidden] # Do repopulate these
 
validators:
  myStringValidator:
    class: sfStringValidator
    param:
      min:       2
      min_error: This field is too short (2 characters minimum)
      max:       100
      max_error: This field is too long (100 characters maximum)
 
fields:
  name:
    required:
      msg:       The name field cannot be left blank
    myStringValidator:
  email:
    required:
      msg:       The email field cannot be left blank
    myStringValidator:
    sfEmailValidator:
      email_error:  This email address is invalid
  age:
    sfNumberValidator
      nan_error:    Please enter an integer
      min:          0
      min_error:    "You're not even born. How do you want to send a message?"
      max:          120
      max_error:    "Hey, grandma, aren't you too old to surf on the Internet?"
  message:
    required:
      msg:          The message field cannot be left blank
par COil le 2008-09-29, taggé : config  form  symfony  validation  validator 
(1 commentaire)

[symfony 1.0] Autoloader toutes les classes d'un répertoire particulier - 101 view(s)

require_once($sf_symfony_lib_dir.'/util/sfCore.class.php');
sfCore::initSimpleAutoload('/path/to/libs');
par COil le 2008-09-29, taggé : autoloader  config  symfony 

[symfony] Optimisation basique d'un serveur de production - 399 view(s)

Configuration du serveur

Configuration php

Accelerateur de code PHP

APC

A downloader ici si pas dans la distrib php du server :

A ajouter dans php.ini : (au minimum)

Sour Windows pour tester en env de dev

extension=php_apc.dll
apc.enabled          = 1
 

apc.enabled a mettre a 0 ou cas ou il y ai un pb.

Apres il y d'autres parametre qui peuvent etre affinés : (documentation : http://www.php.net/manual/en/ref.apc.php)

apc.shm_segments     = 1
apc.shm_size         = 30
apc.optimization     = 0
apc.num_files_hint   = 1000
apc.ttl              = 0
apc.gc_ttl           = 3600
apc.cache_by_default = 1
apc.filters          = NULL
apc.mmap_file_mask   = NULL
apc.slam_defens      = 0
apc.file_update_protection = 2
apc.enable_cli       = 0
apc.max_file_size    = 1M
apc.stat             = 1
 

Configuration Symfony

Autres optimisations

Voir la documentation officielle au sujet des performances

par COil le 2008-09-28, taggé : apc  config  optimisation  server  symfony 
(1 commentaire)

[symfony 1.0] Changer le chemin relatif d'une application - 97 view(s)

.settings
  relative_url_root: /relative/path/to/symfony/app
 
par COil le 2008-09-28, taggé : config  settings  symfony  web 

[symfony 1.0 / 1.1] Champ de type file dans l'admin generator - 100 view(s)

      imageliste:
        name: Liste du catalogue
        type: admin_input_upload_tag
        upload_dir: dyn/produits
        params: 
          include_link:dyn/produits
          include_remove:true
          include_text: Voir la photo liste du catalogue
          include_remove_text:Supprimer la photo
 
par COil le 2008-09-28, taggé : admingenerator  config  symfony 

[symfony 1.0] Ajouter des paramètres par défaut dans toutes les routes - 104 view(s)

sfConfig::set('sf_routing_defaults', array('culture' => 'en'));
 
par COil le 2008-09-28, taggé : config  parameters  routing  symfony 

[symfony] Utiliser des constantes d'application dans un fichier .yml - 129 view(s)

all:
  lucene:
    index_path: %MY_CONSTANT%/data/lucene
 
  image_path:
    photos: %SF_WEB_DIR%/images/photos
    avatars: %SF_WEB_DIR%/images/avatars
 
par COil le 2008-09-28, taggé : config  constant  symfony  yml 

[symfony] sync exclude list - 250 view(s)

[Fr] Dans la doc j'ai trouvé la liste de fichier à exclure assez peu fournie. Voici une liste plus complète à personnaliser : (1)


[En] In the documentation i found the exclude file list quiet small. Here is a more consistant one to customize : (1)

.svn
.CVS
.project
.settings
.settings/*
symfony
 
/cache/*
 
/config/config.php
/config/propel.ini
/config/databases.yml
/config/properties.ini
 
/doc/*
 
/log/*
 
/lib/symfony
/lib/symfony/*
 
/data/symfony
/data/symfony/*
 
/plugins/.channels/
/plugins/.registry/
/plugins/.depdb
/plugins/.depdblock
/plugins/.filemap
/plugins/.lock
/plugins/.pearrc
 
/stats/*
 
/test/*
 
/web/.htaccess
/web/frontend_dev.php
/web/backend_dev.php
/web/phpinfo.php
/web/test.php
/web/uploads/*
/web/sf
/web/sf/*
 
par COil le 2008-09-28, taggé : config  rsync  symfony 

[symfony] Fichier typique .htaccess pour OVH - 501 view(s)

[EN] This is a typical .htaccess file for the french hoster OVH (1)

[FR] Voici un fichier .htaccess typique pour faire fonctionner une application Symfony sur un hébergement mutualisé OVH comme le 240gp.

(1)

SetEnv PHP_VER 5
SetEnv REGISTER_GLOBALS 0
SetEnv MAGIC_QUOTES 0
mod_gzip_on Off
 
Options +FollowSymLinks +ExecCGI
 
<IfModule mod_rewrite.c>
  RewriteEngine On
 
  # we skip all files with .something
  RewriteCond %{REQUEST_URI} \..+$
  RewriteCond %{REQUEST_URI} !\.html$
  RewriteCond %{REQUEST_URI} !\.php
  #RewriteCond %{REQUEST_URI} !\.php
  RewriteRule .* - [L]
 
  # we check if the .html version is here (caching)
  RewriteRule ^$ /index.html [QSA]
  RewriteRule ^([^.]+)$ /$1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f
 
  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ /index.php [QSA,L]
 
  # hidden frontoffice controller
  RewriteRule ^index\.php/(.*)$ /index.php [QSA,L]
 
  # fo controllers
  RewriteRule ^frontend\.php/(.*)$ /frontend.php [QSA,L]
  RewriteRule ^frontend_dev\.php/(.*)$ /frontend_dev.php [QSA,L]
 
</IfModule>
 
# big crash from our front web controller
ErrorDocument 500 "<h2>Application error</h2>symfony application failed to start properly"
 
par COil le 2008-09-28, taggé : apache  config  hosting  ovh  symfony 
(3 commentaires)
Debug toolbar