<?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>CodeIgniter 2.x &#8211; blog.fukata.org</title>
	<atom:link href="/archives/tag/codeigniter-2-x/feed/" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description>旅するプログラマ</description>
	<lastBuildDate>Fri, 11 Aug 2017 22:58:49 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.6</generator>
	<item>
		<title>CIUnit-for-CI2のメンテをNEKOGETさんがやってくれることになりました</title>
		<link>/archives/7511/</link>
					<comments>/archives/7511/#respond</comments>
		
		<dc:creator><![CDATA[fukata]]></dc:creator>
		<pubDate>Wed, 31 Jul 2013 15:58:28 +0000</pubDate>
				<category><![CDATA[開発]]></category>
		<category><![CDATA[CIUnit]]></category>
		<category><![CDATA[CodeIgniter 2.x]]></category>
		<guid isPermaLink="false">http://fukata.org/?p=7511</guid>

					<description><![CDATA[皆さん、CodeIgniter(以下、CI)覚えていますか？FuelPHPに変わられた終わったFWと思っている方も多いかもしれませんが、使われているところには使われています。(私自身は業務で使用する言 ... <a href="/archives/7511/"> 続きを読む</a>]]></description>
										<content:encoded><![CDATA[<p>皆さん、CodeIgniter(以下、CI)覚えていますか？FuelPHPに変わられた終わったFWと思っている方も多いかもしれませんが、使われているところには使われています。(私自身は業務で使用する言語がphpからperlに変わったので使っていません)</p>
<p>自分で使っていないのでPull Requestとか来てもそれが有効なものなのか判断がすぐにつかず、取り込むのが遅れてしまったり大丈夫だろうという軽い気持ちで取り込んでしまったりする恐れがあるため、誰かCIを現役で使っていてメンテやってくれる人いないかな〜とtwitterでつぶやいてみたところ、@<a href="https://twitter.com/NEKOGET">NEKOGET</a>さんが快くやってくれることになりました。</p>
<p><span id="more-7511"></span></p>
<div class="ad_section"><div class="ad_title">広告</div><div class="ad_body"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- blog-content-bottom1 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-9703571485671477"
     data-ad-slot="4353022998"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div></div>
<p>NEKOGETさんとは一度も会ったことはありませんが、twitter上では何度かやり取りしたことがあり、FuelPHPのドキュメントの日本語訳をこまめにやってるなぁ〜とずっと思っていました。NEKOGETさんは現役でCI、CIUnitを使っているらしく、これからも必然的にメンテが必要になるようでしたので、メンテをしてもらえないかとお願いしたところあっさり引き受けてもらえました。</p>
<p><strong>NEKOGETさんありがとうございます！</strong></p>
<p><a href="https://github.com/fukata/CIUnit-for-CI2">CIUnit-for-CI2</a>は、まだ自分が業務でCI2を使っている時にCIUnitのコードを見てなんとなく動くんじゃないかと思って修正したものが実際にCI2でも動作したのでgithub上で公開したわけですけど、コレまでいくつかPull Requestもいただいていて実際に使ってもらえてるようです。</p>
<p>自分の作ったコードを他人が使ってくれているというのは凄い励みになりますし、使ってくれるだけでなく、メンテまでやってもらえるなんて作った甲斐があります。これでCIUnit-for-CI2もメンテしてくれない自分じゃなく、メンテしてくれる（はず）のNEKOGETさんの手に渡って嬉しく思っていることでしょう。</p>
<p><a href="https://github.com/fukata/CIUnit-for-CI2">CIUnit-for-CI2</a>をこれからもよろしくお願いします。</p>
]]></content:encoded>
					
					<wfw:commentRss>/archives/7511/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[CodeIgniter 2.x]ci-log4phpに新たにLoggerConfiguratorPhpVariableを追加</title>
		<link>/archives/7134/</link>
					<comments>/archives/7134/#respond</comments>
		
		<dc:creator><![CDATA[fukata]]></dc:creator>
		<pubDate>Sat, 07 Jul 2012 06:43:57 +0000</pubDate>
				<category><![CDATA[開発]]></category>
		<category><![CDATA[ci-log4php]]></category>
		<category><![CDATA[CodeIgniter 2.x]]></category>
		<guid isPermaLink="false">http://fukata.org/?p=7134</guid>

					<description><![CDATA[最近、全くCodeIgniterを触っていません。最近の動向についても全く追っていないので分かっていませんが今もCodeIgniter 3系から適用されると言われていた独自ライセンス問題は残っているん ... <a href="/archives/7134/"> 続きを読む</a>]]></description>
										<content:encoded><![CDATA[<p>最近、全くCodeIgniterを触っていません。最近の動向についても全く追っていないので分かっていませんが今もCodeIgniter 3系から適用されると言われていた独自ライセンス問題は残っているんでしょうか？</p>
<p>そんな先行き不安なCodeIgniterのライブラリである「<a href="https://github.com/fukata/ci-log4php" target="_blank" title="Integration CodeIgniter and log4php">ci-log4php</a>」に新たに機能を追加しました。</p>
<p><span id="more-7134"></span></p>
<div class="ad_section"><div class="ad_title">広告</div><div class="ad_body"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- blog-content-bottom1 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-9703571485671477"
     data-ad-slot="4353022998"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div></div>
<p><a href="https://github.com/fukata/ci-log4php/issues/2">Issue #2: Allow array config params · fukata/ci-log4php</a></p>
<p>目的はlog4phpの動的な設定。</p>
<p>LoggerConfiguratorPhpを使えば、指定したphpファイルの設定を適用できるが、その中で利用できる値については、呼び出し元とスコープが異なるため、グローバルなどに変数を展開しておかないと利用できないと思われる。そこで、直に設定用変数をconfigureメソッドに渡せるようにLoggerconfiguratorPhpVariableというのを新たに追加しました。</p>
<p>コード自体もLoggerConfiguratorPhpとほぼ同じで、phpファイルから値を取得する部分がなくなっているだけです。</p>
<p>Issueでlog4php自体はPEARからインストールしたものを使いたいという要望があるが、log4php自体も修正しているので、コレは今のところスルーしようと思っています。確かにPEARのものをそのまま使えた方がバグフィックスなどに対応できるので良いのだけど、自分自身が既に使わなくなってしまっているので、それに対応しようという気が起きない。誰か熱心に使ってくれている人が居れば、forkしてそういう修正を加えてくれると嬉しいです。</p>
]]></content:encoded>
					
					<wfw:commentRss>/archives/7134/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[CodeIgniter2.x]CIUnitのインストールスクリプトを書いてみた</title>
		<link>/archives/6088/</link>
					<comments>/archives/6088/#respond</comments>
		
		<dc:creator><![CDATA[fukata]]></dc:creator>
		<pubDate>Mon, 05 Sep 2011 05:55:42 +0000</pubDate>
				<category><![CDATA[開発]]></category>
		<category><![CDATA[CIUnit]]></category>
		<category><![CDATA[CodeIgniter 2.x]]></category>
		<guid isPermaLink="false">http://fukata.org/?p=6088</guid>

					<description><![CDATA[CodeIgniter 2.0.3 に PHPUnit/CIUnit をインストールする &#8211; A Day in Serenity @ Kenji 自分も度々CIUnitをCIに適用している ... <a href="/archives/6088/"> 続きを読む</a>]]></description>
										<content:encoded><![CDATA[<p><a href="https://d.hatena.ne.jp/Kenji_s/20110905/1315190819">CodeIgniter 2.0.3 に PHPUnit/CIUnit をインストールする &#8211; A Day in Serenity @ Kenji</a></p>
<p>自分も度々CIUnitをCIに適用しているとdatabase.phpの編集が特にめんどくさく感じていました。</p>
<p>で、簡単なインストールスクリプトを書いてみました。今のところ、CI v2.0.3を解凍した段階のプロジェクトには適用できると思います。</p>
<p><a href="https://gist.github.com/1194192">CIUnit Install Script — Gist</a></p>
<p>今回のインストールスクリプトについては、個人的にメンテナンスしているCIUnitのプロジェクトの方にも追加しておきました。</p>
<p><a href="https://github.com/fukata/CIUnit-for-CI2">fukata/CIUnit-for-CI2 &#8211; GitHub</a></p>
]]></content:encoded>
					
					<wfw:commentRss>/archives/6088/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[CodeIgniter2.x]PHP_CodeSnifferを修正しました</title>
		<link>/archives/6015/</link>
					<comments>/archives/6015/#respond</comments>
		
		<dc:creator><![CDATA[fukata]]></dc:creator>
		<pubDate>Sun, 07 Aug 2011 11:00:53 +0000</pubDate>
				<category><![CDATA[開発]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[CodeIgniter 2.x]]></category>
		<guid isPermaLink="false">http://fukata.org/?p=6015</guid>

					<description><![CDATA[fukata/CodeIgniter-for-PHP_CodeSniffer &#8211; GitHub CodeIgniter用のCodeSnifferを作成してくれている方がいたので、forkし ... <a href="/archives/6015/"> 続きを読む</a>]]></description>
										<content:encoded><![CDATA[<p><a href="https://github.com/fukata/CodeIgniter-for-PHP_CodeSniffer">fukata/CodeIgniter-for-PHP_CodeSniffer &#8211; GitHub</a></p>
<p>CodeIgniter用のCodeSnifferを作成してくれている方がいたので、forkして、正常に動作するように修正しました。（回避コードを追加しただけ）</p>
<p>バグの方は本家のIssueに登録しましたので、詳しくはそちらを参照下さい。</p>
<p><a href="https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer/issues/8">#8: segmentation fault &#8211; Issues &#8211; thomas-ernest/CodeIgniter-for-PHP_CodeSniffer &#8211; GitHub</a></p>
]]></content:encoded>
					
					<wfw:commentRss>/archives/6015/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CodeIgniter2 + CIUnit2 + Jenkinsで継続的インテグレーションをやってみた</title>
		<link>/archives/5991/</link>
		
		<dc:creator><![CDATA[fukata]]></dc:creator>
		<pubDate>Wed, 27 Jul 2011 03:37:37 +0000</pubDate>
				<category><![CDATA[開発]]></category>
		<category><![CDATA[CIUnit]]></category>
		<category><![CDATA[CodeIgniter 2.x]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Jenkins]]></category>
		<guid isPermaLink="false">http://fukata.org/?p=5991</guid>

					<description><![CDATA[なんか、色々と意気消沈気味だったので、東京から上海に戻ってくる時にVMの構築を途中まで行っていたJenkinsを少し触ってみることにしました。とりあえず、目的としては、表題にも書いている通り、Code ... <a href="/archives/5991/"> 続きを読む</a>]]></description>
										<content:encoded><![CDATA[<p>なんか、色々と意気消沈気味だったので、東京から上海に戻ってくる時にVMの構築を途中まで行っていたJenkinsを少し触ってみることにしました。とりあえず、目的としては、表題にも書いている通り、CodeIgniter2(2.0.2), CIUnit2(カスタム版）, Jenkinsを使って、ビルドからテスト、コードチェックまで行える環境を作ることです。</p>
<p>また、今回使用したソースは下記のリポジトリにアップしています。</p>
<p><a href="https://github.com/fukata/ciunit2_and_jenkins">fukata/ciunit2_and_jenkins &#8211; GitHub</a></p>
<p>PHPによるJenkinsのインストールなどについては、下記のサイトがとても参考になりました。</p>
<p><a href="https://d.hatena.ne.jp/Yamashiro0217/20110619/1308491991">PHPでTDD&#038;CIワークショップ、Jenkins + PHP の各種プラグインパート資料 &#8211; Yamashiro0217の日記</a><br />
<a href="https://blog.symfony.jp/2011/03/19/307">Symfony2でJenkinsを使ってCI « symfonyで開発日記</a></p>
<p>今回はUbuntu 10.04 Server版を使ったため、Jenkinsはapt版を入れています。インストール方法は<a href="https://pkg.jenkins-ci.org/debian/" target="_blank">ここに</a>書かれている通りです。</p>
<pre lang="BASH">
wget -q -O - https://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo vim /etc/apt/sources.list
> 末尾に追加: deb https://pkg.jenkins-ci.org/debian binary/
sudo apt-get update
sudo apt-get install jenkins
</pre>
<h3>build.xml作成</h3>
<p>Jenkinsからプロジェクトをビルドする際に使用するbuild.xmlは上記のサイトでも行われているppwコマンドを利用しました。今回のプロジェクトだと下記のようになりました。</p>
<pre lang="BASH">
cd ciunit2_and_jenkins
ppw --name ciunit2_and_jenkins --source ./src/application/ --tests ./src/application/tests/ --bootstrap ./src/application/third_party/CIUnit/bootstrap_phpunit.php --phpcs PEAR .
</pre>
<p>ただ、CIUnitの場合、sourceで指定したディレクトリ内にCIUnitやtestsコードが含まれている為、これらを解析対象から除外したい場合には下記のように、生成されたbuild.xmlを修正します。</p>
<pre lang="DIFF">
--- build.xml	2011-07-27 10:41:01.164477818 +0800
+++ build.xml.new	2011-07-27 10:40:51.814477818 +0800
@@ -49,7 +49,8 @@
    <arg line="${source}
               xml
               codesize,design,naming,unusedcode
-              --reportfile ${basedir}/build/logs/pmd.xml"></arg>
+              --reportfile ${basedir}/build/logs/pmd.xml
+              --exclude third_party/CIUnit/" />
   
  
 
@@ -61,7 +62,7 @@
 
  <target name="phploc" description="Generate phploc.csv">
   <exec executable="phploc">
-   <arg line="--log-csv ${basedir}/build/logs/phploc.csv ${source}"></arg>
+   <arg line="--log-csv ${basedir}/build/logs/phploc.csv --exclude ${source}third_party/CIUnit ${source}"></arg>
   </exec>
  </target>
 
@@ -70,13 +71,14 @@
    <arg line="--report=checkstyle
               --report-file=${basedir}/build/logs/checkstyle.xml
               --standard=PEAR
+              --ignore=tests/,third_party/CIUnit
               ${source}"></arg>
   
  
 
  <target name="phpdoc" description="Generate API documentation using PHPDocumentor">
   <exec executable="phpdoc">
-   <arg line="-d ${source} -t ${basedir}/build/api"></arg>
+   <arg line="-d ${source} -t ${basedir}/build/api -i third_party/CIUnit/"></arg>
   </exec>
  </target>
</pre>
<h3>CodeIgniter用のCodeSniffer</h3>
<p>ppwコマンドの&#8211;phpcsオプションでコードのスタイルチェックのモジュールを選べます。先ほどのコマンドではPEARを選択（デフォルトでもPEAR）したのですが、PEARのコード規約とCodeIgniterのコード規約がところどころ異なっており、CodeIgniterの規約的には正しいのに間違ってると警告されます。</p>
<p>上記のページを参考にphpcsをインストールした場合、linuxの場合、下記のディレクトリにインストールされていると思います。</p>
<pre lang="BASH">
/usr/share/php/PHP/CodeSniffer/Standards
</pre>
<p>初期でインストールされているのは、下記のみです。</p>
<pre lang="BASH">
phpcs -i
The installed coding standards are PEAR, MySource, PHPCS, Squiz and Zend
</pre>
<p>インストールされているものを参考にCodeIgniter用のCodeSnifferを作成すれば、コードチェックについても正常に行えるようになります。</p>
<p>で、少し探してみたのですが、CodeIgniter用のCodeSnifferが見つからなかったので、作る必要があるかもしません。とりあえず、先走り気味にリポジトリだけ作成しました。</p>
<p><del datetime="2011-07-27T06:13:08+00:00">fukata/codesniffer_codeigniter &#8211; GitHub</del></p>
<p>@<a href="https://twitter.com/#!/yterajima">yterajima</a>さんから下記のリポジトリを教えてもらったので、これをforkすることにしました。<br />
<a href="https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer">thomas-ernest/CodeIgniter-for-PHP_CodeSniffer &#8211; GitHub</a></p>
<h3>おまけ：githubのプライベートリポジトリを利用する</h3>
<p>jenkinsのgit pluginからgithubのプライベートリポジトリを利用する機会があったので、その時にはまったことについて書いておきます。</p>
<p>はまったのは、gitへ接続する際に利用するssh keyの設定についてです。</p>
<p>apt版jenkinsの場合、jenkinsの実行にはjenkinsユーザが行っているかと思います。そのjenkinsユーザのホームディレクトリが/var/lib/jenkinsに設定されており、/var/lib/jenkins/.sshがあるので、そこに必要な鍵等を入れます。で、次にjenkinsユーザでログインし、下記のコマンドでgithubに一度繋いでおきます。</p>
<pre lang="BASH">
ssh git@github.com
</pre>
<p>これで、jenkinsで、githubのプライベートリポジトリに対してgit cloneを正常に行えるようになります。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[CodeIgniter]表示する変数をデフォルトでエスケープするようにしてみた</title>
		<link>/archives/5812/</link>
					<comments>/archives/5812/#respond</comments>
		
		<dc:creator><![CDATA[fukata]]></dc:creator>
		<pubDate>Fri, 24 Jun 2011 02:06:57 +0000</pubDate>
				<category><![CDATA[開発]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[CodeIgniter 2.x]]></category>
		<guid isPermaLink="false">http://fukata.org/?p=5812</guid>

					<description><![CDATA[CodeIgniterのXSS Filterはいろんな文字が削除されたり、入力の時点でフィルタリングされるので、あまり好きではありません。 今回は他のフレームワークでよくあるような、表示する変数にデフ ... <a href="/archives/5812/"> 続きを読む</a>]]></description>
										<content:encoded><![CDATA[<p>CodeIgniterのXSS Filterはいろんな文字が削除されたり、入力の時点でフィルタリングされるので、あまり好きではありません。</p>
<p>今回は他のフレームワークでよくあるような、表示する変数にデフォルトでエスケープするような処理を書いてみました。</p>
<p><span id="more-5812"></span></p>
<div class="ad_section"><div class="ad_title">広告</div><div class="ad_body"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- blog-content-bottom1 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-9703571485671477"
     data-ad-slot="4353022998"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div></div>
<p>動作検証はv2.0.2で行っています。実際に利用する場合は、下記のファイルを適当な場所にコピーしてもらい、escape_helperをロードしてください。また、application/config/config.phpに下記を追加してください。</p>
<pre lang="PHP">
$config['display_vars_default_escape'] = TRUE;
</pre>
<p>エスケープ前のデータが欲しい場合は「r」メソッドを使ってデコードするようにしました。</p>
<h2>MY_Loader.php</h2>
<p>64行目付近がその処理になります。<br />
<script src="https://gist.github.com/1044064.js?file=MY_Loader.php"></script></p>
<h2>escape_helper.php</h2>
<p><script src="https://gist.github.com/1044064.js?file=escape_helper.php"></script></p>
]]></content:encoded>
					
					<wfw:commentRss>/archives/5812/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[CodeIgniter2.x]CIUnitをCI2.0.2へ対応させるために行ったこと</title>
		<link>/archives/5791/</link>
					<comments>/archives/5791/#respond</comments>
		
		<dc:creator><![CDATA[fukata]]></dc:creator>
		<pubDate>Mon, 20 Jun 2011 01:59:56 +0000</pubDate>
				<category><![CDATA[開発]]></category>
		<category><![CDATA[CIUnit]]></category>
		<category><![CDATA[CodeIgniter 2.x]]></category>
		<guid isPermaLink="false">http://fukata.org/?p=5791</guid>

					<description><![CDATA[rafsoaken / CIUnit / overview – Bitbucket CIUnit本家の更新が３ヶ月ほど行われておらず、CodeIgniter 2.0.2への対応がされていなかったので、 ... <a href="/archives/5791/"> 続きを読む</a>]]></description>
										<content:encoded><![CDATA[<p><a href="https://bitbucket.org/rafsoaken/ciunit">rafsoaken / CIUnit / overview – Bitbucket</a></p>
<p>CIUnit本家の更新が３ヶ月ほど行われておらず、CodeIgniter 2.0.2への対応がされていなかったので、対応版として下記にアップしました。</p>
<p><a href="https://github.com/fukata/CIUnit-for-CI2">fukata/CIUnit-for-CI2 &#8211; GitHub</a></p>
<p>まだ、完全に対応しきれているのか不明点はありますが、fixtureのロードやcontrollerやmodelのインスタンスは正常に取得できており、サンプルのテストコードは動作しています。</p>
<p>今回は、2.0.2へ対応した際に行ったこと（修正箇所）を書いておきます。</p>
<p><span id="more-5791"></span></p>
<div class="ad_section"><div class="ad_title">広告</div><div class="ad_body"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- blog-content-bottom1 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-9703571485671477"
     data-ad-slot="4353022998"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div></div>
<h2>ディレクトリ構成の変更</h2>
<p>本家のリポジトリをcloneして中身を確認したところ、applicationとtestsが同じディレクトリに存在していましたが、testsはapplication毎に書くだろうと思い、applicationの直下に移動しました。通常applicationは１つしかありませんが、場合によっては複数のapplicationからsystemを共有するような構成を取る場合もあると思ったからです。</p>
<p>ただ、これはCIUnitの動作に関係なく、私個人の好みが強く含まれているので、もしapplicationと同じディレクトリにtestsを置きたい場合はtestsディレクトリへのパスやphpunit.xml内に記載されているbootstrap_phpunit.phpへのパス等を修正してください。</p>
<h2>CIUnit_Versionへの統一</h2>
<p>本家のコードを見た時にCIUnitとCIUnit_Versionという二つの定数が定義されており、どちらも同じような意味で利用されていたので、CIUnit_Versionに全て統一しました。phpunit.xml内に定義されたCIUnitの値を見ても0.17とバージョンと思われる値だったのと、CIUnitはクラス名として定義されていたので紛らわしいと思い、CIUnit_Versionに統一しました。</p>
<h2>phpunit.xmlの使用に限らずテスト実行</h2>
<p>CIUnit定数がphpunit.xml内で定義されている為、本家のコードだとphpunit.xmlを使用して実行された場合にしか正しくテストが実行されませんでしが、phpunit.xmlの使用に関係なくテストが実行されるように変更しました。</p>
<p>コレは意図的にこのような実装を行っていたのかそれとも単なるバグなのか、実はよく分かっていません。テスト用のbootstrap経由で画面表示の確認（テスト用DBだけを使用等）などを行っていたという方居ればこの修正は、以前のものに変更したいと思います。</p>
<h2>絶対パスの使用</h2>
<p>third_party/CIUnit/bootstrap_phpunit.php内に相対パスで定義された場所があったので、dirname(__FILE__)を使用する形に変更しました。相対パスだと実行場所が限られてしまう可能性があるためです。</p>
<h2>その他いくつかバグ修正</h2>
<p>その他、戻り値が参照渡しになっていなかったり、変数名が間違っていた箇所を修正しています。</p>
<h2>まとめ</h2>
<ul>
<li>本家コードの大部分が動いたので良かった</li>
<li>PHPUnit最高</li>
<li>早く本家のメンテナンスが再開されて欲しい</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>/archives/5791/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[CodeIgniter2.x]CIUnit for CI2をEclipseから利用する場合の設定</title>
		<link>/archives/5784/</link>
					<comments>/archives/5784/#respond</comments>
		
		<dc:creator><![CDATA[fukata]]></dc:creator>
		<pubDate>Sun, 19 Jun 2011 07:46:31 +0000</pubDate>
				<category><![CDATA[開発]]></category>
		<category><![CDATA[CIUnit]]></category>
		<category><![CDATA[CodeIgniter 2.x]]></category>
		<category><![CDATA[PHPUnit]]></category>
		<category><![CDATA[Tips]]></category>
		<guid isPermaLink="false">http://fukata.org/?p=5784</guid>

					<description><![CDATA[fukata/CIUnit-for-CI2 &#8211; GitHub をコマンドラインからテストする際はphpunitコマンドを叩けば良いのですが、Eclipseから利用する場合には「外部ツール」 ... <a href="/archives/5784/"> 続きを読む</a>]]></description>
										<content:encoded><![CDATA[<p><a href="https://github.com/fukata/CIUnit-for-CI2">fukata/CIUnit-for-CI2 &#8211; GitHub</a></p>
<p>をコマンドラインからテストする際はphpunitコマンドを叩けば良いのですが、Eclipseから利用する場合には「外部ツール」を設定します。<a href="https://marketplace.eclipse.org/content/makegood">MakeGood</a>というのがCIUnitにも対応している（設定項目は有）ようなのですが、動かなかったので、今回は外部ツールの設定を書いておきます。</p>
<p><span id="more-5784"></span></p>
<div class="ad_section"><div class="ad_title">広告</div><div class="ad_body"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- blog-content-bottom1 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-9703571485671477"
     data-ad-slot="4353022998"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div></div>
<h2>外部ツール設定</h2>
<p>[実行] -> [外部ツール] -> [外部ツールの設定]から以下の2つを設定します。</p>
<p>phpunitコマンドのパスについては、各自の環境で合わせてください。</p>
<h3>CIUnit AllTests</h3>
<p>phpunit.xmlを利用し、全テストを行います。</p>
<p><a href="https://www.flickr.com/photos/45259648@N06/5847466967" ><img src="https://farm3.static.flickr.com/2589/5847466967_be828bd800.jpg" alt="CIUnit-AllTests"  class='aligncenter'/></a></p>
<h3>CIUnit UnitTest</h3>
<p>選択中リソースのテストを行います。選択中リソースとは、PHPExplorerで選択しているフォルダやファイルのこと。フォルダを選択していれば、フォルダ内のファイルを全てテストします。</p>
<p><a href="https://www.flickr.com/photos/45259648@N06/5848025028" ><img src="https://farm4.static.flickr.com/3452/5848025028_d5ce7618cf.jpg" alt="CIUnit-UnitTest"  class='aligncenter'/></a></p>
<p>CIUnit AllTestsを実行した時にコンソールに表示された文字が文字化けする可能性があります。その時は、phpunit.xml内にあるcolors=&#8221;true&#8221;をfalseに変更してみてください。多分これで文字化けは解消すると思います。</p>
]]></content:encoded>
					
					<wfw:commentRss>/archives/5784/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[CodeIgniter2.x]CIUnitのCI2.x対応について</title>
		<link>/archives/5781/</link>
					<comments>/archives/5781/#respond</comments>
		
		<dc:creator><![CDATA[fukata]]></dc:creator>
		<pubDate>Sun, 19 Jun 2011 03:12:11 +0000</pubDate>
				<category><![CDATA[開発]]></category>
		<category><![CDATA[CIUnit]]></category>
		<category><![CDATA[CodeIgniter 2.x]]></category>
		<category><![CDATA[PHPUnit]]></category>
		<guid isPermaLink="false">http://fukata.org/?p=5781</guid>

					<description><![CDATA[CodeIgniterとPHPUnitのブリッジとしてCIUnitというのがありますが、３ヶ月ほど更新されていないようです。なので、なんとかCI2.x系でも動かせないかと思い、色々いじくり回してなんと ... <a href="/archives/5781/"> 続きを読む</a>]]></description>
										<content:encoded><![CDATA[<p>CodeIgniterとPHPUnitのブリッジとして<a href="https://bitbucket.org/rafsoaken/ciunit">CIUnit</a>というのがありますが、３ヶ月ほど更新されていないようです。なので、なんとかCI2.x系でも動かせないかと思い、色々いじくり回してなんとかデフォルトのテストコードが動作する程度までになりました。本家の更新が再開されたらフィードバックしたいと思います。</p>
<p>ソースコードは下記に置いています。</p>
<p><a href="https://github.com/fukata/CIUnit-for-CI2">fukata/CIUnit-for-CI2 &#8211; GitHub</a></p>
<p>本家をforkした方が良いかなと思ったのですが、個人的にMercurialは使いにくいのでgithubに作りました。本家が2.xへの対応をしてくれると信じ、とりあえずのリポジトリ程度にしか考えていません。</p>
<p>冒頭にも書いたようにデフォルトのテストコードが動作する（一部モデルの追加が必要）程度に修正したところです。なので、まだ全機能のテストが出来るとは思えません。自分自身も未検証状態です。実用的なソリューションなので、少しずつ修正していきたいと思います。</p>
<p>あと、自分自身が本家のCIUnitのコードをあまり理解しておらず、2.xへの対応として本家の意図しないコードが混じっている可能性もありますので、ご了承下さい。</p>
]]></content:encoded>
					
					<wfw:commentRss>/archives/5781/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[CodeIgniter2.x]log4phpと連携してみた</title>
		<link>/archives/5770/</link>
					<comments>/archives/5770/#respond</comments>
		
		<dc:creator><![CDATA[fukata]]></dc:creator>
		<pubDate>Sat, 18 Jun 2011 11:43:14 +0000</pubDate>
				<category><![CDATA[開発]]></category>
		<category><![CDATA[CodeIgniter 2.x]]></category>
		<category><![CDATA[log4php]]></category>
		<guid isPermaLink="false">http://fukata.org/?p=5770</guid>

					<description><![CDATA[CodeIgniterのロギング部分は最小限の機能しか提供されていないため、有名なlog4phpと連携させてみました。 今回は、log4phpのフル機能をサポートというわけではなく、最小限の機能だけに ... <a href="/archives/5770/"> 続きを読む</a>]]></description>
										<content:encoded><![CDATA[<p>CodeIgniterのロギング部分は最小限の機能しか提供されていないため、有名な<a href="https://logging.apache.org/log4php/">log4php</a>と連携させてみました。</p>
<p>今回は、log4phpのフル機能をサポートというわけではなく、最小限の機能だけに抑えました。log4phpの機能をフルに使いたければ、phpですし、CodeIgniterですし、直に使っちゃえばいいんじゃない？という風に考えています。</p>
<p><span id="more-5770"></span></p>
<div class="ad_section"><div class="ad_title">広告</div><div class="ad_body"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- blog-content-bottom1 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-9703571485671477"
     data-ad-slot="4353022998"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div></div>
<p>ソースは下記のgithubにおいています。インストール方法などについても下記のページに書いていますので、そちらを参照してください。</p>
<p><a href="https://github.com/fukata/ci-log4php">fukata/ci-log4php &#8211; GitHub</a></p>
<p>今のところ出来ることと言えば、ルートロガーを使ってロギングすることくらいです。あと、前々からlog_message関数は入力しにくい上にロギングレベルを毎回指定しないといけないのは怠いと感じていたので、log4php_helper.phpとしていくつか簡易メソッドを追加しています。</p>
<p>一応、CodeIgniter 2系をターゲットに作りましたが、ci_log4phpの配置先とlog4php.propertiesファイルパスをENVIRONMENTを考慮した形に実装しているので、検証はしていませんが、その辺を変更すれば1系でも動くんじゃないかと思います。</p>
<p>CodeIgniterのlog_messageからでも呼び出し元情報を正常に取得できるように、log4php自体も少し修正しています。なので、直に使いたい場合には、ci_log4phpは使わずに別途公式から提供されているものを使ってください。</p>
<p>application/config/config.php内のlog_pathを利用していなかったりしますし、まだまだ連携していない部分も多々あります。可能であれば、log4phpの機能をフルに提供したいところではありますが、冒頭にも書いたとおりそんなにフルで使いたければ直に使っても良いのかなと思っているので迷っているところではあります。</p>
<p>また、近いうちに勉強がてらにこれを<a href="https://getsparks.org/">sparks</a>のパッケージとして構築しようかと思っています。</p>
<p><strong>追記：2011-06-18 22:49</strong><br />
sparksだと読み込みタイミングがCodeIgniterの初期化が終わった後なので、起動時のログを出力する時には利用できないので、今のところは諦めました。読み込みタイミングがシビアなものは数少ないでしょうから、そういうのはapplication配下に置いて、標準の拡張方法を適用する方が良さそうです。</p>
]]></content:encoded>
					
					<wfw:commentRss>/archives/5770/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
