Réduire un bout de code

WRInaute impliqué
Bonjour,

je souhaite réduire ce bout de code php avec quelques similitudes, mais je sais pas de quelle manière procéder :

Code:
if (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) == 'fr') {
	
	$language = 'fr';
	$flag ='en';
}else{
	$language = 'en';
	$flag ='fr';
}

$view-> language = $language;
$view-> flag = $flag;

Merci
 
WRInaute accro
Je ne vois pas trop ce que l'on pourrait réduire, j'aurais même tendance à l'allonger un peu car ici il ne gère que 2 langues.
 
WRInaute discret
Tu peux essayer un truc du genre :
Code:
$view->language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) == 'fr' ? 'fr':'en';
$view->flag = $view->language == 'fr' ? 'en':'fr';
Mais c'est vraiment histoire de dire c'est plus court.
 
WRInaute impliqué
Oui c'est plus court :) Merci beaucoup en tout cas. Cela peut parait ridicule, surtout pour gagner peut être des des micro millisecondes, mais si tout le monde le faisait à l'échelle planétaire, on éviterait quelques data center !
 
WRInaute impliqué
C'était une remarque à caractère humoristique, mais tout de même justifié. Il suffit de regarder par vous même le code source de certains sites web, et vous verrez par vous même que c'est très fréquemment du n'importe quoi ! Et je parle la de la partie visible (html, js et css), alors je n'oses pas imaginer la face sombre de l'iceberg.

madri2 Merci pour ton article très intéressant. J'ajouterais aussi que l'obsession de l'optimisation est également un problème de société, ou tout doit être parfait, propre et uniformisé.

Spout, pour continuer dans la réflexion, je pense même qu'on aurait pu éviter l'EPR de Flamanville si tout le monde avait fait un effort de codage :) !
 
WRInaute impliqué
Drew a dit:
A noter qu'un code PHP court n'est pas forcément mieux en terme d'utilisation electrique qu'un code moins court. Je dis ça comme ça biensur.

Si vous voulez voir un code source propre il y a mon www. *le mec n'a pas la grosse tête*

Justement tu as tort. Il y a bien certes aucune différence au point de vue électrique, un pc ou un serveur sera toujours alimenté en 230/240V, la différence se situé au niveau de l'intensité (ampère). Un peu comme un chauffage. Ton chauffage sera toujours alimenté avec le même voltage mais l'ampérage est différent en fonction de niveau de chaleur que tu choisira.

Donc un site plus gourmand utilisera plus de puissance, donc plus d'ampérage = plus de consommation électrique.
 
WRInaute accro
Drew a dit:
Si vous voulez voir un code source propre il y a mon www. *le mec n'a pas la grosse tête*
HTML bien indenté OSEF, surtout que l'indentation se bousille souvent avec les ?> et les vues partielles, etc etc...
Ça peut très bien passer dans HTML Tidy derrière.

Montre nous plutôt le code PHP :)
 
WRInaute discret
sff a dit:
Drew a dit:
A noter qu'un code PHP court n'est pas forcément mieux en terme d'utilisation electrique qu'un code moins court. Je dis ça comme ça biensur.

Si vous voulez voir un code source propre il y a mon www. *le mec n'a pas la grosse tête*

Justement tu as tort. Il y a bien certes aucune différence au point de vue électrique, un pc ou un serveur sera toujours alimenté en 230/240V, la différence se situé au niveau de l'intensité (ampère). Un peu comme un chauffage. Ton chauffage sera toujours alimenté avec le même voltage mais l'ampérage est différent en fonction de niveau de chaleur que tu choisira.

Donc un site plus gourmand utilisera plus de puissance, donc plus d'ampérage = plus de consommation électrique.

je pense qu'il parlait en terme de longueur de code, parfois une fonction php raccourci le code mais est plus gourmande en puissance que si on l'écrivait en deux lignes
 
WRInaute accro
Drew a dit:
Je propose de la pédagogie en rapport avec le projet que je partage, voilà pourquoi j'ai essayé de concevoir la partie html (et PHP) de façon "lisible" (je pense).
C'est lisible mais code PHP genre 1990.

doctype et head HTML dans tous les fichiers PHP, code pas indenté, failles d'injection SQL (ex: modules/changement-pseudonyme.php), ... :D
 
WRInaute accro
Au lieu de répéter le doctype et head dans tous les scripts PHP:
PHP:
<span class="syntaxdefault"><?php <br />$title </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'Foobar'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">include </span><span class="syntaxstring">'header.php'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">?><br /><?php include </span><span class="syntaxstring">'menu.php'</span><span class="syntaxkeyword">;&nbsp;</span><span class="syntaxdefault">?><br /></span>CONTENU<br /><span class="syntaxdefault"><?php include </span><span class="syntaxstring">'footer.php'</span><span class="syntaxkeyword">;&nbsp;</span><span class="syntaxdefault">?></span>

Ou mieux, avec un système de template:
http://chadminick.com/articles/simple-php-template-engine.html
http://platesphp.com/engine/
https://wwphp-fb.github.io/faq/templating/
[...]

PHP:
<span class="syntaxdefault">$query</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">$allauch</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">prepare</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT PlayerName FROM playingcharacters WHERE PlayerName='</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">NouveauPlayerName</span><span class="syntaxkeyword">]</span><span class="syntaxstring">'"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">$query</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">bindValue</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'NouveauPlayerName'</span><span class="syntaxkeyword">]);</span><span class="syntaxdefault"></span>
La requête est construite avec $_POST[NouveauPlayerName] (le bindValue n'est pas utilisé).

PHP a maintenant (enfin) un guide de style : http://www.php-fig.org/psr/

Par contre je te félicite de faire du "maison" au lieu de comme les autres de dézipper WordPress :)
 
Discussions similaires
Haut