Bonjour,
J'utilise PHPStorm pour mes projets et j'en suis très satisfait.
Cependant j'ai un petit soucis avec un des mes projets.
En effet j'ai plusieurs conditions qui définisse mes constantes dans mon fichiers init.php
par exemple le chemin ROOT qui est pas le même sur le remote et donc cela me génére des warnings dans l'IDE et ne permet pas d'utilisé pleinement celui-ci par exemple un ctrl+clic sur le nom d'un fichier d'un include ne fonctionne pas car le chemin ne correspond pas.
Avez vous déjà eux ce genre de soucis et comment le corriger
Merci
Couss
Concernant le code rien de plus simple, des const dans des conditions
if(isset($_SERVER['SERVER_ADDR']) && ($_SERVER['SERVER_ADDR'] == '127.0.0.1') ) {
define('ROOT', 'C:/wamp/www/monsite/');
define('SITEROOT', 'http://www.monsite.loc/');
define('DEBUG', 1);
}
elseif(isset($_SERVER['SERVER_NAME']) && ($_SERVER['SERVER_NAME'] == 'temp.monsite.fr')) {
define('ROOT', '/var/www/vhosts/nsxxxxxxx.ovh.net/temp.monsite/');
define('SITEROOT', 'http://temp.monsite.fr/');
define('DEBUG', 1);
}
else {
define('ROOT', '/var/www/vhosts/nsxxxxxxx.ovh.net/monsite/');
define('SITEROOT', 'http://www.monsite.fr/');
define('DEBUG', 0);
}
Pour PHPStorm ROOT vaut /var/www/vhosts/nsxxxxxxx.ovh.net/monsite/ alors que je suis en local
Je pense qu'il est un peu tard, mais au cas où, je te propose de réorganiser ton code. En fait, l'IDE va visiblement prendre ce qu'il trouve en dernier pour les define.
Un solution a ton problème pourrait être la suivante :
if(isset($_SERVER['SERVER_NAME']) && ($_SERVER['SERVER_NAME'] == 'temp.monsite.fr')) {
define('ROOT', '/var/www/vhosts/nsxxxxxxx.ovh.net/temp.monsite/');
define('SITEROOT', 'http://temp.monsite.fr/');
define('DEBUG', 1);
}
elseif(isset($_SERVER['SERVER_ADDR']) && ($_SERVER['SERVER_ADDR'] == '127.0.0.1') ) {
define('ROOT', 'C:/wamp/www/monsite/');
define('SITEROOT', 'http://www.monsite.loc/');
define('DEBUG', 1);
}
/*
* Dans le cas ou le serveur n'est pas reconnu,
* de toute façon ton ROOT ne sera pas bon
* puisque tu ne le défini pas dynamiquement :)
*/
else {
http_response_code(500);
echo '<html><head><title>Mon site - Server internal error</title></head>';
echo '<body><center><br/><br/>';
echo 'We are sorry, something gone wrong. Please retry later...';
echo '</center></body>';
echo '</html>';
exit;
}
Helas non
mais quand je "bidouille" mon fichier init les constante retrouve la bonne valeur