<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Archives des set_include_path - La programmation sur le web</title>
	<atom:link href="https://programmation.surleweb-france.fr/tag/set_include_path/feed/" rel="self" type="application/rss+xml" />
	<link>https://programmation.surleweb-france.fr/tag/set_include_path/</link>
	<description>La programmation gratuite pour tous</description>
	<lastBuildDate>Sun, 09 May 2021 12:57:07 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2023/08/cropped-19518430-icone-de-programmation-pour-votre-site-web-mobile-presentation-et-conception-de-logo-gratuit-vectoriel.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Archives des set_include_path - La programmation sur le web</title>
	<link>https://programmation.surleweb-france.fr/tag/set_include_path/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">176210735</site>	<item>
		<title>PHP, chemin relatif ou chemin absolu</title>
		<link>https://programmation.surleweb-france.fr/php-chemin-relatif-ou-chemin-absolu/</link>
					<comments>https://programmation.surleweb-france.fr/php-chemin-relatif-ou-chemin-absolu/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Fri, 14 May 2021 06:00:00 +0000</pubDate>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[chemin absolue]]></category>
		<category><![CDATA[chemin relatif]]></category>
		<category><![CDATA[path]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[set_include_path]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=971</guid>

					<description><![CDATA[<p>L'utilisation de la fonction php set_include_path simplifie l'écriture, la lecture et le partage de ses scripts PHP. Voilà comment le mettre ne place.</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/php-chemin-relatif-ou-chemin-absolu/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/php-chemin-relatif-ou-chemin-absolu/">PHP, chemin relatif ou chemin absolu</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>A chaque fois que je me lance dans des petits tests en php, je me pose cette question, quel type de chemin je dois utiliser pour faire appel à des scripts extérieurs, je m&rsquo;en sors tout le temps, ce n&rsquo;est pas réellement un problème (tant que c&rsquo;est un développement pour soi), en revanche, je ne trouve pas ça très esthétique.</p>



<h2 class="wp-block-heading">Chemin relatif</h2>



<p>Un chemin relatif fait référence à un emplacement qui est relatif à un répertoire courant. Les chemins relatifs utilisent deux symboles spéciaux, le point (.) et deux pointillés (..), qui correspondent au répertoire courant et au répertoire parent. Deux pointillés sont utilisés pour monter d&rsquo;un niveau dans la hiérarchie. Un point unique représente le répertoire courant lui-même (définition prise sur <a href="https://desktop.arcgis.com/fr/arcmap/10.3/tools/supplement/pathnames-explained-absolute-relative-unc-and-url.htm#:~:text=Un%20chemin%20relatif%20fait%20r%C3%A9f%C3%A9rence,courant%20et%20au%20r%C3%A9pertoire%20parent.&amp;text=Le%20r%C3%A9pertoire%20courant%20est%20parfois%20appel%C3%A9%20r%C3%A9pertoire%20racine." target="_blank" rel="noreferrer noopener">ce site</a>).</p>



<p>voici quelques exemples pour illustrer les différentes notations que l&rsquo;on peut trouver :</p>



<ul class="wp-block-list"><li>../dossier/fichier</li><li>./dossier/fichier</li><li>dossier/fichier</li></ul>



<p>Personnellement, je n&rsquo;aime pas trop cette manière. On s&rsquo;y perd rapidement, une modification de place et c&rsquo;est fini.</p>



<p>De plus, dans le cas de PHP si nous avons un script principal qui appel un second script, il n&rsquo;y aura pas de soucis mais si le second script en appel un autre, il peut ne pas le trouver, sa référence dans le dossier sera le script principal.</p>



<h2 class="wp-block-heading">Chemin absolu</h2>



<p>Le chemin absolu est le chemin complet en fonction de la racine du disque, pour un système linux, il commencera toujours par un « <strong>/</strong>« , pour un système Windows, il débutera par une lettre de lecteur comme « <strong>C:\</strong>« .</p>



<p>L&rsquo;avantage de celui-ci est qu&rsquo;il y a peut d&rsquo;erreur possible, en revanche, le moindre changement de dossier et s&rsquo;en ai fini.  Esthétiquement, ça fait des chemins à rallonge.</p>



<h2 class="wp-block-heading">Chemin absolu ou chemin relatif</h2>



<p>Pour nos développements PHP que devons-nous choisir ? Relatif ou absolue ?</p>



<p>Pour ma part, je prends ni l&rsquo;un ni l&rsquo;autre. Je définis en début de script un ou des nouveaux dossiers qui serviront de référence.</p>



<p>En php, on utilise la fonction <strong><em><a href="https://www.php.net/manual/fr/function.set-include-path.php" target="_blank" rel="noreferrer noopener">set_include_path</a></em></strong>, celle-ci va modifier la valeur de la directive de l&rsquo;include_path durant l&rsquo;exécution du script.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>On peut bien sur la modifier dans le fichier php.ini, dans apache, avec un .htaccess, mais toutes ses méthodes nécessite d&rsquo;avoir accès à ses réglages. De plus, pour d&rsquo;autre projet, il n&rsquo;est pas nécessaire de le modifier.</p></blockquote>



<h3 class="wp-block-heading">Utilisation de set_include_path()</h3>



<p>Nous allons prendre comme exemple, cette arborescence :</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img decoding="async" src="//i2.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-6.png" alt="" class="wp-image-972" width="276" height="165" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-6.png?w=186&amp;ssl=1 186w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-6.png?resize=150%2C90&amp;ssl=1 150w" sizes="(max-width: 276px) 100vw, 276px" /></figure></div>



<p>Le but n&rsquo;est pas de perdre l&rsquo;ancien path mais de rajouter les dossiers qui nous intéressent. Les lignes qui suivent sont à inclure dès le début de votre script :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$path = get_include_path(); // Récupération de l'ancien PATH
set_include_path($path.PATH_SEPARATOR."lib".PATH_SEPARATOR."vue"); // ajout des deux nouveaux dossiers
include("includes.php"); // inclusion des fichiers sans rappeler le chemin relatif ou absolu
include("body_inc.php");</pre>



<p>Un petit mot pour le séparateur, en fonction des systèmes, il diffère, pour Windows, il s&rsquo;agit d&rsquo;un « ; » et pour les autres « : ».</p>



<h2 class="wp-block-heading">Conclusion</h2>



<p>Voilà une méthode plus esthétique et universelle (si le travail est partagé entre plusieurs personnes) de faire appel à des scripts extérieurs.</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/php-chemin-relatif-ou-chemin-absolu/">PHP, chemin relatif ou chemin absolu</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/php-chemin-relatif-ou-chemin-absolu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">971</post-id>	</item>
	</channel>
</rss>
