<?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>技術ブログ &#124; 株式会社クラウディア &#187; PHP</title>
	<atom:link href="https://cloudear.jp/blog/?cat=8&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>https://cloudear.jp/blog</link>
	<description>クラウド専門の業務システム・社内ツール開発</description>
	<lastBuildDate>Fri, 12 Nov 2021 05:00:35 +0000</lastBuildDate>
	<language>ja</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0.1</generator>
	<item>
		<title>Selenium WebDriver で UIテストをプログラム化</title>
		<link>https://cloudear.jp/blog/?p=1066</link>
		<comments>https://cloudear.jp/blog/?p=1066#comments</comments>
		<pubDate>Sun, 03 May 2015 06:45:58 +0000</pubDate>
		<dc:creator><![CDATA[masa]]></dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[フロントエンド]]></category>
		<category><![CDATA[プログラム]]></category>

		<guid isPermaLink="false">https://cloudear.jp/blog/?p=1066</guid>
		<description><![CDATA[みなさんこんにちは、masa です。前回は GUI 画面からブラウザ操作を記録して再生できる Selenium Builder をご紹介しましたが、今回はプログラムからブラウザ操作する Selenium WebDrive [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>みなさんこんにちは、masa です。前回は GUI 画面からブラウザ操作を記録して再生できる Selenium Builder をご紹介しましたが、今回はプログラムからブラウザ操作する <strong>Selenium WebDriver（セレニウムウェブドライバー）</strong> を使って UIテストします。<br />
<span id="more-1066"></span></p>
<p>Selenium WebDriver が対応している言語は<strong> Java, C#, Ruby, Python, Node.js</strong> ですが、php-webdriver-bindings といったサードパーティのライブラリを使えば <strong>PHP</strong> でも書けるようになります。</p>
<p>今回は Java からブラウザテストを実行していきます。</p>
<p>&nbsp;</p>
<p><span class="hcss1" style="font-size: 14pt;"><strong> Java 用ライブラリをダウンロード</strong></span></p>
<p><strong><a href="http://www.seleniumhq.org/download/" target="_blank">Seleniumダウンロードサイト</a></strong>の赤丸で囲ったところをクリックするとライブラリの詰まった zip ファイルがダウンロードできます。<a href="https://cloudear.jp/blog/wp-content/uploads/2015/05/swd1.png"><img class="alignnone size-full wp-image-1070" src="https://cloudear.jp/blog/wp-content/uploads/2015/05/swd1.png" alt="swd1" width="1315" height="843" /></a></p>
<p>&nbsp;</p>
<p>デスクトップにダウンロードしたら、zip ファイルを解凍しましょう。<br />
<a href="https://cloudear.jp/blog/wp-content/uploads/2015/05/swd2.png"><img class="alignnone size-full wp-image-1071" src="https://cloudear.jp/blog/wp-content/uploads/2015/05/swd2.png" alt="swd2" width="851" height="516" /></a></p>
<p>解凍が終わったら、お使いの Java IDE から一般的な Java プロジェクトを作成して、<strong>selenium-java-2.45.0.jar</strong> と libsフォルダの中の<strong> jar ファイル</strong>をすべてライブラリとして読み込みます。（画面は NetBeans）<br />
<a href="https://cloudear.jp/blog/wp-content/uploads/2015/05/swd3.png"><img class="alignnone size-full wp-image-1072" src="https://cloudear.jp/blog/wp-content/uploads/2015/05/swd3.png" alt="swd3" width="330" height="742" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span class="hcss1" style="font-size: 14pt;"><strong>さっそくブラウザを開いて特定のサイトにアクセスしてみる</strong></span></p>
<p>おもむろに以下のコードを書いて実行してみてください。</p>
<pre class="lang:default decode:true">package seleniumwebdrivertest;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

/**
 *
 * @author masa
 */
public class SeleniumWebDriverTest {

    public static void main(String[] args) {
        WebDriver driver = new FirefoxDriver();
        driver.get("https://cloudear.jp");
    }
    
}</pre>
<p>FireFox が起動して弊社のサイトが表示されます（宣伝？ｗ）</p>
<p>ここから作りこんでファイルをダウンロードしたりフォームを埋めて送信したり、テストを書いていくわけです。一から書き込んでいくのは大変なので、前回取り上げた Selenium Builder で操作を記録して、エクスポートしたファイルを調整していくのが良いかと思います。（参照： <a title="Selenium Builder で UIテストを高速化" href="https://cloudear.jp/blog/?p=1042">Selenium Builder で UIテストを高速化</a>）</p>
<p>いかがでしたか？今日はプログラムから UIテストを自動実行する Selenium WebDriver というライブラリをご紹介しました。日々、フロントエンドのテストに追われているエンジニアの方の一助になれば幸いです。</p>
]]></content:encoded>
			<wfw:commentRss>https://cloudear.jp/blog/?feed=rss2&#038;p=1066</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Selenium Builder で UIテストを高速化</title>
		<link>https://cloudear.jp/blog/?p=1042</link>
		<comments>https://cloudear.jp/blog/?p=1042#comments</comments>
		<pubDate>Sun, 26 Apr 2015 14:29:35 +0000</pubDate>
		<dc:creator><![CDATA[masa]]></dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[フロントエンド]]></category>
		<category><![CDATA[プログラム]]></category>

		<guid isPermaLink="false">https://cloudear.jp/blog/?p=1042</guid>
		<description><![CDATA[みなさんこんにちは、masa です。今日は UIテストツール Selenium Builder（セレニウムビルダー） の使い方をご紹介します。Web アプリケーションの会員ログインのテストやお問い合わせフォームの入力・送 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>みなさんこんにちは、masa です。今日は UIテストツール <strong>Selenium Builder（セレニウムビルダー）</strong> の使い方をご紹介します。Web アプリケーションの会員ログインのテストやお問い合わせフォームの入力・送信テストなどを毎回手動で行うのは大変ですよね。<br />
<span id="more-1042"></span></p>
<p><span style="color: #ff0000;"><strong>※2015年5月現在の最新版「Firefox 38.0.1」だと Selenium のエクスポートができないようです。もしお使いの FireFox が最新版である場合は、「<a href="http://osdn.jp/projects/sfnet_portableapps/downloads/Mozilla%20Firefox,%20Portable%20Ed./Mozilla%20Firefox,%20Portable%20Edition%2037.0.2/FirefoxPortable_37.0.2_Japanese.paf.exe/" target="_blank">FireFox Portable版37.02</a>」で Selenium Builder をお試しください。</strong></span></p>
<p>Selenium Builder とは 以前の Selenium IDE の後継にあたる FireFox 用プラグインソフトです。例えばお問い合わせフォームの機能をテストしたいとします。</p>
<ol>
<li>名前を入力</li>
<li>メールアドレスを入力</li>
<li>電話番号を入力</li>
<li>都道府県を選択</li>
<li>住所を入力</li>
<li>送信ボタンをクリック</li>
</ol>
<p>これだけでも何回も手で操作するのはキツイです。Selenium Builder を使えば、手動でやった操作を REC で記録し、何度でも同じ操作を再生することができるのです。</p>
<p>また、記録した操作は Java, PHP, Ruby, Python, C# などのスクリプトに書き出し、Selenium Webdriver を使ってプログラムからテスト実行することもできます。<br />
逆に言えば本来スクリプトで操作内容を書いて SeleniumDriver から実行するのですが、それが大変なので GUI 画面から簡単に出来るようにしたのが、この Selenium Builder なわけです。</p>
<p><strong><span class="hcss1" style="font-size: 14pt;">　Selenium Builder をインストールする</span></strong></p>
<p>まずは FireFox を起動して、<strong><a href="https://saucelabs.com/builder" target="_blank">公式サイト</a>　</strong>からプラグインをダウンロードします。<br />
<a href="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb1.png"><img class="alignnone size-full wp-image-1048" src="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb1.png" alt="sb1" width="1398" height="868" /></a></p>
<p>FireFox のプラグインとしてインストールするダイアログが画面がでたらそのままインストール続行してください。インストールが終わるとブラウザの再起動を求められます。</p>
<p>ブラウザ再起動が終わったら FireFox のメニューから「開発ツール」を選択→「Launch Selenium Builder」を選択します<br />
<a href="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb2.png"><img class="alignnone size-full wp-image-1049" src="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb2.png" alt="sb2" width="1398" height="868" /></a></p>
<p>&nbsp;</p>
<p><strong><span class="hcss1" style="font-size: 14pt;">　まずは簡単な操作を記録して再生してみる</span></strong></p>
<p>Selenium Builder が起動したら、Selenium2 のボタンをクリックすると記録がスタートします。<br />
<span style="font-size: 8pt;">※Selenium1 だと旧 SeleniumRC でのスクリプト作成になりますので非推奨</span><br />
<a href="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb3.png"><img class="alignnone size-full wp-image-1050" src="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb3.png" alt="sb3" width="568" height="640" /></a></p>
<p>ちなみに Slenium 対象のタブはふちが緑色になります。<br />
<a href="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb4.png"><img class="alignnone size-full wp-image-1051" src="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb4.png" alt="sb4" width="259" height="91" /></a></p>
<p>&nbsp;</p>
<p>では以下の操作をしてみます。</p>
<p><span style="font-size: 12pt;"><strong>1. Google を開く</strong></span></p>
<p><span style="font-size: 12pt;"><strong>2. 検索バーに「ボラボラ島」と入力</strong></span></p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb5.png"><img class="alignnone size-full wp-image-1053" src="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb5.png" alt="sb5" width="1593" height="857" /></a></p>
<p>&nbsp;</p>
<p><span style="font-size: 12pt;"><strong>3. 画像検索結果で一番目の写真をクリック</strong></span></p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb6.png"><img class="alignnone size-full wp-image-1054" src="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb6.png" alt="sb6" width="1593" height="854" /></a></p>
<p>&nbsp;</p>
<p><strong><span style="font-size: 12pt;">4. 操作が終わったら Selenium の画面で「Stop recording」をクリックして記録を止めます。<br />
</span></strong><br />
<a href="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb7.png"><img class="alignnone size-full wp-image-1055" src="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb7.png" alt="sb7" width="568" height="640" /></a></p>
<p>&nbsp;</p>
<p><strong><span style="font-size: 12pt;">5. 記録した操作を再生します。</span></strong><strong><span style="font-size: 12pt;">Runメニューから「Run test locally」をクリックすると再生が開始されます。</span></strong></p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb8.png"><img class="alignnone size-full wp-image-1056" src="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb8.png" alt="sb8" width="568" height="640" /></a></p>
<p>自動的に操作されましたか？ちょっと感動しますね。もっと複雑な操作の場合はスクリプトで調整する必要がありますが、ざっくりと雛形を作るにはとても便利なツールだと思います。</p>
<p>最後にこの記録をスクリプトに書き出してみましょう。今回はネイティブな Java にエクスポートしてみます。<br />
Fileメニューから「Export」をクリックします。<br />
<a href="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb9.png"><img class="alignnone size-full wp-image-1057" src="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb9.png" alt="sb9" width="568" height="640" /></a></p>
<p>お好きな言語を選択してください。<br />
<a href="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb101.png"><img class="alignnone size-full wp-image-1061" src="https://cloudear.jp/blog/wp-content/uploads/2015/04/sb101.png" alt="sb10" width="568" height="640" /></a></p>
<p>ちなみにこれが Java で書き出したソースコードです。</p>
<pre class="lang:default decode:true ">import java.util.concurrent.TimeUnit;
import java.util.Date;
import java.io.File;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.*;
import static org.openqa.selenium.OutputType.*;

public class sb {
    public static void main(String[] args) throws Exception {
        FirefoxDriver wd;
        wd = new FirefoxDriver();
        wd.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
        wd.get("https://www.google.co.jp/?gws_rd=ssl");
        wd.findElement(By.id("lst-ib")).click();
        wd.findElement(By.id("lst-ib")).clear();
        wd.findElement(By.id("lst-ib")).sendKeys();
        wd.findElement(By.id("lst-ib")).click();
        wd.findElement(By.id("lst-ib")).sendKeys("\n");
        wd.findElement(By.id("lst-ib")).click();
        wd.findElement(By.id("lst-ib")).clear();
        wd.findElement(By.id("lst-ib")).sendKeys("ボラボラ島");
        wd.findElement(By.id("lst-ib")).click();
        wd.findElement(By.id("lst-ib")).sendKeys("\n");
        wd.findElement(By.name("imgthumb1")).click();
        wd.quit();
    }
    
    public static boolean isAlertPresent(FirefoxDriver wd) {
        try {
            wd.switchTo().alert();
            return true;
        } catch (NoAlertPresentException e) {
            return false;
        }
    }
}</pre>
<p>このスクリプトをいじって Selenium Webdriver でプログラムから実行することも可能です。</p>
<p>いかがでしたか？今日は UIテストツールである Selenium Builder を取り上げてみました。もしこの記事に反響があれば Selenium Webdriver についても書いてみたいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>https://cloudear.jp/blog/?feed=rss2&#038;p=1042</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FuelPHP フレームワーク超入門</title>
		<link>https://cloudear.jp/blog/?p=400</link>
		<comments>https://cloudear.jp/blog/?p=400#comments</comments>
		<pubDate>Sun, 28 Dec 2014 09:12:42 +0000</pubDate>
		<dc:creator><![CDATA[masa]]></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[フレームワーク]]></category>
		<category><![CDATA[プログラム]]></category>

		<guid isPermaLink="false">https://cloudear.jp/blog/?p=400</guid>
		<description><![CDATA[みなさん今年はイイコトありましたか？さて、前々回のテーマ FuelPHP フレームワークをインストール に続いて、今回はその使い方を見ていきます。 まだ FuelPHP が入っていない人は上記ブログを見てインストールして [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>みなさん今年はイイコトありましたか？さて、前々回のテーマ <strong><a title="FuelPHP フレームワークをインストール" href="https://cloudear.jp/blog/?p=354">FuelPHP フレームワークをインストール</a> </strong>に続いて、今回はその使い方を見ていきます。 まだ FuelPHP が入っていない人は上記ブログを見てインストールしてみてね。<br />
<span id="more-400"></span></p>
<p>前回インストールした段階でアクセスすると、以下のように Welcome! 画面が出ました。</p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2014/12/fueltop.bmp"><img class="alignnone size-full wp-image-358" src="https://cloudear.jp/blog/wp-content/uploads/2014/12/fueltop.bmp" alt="fueltop" width="1281" height="873" /></a></p>
<p>&nbsp;</p>
<p>では、今回は /index.php/welcome/hello にアクセスしてみてください。次の画面が出るはずです。</p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2014/12/fuelphp_hello.png"><img class="alignnone size-full wp-image-407" src="https://cloudear.jp/blog/wp-content/uploads/2014/12/fuelphp_hello.png" alt="fuelphp_hello" width="1115" height="850" /></a></p>
<p>みんな大好き Hello, World !  まず FuelPHP のこの仕組みを理解する必要がありますので見ていきましょう。</p>
<p>まず、ドキュメントルートにアクセスした際、Welcome! ページが出たカラクリは以下のファイルにあります。</p>
<p>(/usr/local/hogeblog/fuel/app/config/routes.php )</p>
<pre class="lang:default decode:true">&lt;?php
return array(
        '_root_'  =&gt; 'welcome/index',  // The default route
        '_404_'   =&gt; 'welcome/404',    // The main 404 route

        'hello(/:name)?' =&gt; array('welcome/hello', 'name' =&gt; 'hello'),
);</pre>
<p>↑<br />
3行目はドキュメントルートにアクセスがあったら、「/usr/local/hogeblog/fuel/app/views/welcome/index.php」をみせるという意味、<br />
4行目は、存在しないアクセスがあったら、「/usr/local/hogeblog/fuel/app/views/welcome404.php」をみせるという意味です。<br />
つまり、ドキュメントルートへのアクセスはここをいじれば自分の作ったコンテンツへ向けることができるようになります ´ω`)ﾉ</p>
<p>次は「/index.php/welcome/hello」にアクセスすると Hello, World !  がでるカラクリをみていきます。</p>
<p><span style="color: #d34fff;"><strong>FuelPHP では index.php の次に指定したものが コントローラー となります。</strong></span></p>
<p>上の例で言うと /index.php/<strong>welcome</strong>/ の部分ですね。どこやそのファイルというと<br />
fuel/app/classes/controller/welcome.php です。こいつが MVC の Controller そのもの ↓</p>
<pre class="lang:default decode:true">/**
 * The Welcome Controller.
 *
 * A basic controller example.  Has examples of how to set the
 * response body and status.
 *
 * @package  app
 * @extends  Controller
 */
class Controller_Welcome extends Controller
{        /**
         * The basic welcome message
         *
         * @access  public
         * @return  Response
         */
        public function action_index()
        {
                return Response::forge(View::forge('welcome/index'));
        }

        /**
         * A typical "Hello, Bob!" type example.  This uses a Presenter to
         * show how to use them.
         *
         * @access  public
         * @return  Response
         */
        public function action_hello()
        {
                return Response::forge(Presenter::forge('welcome/hello'));
        }
        /**
         * The 404 action for the application.
         *
         * @access  public
         * @return  Response
         */        public function action_404()        {                return Response::forge(Presenter::forge('welcome/404'), 404);        }
}</pre>
<p>クラス名やメソッド名は FuelPHP に厳格な命名規則があります。今はこういうものだと流してください。Welcome コントローラーが中で何をやっているかというと</p>
<p>・17行目　welcome/index にアクセスがあったら、welcome/index.php をみせるんやで、という指示が書いてあります。action_●●で指定できます。</p>
<p>・29行目  welcome/hello にアクセスがあったら、 welcome/hello.php をみせるん（略）</p>
<p><span style="font-size: 12pt;"><strong><span style="color: #d34fff;">つまり、通常のアクセスは 「/index.php/コントローラー名/メソッド名/メソッドで指定したファイル」で受け取るということです。</span></strong></span></p>
<p><span style="font-size: 12pt;"><strong><span style="color: #d34fff;">つまり、通常のアクセスは 「/index.php/コントローラー名/メソッド名/メソッドで指定したファイル」で受け取るということです。</span></strong></span></p>
<p>大事なことなので2回言いました。</p>
<p>でも、毎回 index.php つけるのダサいですよね。これを消す方法をみていきましょう。</p>
<p class="hcss1"><strong><span style="font-size: 14pt;"> FuelPHP で index.php を消す方法</span></strong></p>
<p>実はめちゃかんたんです。以下のファイルの 27～29行目のコメントアウトを外して Apache を再起動してください。<br />
(/usr/local/hogeblog/public/.htaccess)</p>
<pre class="lang:default decode:true"># Multiple Environment config, set this to development, staging or production
# SetEnv FUEL_ENV production

&lt;IfModule mod_rewrite.c&gt;        RewriteEngine on

        # NOTICE: If you get a 404 play with combinations of the following commented out lines
        #AllowOverride All
        #RewriteBase /wherever/fuel/is

    # Make sure directory listing is disabled        Options +FollowSymLinks -Indexes

        # Restrict your site to only one domain
        # !important USE ONLY ONE OPTION

        # Option 1: To rewrite "www.domain.com -&gt; domain.com" uncomment the following lines.
        #RewriteCond %{HTTPS} !=on
        #RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
        #RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

        # Option 2: To rewrite "domain.com -&gt; www.domain.com" uncomment the following lines.
        #RewriteCond %{HTTPS} !=on
        #RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
        #RewriteCond %{HTTP_HOST} (.+)$ [NC]
        #RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

        # Remove index.php from URL
        RewriteCond %{HTTP:X-Requested-With}    !^XMLHttpRequest$
        RewriteCond %{THE_REQUEST}                              ^[^/]*/index\.php [NC]
        RewriteRule ^index\.php(.*)$                    $1 [R=301,NS,L]</pre>
<p>Apache で .htaccess による設定上書きを有効にしていない方は以下を変更<br />
(/etc/httpd/conf/httpd.conf)</p>
<pre class="lang:default decode:true">&lt;Directory /&gt;
    Options FollowSymLinks
    #AllowOverride None
    AllowOverride All   # None → All
&lt;/Directory&gt;</pre>
<p>これで、index.php を入れなくてもアクセスできるようになっているはず・・・<br />
<a href="https://cloudear.jp/blog/wp-content/uploads/2014/12/fuelphp_nonphp.png"><img class="alignnone size-full wp-image-432" src="https://cloudear.jp/blog/wp-content/uploads/2014/12/fuelphp_nonphp.png" alt="fuelphp_nonphp" width="1117" height="848" /></a></p>
<p>↑ イケましたね。これで MVC のコントローラーからビューへの受け渡しができます。</p>
<p>いかがでしたか？<br />
FuelPHP の超入門ということで C（コントローラー）と V（ビュー）の使い方をみてきました。<br />
実際は DB との連携でアプリケーションを作りますので、またの機会に FuelPHP の便利な M （モデル）の使い方をみていきたいと思います。</p>
<p>それではみなさん良いお年をー( ´ω｀)ﾉ</p>
]]></content:encoded>
			<wfw:commentRss>https://cloudear.jp/blog/?feed=rss2&#038;p=400</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sublime Text で PHP 実行する方法</title>
		<link>https://cloudear.jp/blog/?p=353</link>
		<comments>https://cloudear.jp/blog/?p=353#comments</comments>
		<pubDate>Sun, 21 Dec 2014 03:17:02 +0000</pubDate>
		<dc:creator><![CDATA[masa]]></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[エディタ]]></category>

		<guid isPermaLink="false">https://cloudear.jp/blog/?p=353</guid>
		<description><![CDATA[みなさんはローカル開発環境でエディタは何を使っていますか？私は Java の場合は Eclipse で、PHP の場合は『Sublime Text2/3』を使っています。 Sublime Text を選んだ理由は4つ 右 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>みなさんはローカル開発環境でエディタは何を使っていますか？私は Java の場合は Eclipse で、PHP の場合は『Sublime Text2/3』を使っています。<br />
<span id="more-353"></span><strong><br />
Sublime Text を選んだ理由は4つ</strong></p>
<ol>
<li>右のミニマップが便利</li>
<li>動作が軽い</li>
<li>vim 化が簡単</li>
<li>GUI のデザインがイケてる</li>
</ol>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2014/12/sublime_demo.bmp"><img class="alignnone size-full wp-image-372" src="https://cloudear.jp/blog/wp-content/uploads/2014/12/sublime_demo.bmp" alt="sublime_demo" width="825" height="523" /></a></p>
<p>PHP みたいにコンパイルが必要ない言語は、サーバー上で vim を使ってちゃちゃっと書いちゃってもいいんですが、案件によってはサーバーにログイン出来ないこともあるしねー</p>
<p>今日はそんな Sublime Text で PHP を書いた後にそのまま実行して結果をコンソールに出す方法をご紹介。</p>
<p><strong>1.　何はともあれ PC に PHP をインストールする</strong></p>
<p><a href="http://windows.php.net/download/#php-5.6-nts-VC11-x86">PHP5.6 ダウンロードサイト</a> へアクセスして、32bit版 or 64bit版をお使いの PC の環境に合わせてダウンロード</p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2014/12/php_dl.bmp"><img class="alignnone size-full wp-image-378" src="https://cloudear.jp/blog/wp-content/uploads/2014/12/php_dl.bmp" alt="php_dl" width="927" height="756" /></a></p>
<p>Zip ファイルをダウンロードし終わったら、解凍してフォルダ名を「php」に変えて、Cドライブ直下に置きましょう↓</p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2014/12/folder_php.bmp"><img class="alignnone size-full wp-image-383" src="https://cloudear.jp/blog/wp-content/uploads/2014/12/folder_php.bmp" alt="folder_php" width="591" height="189" /></a></p>
<p>&nbsp;</p>
<p><strong>2. Sublime Text から 以下の項目を選択</strong></p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2014/12/newbuild.bmp"><img class="alignnone size-full wp-image-384" src="https://cloudear.jp/blog/wp-content/uploads/2014/12/newbuild.bmp" alt="newbuild" width="765" height="349" /></a></p>
<p>以下のコードを書いて、下図のように「PHP.sublime-build」という名前で保存</p>
<pre class="lang:default decode:true">{
    "path": "C:\\php",
    "cmd": ["php", "-f", "$file"],
    "selector": "source.php",
    "encoding": "UTF-8"
}</pre>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2014/12/php_setting.bmp"><img class="alignnone size-full wp-image-385" src="https://cloudear.jp/blog/wp-content/uploads/2014/12/php_setting.bmp" alt="php_setting" width="811" height="661" /></a></p>
<p>そうすると、以下のように PHP がビルドで選べるようになります</p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2014/12/php_build.bmp"><img class="alignnone size-full wp-image-387" src="https://cloudear.jp/blog/wp-content/uploads/2014/12/php_build.bmp" alt="php_build" width="801" height="397" /></a></p>
<p>&nbsp;</p>
<p><strong>3. PHP コードを書いて 『Ctrl + B』 を押すか、メニューの「Tools &gt; Build」を選択</strong></p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2014/12/res_php.bmp"><img class="alignnone size-full wp-image-388" src="https://cloudear.jp/blog/wp-content/uploads/2014/12/res_php.bmp" alt="res_php" width="625" height="361" /></a></p>
<p>上記のようにPHP が実行されて、結果が下のコンソールにでてきます</p>
<p>&nbsp;</p>
<p>いかがでしたか？<br />
ローカルでそのまま PHP が実行出来るとデバッグがはかどりますよね。<br />
私はいつも vim 化して使っています。Sublime Text は様々なプラグインがありますのでみなさんもカスタマイズしてみてください。</p>
]]></content:encoded>
			<wfw:commentRss>https://cloudear.jp/blog/?feed=rss2&#038;p=353</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FuelPHP フレームワークをインストール</title>
		<link>https://cloudear.jp/blog/?p=354</link>
		<comments>https://cloudear.jp/blog/?p=354#comments</comments>
		<pubDate>Sun, 14 Dec 2014 11:00:05 +0000</pubDate>
		<dc:creator><![CDATA[masa]]></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[フレームワーク]]></category>
		<category><![CDATA[プログラム]]></category>

		<guid isPermaLink="false">https://cloudear.jp/blog/?p=354</guid>
		<description><![CDATA[今日は衆議院選挙の投票日でした。みなさん投票には行かれましたか？ 私の住んでいる区では結構若い人も来ていました ヾ(　＾ω＾)ﾉ     今日は前から書こうと思っていて書けていなかった FuelPHP のインストール方法 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>今日は衆議院選挙の投票日でした。みなさん投票には行かれましたか？ 私の住んでいる区では結構若い人も来ていました ヾ(　＾ω＾)ﾉ     今日は前から書こうと思っていて書けていなかった FuelPHP のインストール方法を備忘録もかねてご紹介。<br />
<span id="more-354"></span></p>
<p>私は PHP で書くときは小規模なものをパパっと書くことが多いのでフレームワークは使っていません。ある程度の規模を超える場合は最初から Java + フレームワークに切り替えています。</p>
<p>終了</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>再開</p>
<p>とはいえ、個人の仕事でない場合は、すでにプログラミング言語とフレームワークの選定が終わっていることもあり、まさに FuelPHP を勉強する機会があったわけです。日本で一番人気の CakePHP は使ったことがないので比較はできないのですが、FuelPHP は CodeIgniter の元メンバーが開発しており、軽量で速度が速いんだそうです。</p>
<p>ちなみに2014年末、日本での検索人気は以下の通り （あいからず CakePHP が強い！）</p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2014/12/fuel_cake.bmp"><img class="alignnone size-full wp-image-356" src="https://cloudear.jp/blog/wp-content/uploads/2014/12/fuel_cake.bmp" alt="fuel_cake" width="815" height="535" /></a></p>
<p>■FuelPHP のインストール準備</p>
<pre class="lang:default decode:true ">yum install -y git #git が入ってない方はまずインストール</pre>
<pre class="lang:default decode:true ">vim /etc/php.ini #php.ini の timezone を以下のように変更してください
------------------------------
date.timezone = "Asia/Tokyo"
------------------------------</pre>
<pre class="lang:default decode:true ">curl get.fuelphp.com/oil | sh   #左のコマンドを叩くと /usr/bin/ 配下に oil というコマンドが入る</pre>
<p>■FuelPHP のインストール</p>
<pre class="lang:default decode:true">cd /usr/local #インストールしたいディレクトリへ移動
oil create hogeblog #oil コマンドを使って、hogeblog というディレクトリに FuelPHP を入れます</pre>
<p>無事インストールできましたか？</p>
<p>■FuelPHP を使い始める</p>
<p>ドキュメントルートを『/usr/local/hogeblog/public/』に変更します。</p>
<pre class="lang:default decode:true ">vim /etc/httpd/conf/httpd.conf

-------------------------------
DocumentRoot "/var/www/html"
       ↓
DocumentRoot "/usr/local/hogeblog/public"
-------------------------------</pre>
<p>Apache をリスタートします</p>
<pre class="lang:default decode:true ">/etc/init.d/httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]</pre>
<p>&nbsp;</p>
<p>■FuelPHP の画面にアクセスしてみる<br />
ここで自分のサーバーへアクセスしてみましょう</p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2014/12/fueltop.bmp"><img class="alignnone size-full wp-image-358" src="https://cloudear.jp/blog/wp-content/uploads/2014/12/fueltop.bmp" alt="fueltop" width="1281" height="873" /></a></p>
<p>&nbsp;</p>
<p>画面が出ない方は Apache のドキュメントルートの設定を見直してみてくださいね。</p>
<p>&nbsp;</p>
<p>いかがでしたか？<br />
今後は MVC におけるコントローラーなどの設定について書いていきたいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>https://cloudear.jp/blog/?feed=rss2&#038;p=354</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
