Concaténation de variables

Merlinwp
Invité n'ayant pas de compte PHPfrance

30 avr. 2009, 15:06

Bonjour,

J'essaie de développer un code pour un Cms.

J'ai tapé :

Code : Tout sélectionner

<link rel="stylesheet" href="<?php echo bloginfo('template_directory'); ?>/<?php echo $abc_stylesheet; ?>/<?php echo 'style.css'; ?>" type="text/css" media="screen" />
$abc_stylesheet est une variable issue d'une table.

Mais n'y aurait-il pas un moyen de concaténer ces données pour être plus "propre" selon vous ? Je cherche depuis deux heures, et je trouve que mon code n'est pas très intelligent.

Merci pour votre aide. :)

Merlin

Mammouth du PHP | 991 Messages

30 avr. 2009, 15:15

Bonjour,

J'essaie de développer un code pour un Cms.

J'ai tapé :

Code : Tout sélectionner

<link rel="stylesheet" href="<?php echo bloginfo('template_directory'); ?>/<?php echo $abc_stylesheet; ?>/<?php echo 'style.css'; ?>" type="text/css" media="screen" />
$abc_stylesheet est une variable issue d'une table.

Mais n'y aurait-il pas un moyen de concaténer ces données pour être plus "propre" selon vous ? Je cherche depuis deux heures, et je trouve que mon code n'est pas très intelligent.

Merci pour votre aide. :)

Merlin
<?php echo '<link rel="stylesheet" href="'.bloginfo('template_directory').'/'.$abc_stylesheet.'style.css type="text/css" media="screen" />';
je serais tenter de dire ca :)
DevOps, Symfony4, Hoa

Mammouth du PHP | 568 Messages

30 avr. 2009, 15:34

<?php echo '<link rel="stylesheet" href="'.bloginfo('template_directory').'/'.$abc_stylesheet.'/style.css type="text/css" media="screen" />';
Vi mais tu a oublié le / devant le style.css, enfin il me semble.

Merlinwp
Invité n'ayant pas de compte PHPfrance

30 avr. 2009, 16:13

Merci, Messieurs :)

Résolu, je pense !

Grâce à vos conseils aussi rapides qu'avisés, je suis arrivé à :
<link rel="stylesheet" href="<?php echo bloginfo('template_directory').'/'.$abc_stylesheet.'/style.css'; ?>" type="text/css" media="screen" />
Bien cordialement,

Merlin

ViPHP
ViPHP | 3300 Messages

30 avr. 2009, 17:10

ta manière initiale est globalement équivalente ceci-dit
<?php echo '<link rel="stylesheet" href="'.bloginfo('template_directory').'/'.$abc_stylesheet.'style.css type="text/css" media="screen" />';
est moins bien que
<?php echo '<link rel="stylesheet" href="',bloginfo('template_directory'),'/',$abc_stylesheet,'style.css type="text/css" media="screen" />';
si on veut chipoter :)
Fait du php depuis que ca existe ou presque :)

Merlinwp
Invité n'ayant pas de compte PHPfrance

30 avr. 2009, 17:49

Merci ô grand Maître !

Mais que viennent faire les virgules dans le code ? Je n'avais jamais rien lu là-desus... Si tu pouvais me renseigner...

Comme tu semble insister, petit bilan des essais...

1. Question initiale
<link rel="stylesheet" href="<?php echo bloginfo('template_directory'); ?>/<?php echo $abc_stylesheet; ?>/<?php echo 'style.css'; ?>" type="text/css" media="screen" />
affiche...

Code : Tout sélectionner

<link rel="stylesheet" href="http://www.site.com/wp-content/themes/news/news_white/style.css" type="text/css" media="screen" />
2. Suggestion de thehawk
<?php echo '<link rel="stylesheet" href="'.bloginfo('template_directory').'/'.$abc_stylesheet.'style.css type="text/css" media="screen" />'; 
affiche...

Code : Tout sélectionner

http://www.site.com/wp-content/themes/news<link rel="stylesheet" href="/news_whitestyle.css type="text/css" media="screen" />
3. Suggestion de Yosh
<?php echo '<link rel="stylesheet" href="'.bloginfo('template_directory').'/'.$abc_stylesheet.'/style.css type="text/css" media="screen" />'; ?>
affiche...

Code : Tout sélectionner

http://www.site.com/wp-content/themes/news<link rel="stylesheet" href="/news_white/style.css type="text/css" media="screen" />
4. Ma suggestion
<link rel="stylesheet" href="<?php echo bloginfo('template_directory').'/'.$abc_stylesheet.'/style.css'; ?>" type="text/css" media="screen" />
affiche...

Code : Tout sélectionner

<link rel="stylesheet" href="http://www.site.com/wp-content/themes/news/news_white/style.css" type="text/css" media="screen" />
5. Ta suggestion, Nagol
<?php echo '<link rel="stylesheet" href="',bloginfo('template_directory'),'/',$abc_stylesheet,'style.css" type="text/css" media="screen" />'; ?>
affiche...

Code : Tout sélectionner

<link rel="stylesheet" href="http://www.iptima.com/wp-content/themes/news/news_white/style.css" type="text/css" media="screen" />
Voilà pour être exhaustif !!! :)

Mais pourquoi 5 serait préférable à 4 (puisque 2 et 3 ne fonctionnent pas, mais ils m'ont mené sur la piste) ? Parce qu'on ne concatène pas les données ???

Merci de répondre à ma curiosité.

Merlin

Mammouth du PHP | 991 Messages

30 avr. 2009, 17:55

Je suis egalement interressé par le code de Nagol avec les vigules :oops:
DevOps, Symfony4, Hoa

ViPHP
ViPHP | 4039 Messages

30 avr. 2009, 18:06

Il vous suffit de bien lire la documentation d'echo() ... :wink:
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Merlinwp
Invité n'ayant pas de compte PHPfrance

30 avr. 2009, 18:15

echo 'trop ', 'fort ', 'pour ', 'moi ', 'je débute.', chr(10);
Cordialement,

Merlin

Mammouth du PHP | 568 Messages

30 avr. 2009, 18:28

ta manière initiale est globalement équivalente ceci-dit
<?php echo '<link rel="stylesheet" href="'.bloginfo('template_directory').'/'.$abc_stylesheet.'style.css type="text/css" media="screen" />';
est moins bien que
<?php echo '<link rel="stylesheet" href="',bloginfo('template_directory'),'/',$abc_stylesheet,'style.css type="text/css" media="screen" />';
si on veut chipoter :)
Excellent, 5 ans que je code du PHP et j'avais jamais lu la doc de echo ^^

Merci Nagol

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

30 avr. 2009, 22:01

Je tiens à ajouter ma plume au palmarès :
<?php 
echo sprintf('<link rel="stylesheet" href="%s/%s/style.css" type="text/css" media="screen" />', bloginfo('template_directory'), $abc_stylesheet); 
?>
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Merlinwp
Invité n'ayant pas de compte PHPfrance

01 mai 2009, 10:58

Merci Sadeq,

Avec toutes ces propositions, j'ai le "choix du roi" ! :)

Bien à toi,

Merlin