<?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/"
	>

<channel>
	<title>環境変数  |  takeHo（たけほ）のへなちょこ台帳</title>
	<atom:link href="https://blog.takeho.com/tag/%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.takeho.com</link>
	<description>いわゆる自由帳ってところです。</description>
	<lastBuildDate>Fri, 14 Feb 2025 09:29:27 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6</generator>

<image>
	<url>https://blog.takeho.com/wp-content/uploads/2024/08/icon-150x150.png</url>
	<title>環境変数  |  takeHo（たけほ）のへなちょこ台帳</title>
	<link>https://blog.takeho.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>CodeIgniter3でも.envが使える！煩雑な環境設定をスッキリ管理する方法</title>
		<link>https://blog.takeho.com/you-can-use-env-even-in-codeigniter3-a-clean-way-to-manage-complicated-environment-settings/</link>
					<comments>https://blog.takeho.com/you-can-use-env-even-in-codeigniter3-a-clean-way-to-manage-complicated-environment-settings/#respond</comments>
		
		<dc:creator><![CDATA[たけほ]]></dc:creator>
		<pubDate>Sun, 02 Feb 2025 09:25:25 +0000</pubDate>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[環境変数]]></category>
		<guid isPermaLink="false">https://blog.takeho.com/?p=625</guid>

					<description><![CDATA[Webアプリケーションを開発・運用する際、&#8221;環境ごとの設定管理&#8221;は避けて通れない課題です。特にCodeIgniter3を使っていると、configやdatabase.phpを環境ごとに書き換えたり [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Webアプリケーションを開発・運用する際、&#8221;環境ごとの設定管理&#8221;は避けて通れない課題です。特にCodeIgniter3を使っていると、<code>config</code>や<code>database.php</code>を環境ごとに書き換えたり、ファイルを分けて管理したりと、正直面倒くさいですよね。</p>



<p>実際、私が.env導入に踏み切ったのは、ローカル・ステージング・本番と複数環境を使い分けるプロジェクトで、ちょっとした設定ミスで本番DBに接続してしまい、ヒヤッとしたことがきっかけでした。</p>



<p>「これはマズイ、何とかしないと…」</p>



<p>Laravelではおなじみの<code>.env</code>。CI3でも使えたら便利だなと思い、試行錯誤の末、無事導入しました。その方法を、同じ悩みを抱える皆さんと共有したいと思います。</p>



<h2 class="wp-block-heading">.envファイルとは？</h2>



<p><strong>.env</strong>ファイルは、アプリケーションの設定値を&#8221;環境変数&#8221;として定義・管理するためのファイルです。データベース接続情報やAPIキー、アプリの動作モードなどを、この1つのファイルで切り替え可能にします。</p>



<p>CI3では標準サポートされていませんが、PHPの<strong>vlucas/phpdotenv</strong>ライブラリを活用すれば、簡単に導入できます。</p>



<h2 class="wp-block-heading">導入で何が変わるのか？</h2>



<ul class="wp-block-list">
<li><strong>設定ミスが減る</strong><br>本番・開発で設定を間違えて大惨事…を防げる！</li>



<li><strong>セキュリティ向上</strong><br>APIキーやDBパスワードをコードに直書きしない。</li>



<li><strong>メンテナンス楽々</strong><br>環境追加や設定変更が超簡単。</li>
</ul>



<h2 class="wp-block-heading">導入手順</h2>



<h3 class="wp-block-heading"><strong>.envファイルを作成</strong></h3>



<p>プロジェクトのルートに<code>.env</code>を作ります</p>



<pre class="wp-block-code"><code>CI_ENV=development
DB_HOST=localhost
DB_USER=root
DB_PASS=secret
DB_NAME=ci_project</code></pre>



<h3 class="wp-block-heading"><strong>.gitignoreに追加</strong></h3>



<pre class="wp-block-code"><code>.env</code></pre>



<h3 class="wp-block-heading"><strong>phpdotenvをインストール</strong></h3>



<pre class="wp-block-code"><code>composer require vlucas/phpdotenv</code></pre>



<h3 class="wp-block-heading"><strong>index.phpを編集</strong></h3>



<pre class="wp-block-code"><code>require __DIR__ . '/../vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . '/../');
$dotenv->load();</code></pre>



<h3 class="wp-block-heading"><strong>設定ファイルでgetenv()を使う</strong></h3>



<p><code><strong>application/config/database.php</strong></code>などで</p>



<pre class="wp-block-code"><code>'hostname' => getenv('DB_HOST'),
'username' => getenv('DB_USER'),
'password' => getenv('DB_PASS'),
'database' => getenv('DB_NAME'),</code></pre>



<h2 class="wp-block-heading">導入後の変化と感想</h2>



<p>.envを導入してから、環境切り替え時のストレスが一気に減りました。何より、「本番に接続してしまった…！」という冷や汗から解放されたのは大きいです。CI3を使い続けるなら、ぜひ導入をおすすめします！</p>





<a rel="noopener" href="https://github.com/vlucas/phpdotenv" title="GitHub - vlucas/phpdotenv: Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically." class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://opengraph.githubassets.com/b5ef646ae9efea366b35d9746a808a88ae7bd70f61182d2bf7ea833c53a983cb/vlucas/phpdotenv" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">GitHub - vlucas/phpdotenv: Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.</div><div class="blogcard-snippet external-blogcard-snippet">Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically. - vlucas/phpdotenv</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://github.com/vlucas/phpdotenv" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">github.com</div></div></div></div></a>

]]></content:encoded>
					
					<wfw:commentRss>https://blog.takeho.com/you-can-use-env-even-in-codeigniter3-a-clean-way-to-manage-complicated-environment-settings/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
