SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
PHP with 
Visual Studio
目次 
・1. 自己紹介 
・2. Visual Studio の素晴らしさ 
・3. PHP Tools for Visual Studio 
・4. ローカル(?)環境の構築 
・5. リモートデバッグ環境の構築
(1/5) 自己紹介
自己紹介 
・@kobayan_tokyo 
・http://blog.clock-up.jp/ 
・元ゲーム屋、現フリーランス 
 ・業務系ツール開発 
 ・ときどき講師 
・好きな言語:C++
ときどき直面するフリーランスの問題 
「フリーランス」はワーキングプアと混同される。 
→ 端的に言うと癪。説明するのはめんどい。
ときどき直面するフリーランスの問題 
■ソリューション 
会社を作る。 
→「会社を経営しています」と言える。 
→説明が省ける。 
■法人化の方法 
知り合いから教わります。
余談:新宿の良いところ 
・24時間飯が食える 
・24時間銭湯に入れる 
・24時間電化製品が買える(ドンキホーテ) 
・24時間ジムに行ける(エニタイムフィットネス) 
・24時間明るい
(2/5) Visual Studio 
の素晴らしさ
Visual Studio の時代再来の予感 
Microsoftが「.NET」をオープンソース化&クロスプラット 
フォーム化、さらに無料版「Visual Studio Community 
2013」も公開 - GIGAZINE 
http://gigazine.net/news/20141113-microsoft-net-framework/
Visual Studio の素晴らしさ 
端的に言うと 
初心者に優しい
インストール一発 
・ポチポチするだけ
プロジェクト作成もシンプル 
・ポチポチするだけ
画面作成もシンプル 
・ポチポチ配置 
・部品をダブルクリックでイベン 
ト関数作成。
MSDN(リファレンス)見やすい 
ネイティブアプリとしてMSDN 
が提供されている。 
・ネットワークが必要ない 
・当然ネットワーク遅延が無い
むしろMSDN見る必要すらない 
・補完が最強に優秀
デバッグ機能が当然のように使える 
・設定なんて必要ない 
に決まってるじゃない 
ですか…
Visual Studio の素晴らしさまとめ 
・当たり前のことが当たり前にできる 
・初心者に優しい
初心者に優しい環境を… 
プログラミングそのものに触れる以前に 
環境構築で心が折れてしまうような環境はダメ
初心者に優しい環境を… 
初心者にマサカリが 
投げられるような世界は悪
初心者に優しい環境を… 
細かい知識の習得は 
プログラミングの楽しさに 
気づいてからで良いのです。
(3/5) PHP Tools 
for Visual Studio
Visual Studio が素晴らしいので 
Visual Studio で 
あらゆるコーディングを行いたい
Visual Studio extension 
・PHP Tools for Visual Studio … 激優秀 
・Ruby in Steel … バグ多すぎ 
・Python Tools for Visual Studio … ほぼ未検証
PHP Tools for Visual Studio 
https://visualstudiogallery.msdn.microsoft. 
com/6eb51f05-ef01-4513-ac83-4c5f50c95fb5 
http://support.devsense.com/viewforum.php?f=21 
・シンタックスハイライト 
・補完 
・ステップ実行等
サポートが速い&親切 
・顔の見える相手から 
スピーディーに返答が 
来るのは嬉しい。 
・バグ修正パッチもす 
ぐ作ってくれる。
(4/5) ローカル(?)環 
境の構築
Windows で PHP を触るときの環境 
・Visual Studio (with PHP Tools for Visual Studio) 
・VirtualBox 
 ・CentOS 
 ・PHP 5.5 
※PECL周りでWindowsとLinuxで差異がありすぎるので 
Windows上で動かすのは諦めた
PHPがVirtualBoxにあるので 
・当然ながら別ホスト扱い 
 ↓ 
・リモートデバッグの設定が必要
(5/5) リモートデバッ 
グ環境の構築
必要なもの 
# pecl install xdebug
xdebugによるリモートデバッグの仕組み 
・IDE側がポート9000で待ち受ける 
・PHP側からIDEのポートに対して接続を試みる。 
・随時デバッグ情報を送信。 
・当然ブレークポイントとかも効く。 
PHP xdebug 
IDE Browser
xdebugによるリモートデバッグの仕組み 
・IDE側がポート9000で待ち受ける 
・PHP側からIDEのポートに対して接続を試みる。 
・随時デバッグ情報を送信。 
・当然ブレークポイントとかも効く。 
VirtualBox 
PHP xdebug 
※VirtualBox側から 
 ホスト側に繋ぐ必要あり… 
IDE Browser
sshトンネル 
> ssh -R 9000:localhost:9000 kobake@virtualbox 
kobake@virtualbox's password: 
Last login: Fri Nov 28 13:57:31 2014 from 192.168.56.1 
[kobake@virtualbox ~]$ 
これでvirtualbox(CentOS)内での127.0.0.1:9000に対する接続が 
ホストマシン(Windows)側の9000番ポートに転送される。
xdebug設定 
xdebug.ini 
------------------------------- 
xdebug.remote_enable = On 
xdebug.remote_host = 127.0.0.1 
SSHトンネル経由で繋ぐのでこれで良いのです。
プロジェクト設定 
ちょっとクセはあります。 
この例でいうところの 
「www.datawatch.local」は 
virtualboxを指しています。
起動 
ブラウザが起動します↓
ブレークポイントも効きます
若干設定めんどくさかったですが… 
標準機能ではないので仕方ないです。
おしまい

Weitere ähnliche Inhalte

Was ist angesagt?

var dumpを使わないWordPress開発フロー
var dumpを使わないWordPress開発フローvar dumpを使わないWordPress開発フロー
var dumpを使わないWordPress開発フロー優也 田島
 
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話Yuki Kuramochi
 
「実務系」エンジニアとは?
「実務系」エンジニアとは?「実務系」エンジニアとは?
「実務系」エンジニアとは?galluda
 
WDHA#038 CMS会議 AOMORI / a-blog cms 2.1を活用したWeb制作のワークフロー
WDHA#038 CMS会議 AOMORI / a-blog cms 2.1を活用したWeb制作のワークフローWDHA#038 CMS会議 AOMORI / a-blog cms 2.1を活用したWeb制作のワークフロー
WDHA#038 CMS会議 AOMORI / a-blog cms 2.1を活用したWeb制作のワークフローKazumich YAMAMOTO
 
Word pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオンWord pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオンHidetaka Okamoto
 
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015Yoshinori Kobayashi
 

Was ist angesagt? (6)

var dumpを使わないWordPress開発フロー
var dumpを使わないWordPress開発フローvar dumpを使わないWordPress開発フロー
var dumpを使わないWordPress開発フロー
 
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
 
「実務系」エンジニアとは?
「実務系」エンジニアとは?「実務系」エンジニアとは?
「実務系」エンジニアとは?
 
WDHA#038 CMS会議 AOMORI / a-blog cms 2.1を活用したWeb制作のワークフロー
WDHA#038 CMS会議 AOMORI / a-blog cms 2.1を活用したWeb制作のワークフローWDHA#038 CMS会議 AOMORI / a-blog cms 2.1を活用したWeb制作のワークフロー
WDHA#038 CMS会議 AOMORI / a-blog cms 2.1を活用したWeb制作のワークフロー
 
Word pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオンWord pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオン
 
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
 

Ähnlich wie PHP with Visual Studio

DevOps 研修 初級編
DevOps 研修 初級編DevOps 研修 初級編
DevOps 研修 初級編Hiro Fukami
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-nishio
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方Yusuke Wada
 
Phpインタフェースについて
PhpインタフェースについてPhpインタフェースについて
PhpインタフェースについてHirokazu Katagiri
 
リモート環境でも社内勉強会(てっくらんち)を運営してよかった!! - Bit valley inside- vol.17-kazuyuki takahashi
リモート環境でも社内勉強会(てっくらんち)を運営してよかった!! - Bit valley  inside- vol.17-kazuyuki takahashiリモート環境でも社内勉強会(てっくらんち)を運営してよかった!! - Bit valley  inside- vol.17-kazuyuki takahashi
リモート環境でも社内勉強会(てっくらんち)を運営してよかった!! - Bit valley inside- vol.17-kazuyuki takahashiKazuyuki Takahashi
 
サイボウズのリモートワーク・リモートチーム
サイボウズのリモートワーク・リモートチームサイボウズのリモートワーク・リモートチーム
サイボウズのリモートワーク・リモートチームRyo Mitoma
 
2013年3月20日 Tech Compass #tecomp #きのこる
2013年3月20日 Tech Compass #tecomp #きのこる2013年3月20日 Tech Compass #tecomp #きのこる
2013年3月20日 Tech Compass #tecomp #きのこるYusuke Yamamoto
 
PHP でも活用できる Makefile
PHP でも活用できる MakefilePHP でも活用できる Makefile
PHP でも活用できる MakefileShohei Okada
 
僕がwordpressを選んだ理由
僕がwordpressを選んだ理由僕がwordpressを選んだ理由
僕がwordpressを選んだ理由jsugiyama
 
自社開発をしていなかった会社が Python を選んだ理由
自社開発をしていなかった会社が Python を選んだ理由自社開発をしていなかった会社が Python を選んだ理由
自社開発をしていなかった会社が Python を選んだ理由Daisuke Komatsu
 
DevOps 研修 中級編#02
DevOps 研修 中級編#02DevOps 研修 中級編#02
DevOps 研修 中級編#02Hiro Fukami
 
Word bench神戸の紹介
Word bench神戸の紹介Word bench神戸の紹介
Word bench神戸の紹介BREN
 
Members innovationlab#1
Members innovationlab#1Members innovationlab#1
Members innovationlab#1Sosuke Kimura
 
2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明
2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明
2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明Yuta Hayakawa
 
この中に1人、素人がいる!
この中に1人、素人がいる!この中に1人、素人がいる!
この中に1人、素人がいる!infinite_loop
 
受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで
受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで
受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまでYusuke Tamukai
 
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみるYuta Hayakawa
 
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道Masayuki KaToH
 
エンジニアが人に言われることあるある(副題「LaravelとReactで開発したい!」)
エンジニアが人に言われることあるある(副題「LaravelとReactで開発したい!」)エンジニアが人に言われることあるある(副題「LaravelとReactで開発したい!」)
エンジニアが人に言われることあるある(副題「LaravelとReactで開発したい!」)プログラミングをする パンダ
 

Ähnlich wie PHP with Visual Studio (20)

DevOps 研修 初級編
DevOps 研修 初級編DevOps 研修 初級編
DevOps 研修 初級編
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方
 
第1回勉強会
第1回勉強会第1回勉強会
第1回勉強会
 
Phpインタフェースについて
PhpインタフェースについてPhpインタフェースについて
Phpインタフェースについて
 
リモート環境でも社内勉強会(てっくらんち)を運営してよかった!! - Bit valley inside- vol.17-kazuyuki takahashi
リモート環境でも社内勉強会(てっくらんち)を運営してよかった!! - Bit valley  inside- vol.17-kazuyuki takahashiリモート環境でも社内勉強会(てっくらんち)を運営してよかった!! - Bit valley  inside- vol.17-kazuyuki takahashi
リモート環境でも社内勉強会(てっくらんち)を運営してよかった!! - Bit valley inside- vol.17-kazuyuki takahashi
 
サイボウズのリモートワーク・リモートチーム
サイボウズのリモートワーク・リモートチームサイボウズのリモートワーク・リモートチーム
サイボウズのリモートワーク・リモートチーム
 
2013年3月20日 Tech Compass #tecomp #きのこる
2013年3月20日 Tech Compass #tecomp #きのこる2013年3月20日 Tech Compass #tecomp #きのこる
2013年3月20日 Tech Compass #tecomp #きのこる
 
PHP でも活用できる Makefile
PHP でも活用できる MakefilePHP でも活用できる Makefile
PHP でも活用できる Makefile
 
僕がwordpressを選んだ理由
僕がwordpressを選んだ理由僕がwordpressを選んだ理由
僕がwordpressを選んだ理由
 
自社開発をしていなかった会社が Python を選んだ理由
自社開発をしていなかった会社が Python を選んだ理由自社開発をしていなかった会社が Python を選んだ理由
自社開発をしていなかった会社が Python を選んだ理由
 
DevOps 研修 中級編#02
DevOps 研修 中級編#02DevOps 研修 中級編#02
DevOps 研修 中級編#02
 
Word bench神戸の紹介
Word bench神戸の紹介Word bench神戸の紹介
Word bench神戸の紹介
 
Members innovationlab#1
Members innovationlab#1Members innovationlab#1
Members innovationlab#1
 
2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明
2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明
2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明
 
この中に1人、素人がいる!
この中に1人、素人がいる!この中に1人、素人がいる!
この中に1人、素人がいる!
 
受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで
受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで
受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで
 
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
 
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
 
エンジニアが人に言われることあるある(副題「LaravelとReactで開発したい!」)
エンジニアが人に言われることあるある(副題「LaravelとReactで開発したい!」)エンジニアが人に言われることあるある(副題「LaravelとReactで開発したい!」)
エンジニアが人に言われることあるある(副題「LaravelとReactで開発したい!」)
 

Mehr von Keiichi Kobayashi

こだわりの仕事スタイル:モチベ維持
こだわりの仕事スタイル:モチベ維持こだわりの仕事スタイル:モチベ維持
こだわりの仕事スタイル:モチベ維持Keiichi Kobayashi
 
Ssh公開鍵認証ハンズオン
Ssh公開鍵認証ハンズオンSsh公開鍵認証ハンズオン
Ssh公開鍵認証ハンズオンKeiichi Kobayashi
 
そうだプラグイン作ろう =Unityの巻=
そうだプラグイン作ろう =Unityの巻=そうだプラグイン作ろう =Unityの巻=
そうだプラグイン作ろう =Unityの巻=Keiichi Kobayashi
 
Angular js活用事例:filydoc
Angular js活用事例:filydocAngular js活用事例:filydoc
Angular js活用事例:filydocKeiichi Kobayashi
 
Chromeデベロッパーツール
ChromeデベロッパーツールChromeデベロッパーツール
ChromeデベロッパーツールKeiichi Kobayashi
 
Java script関数コールの追跡
Java script関数コールの追跡Java script関数コールの追跡
Java script関数コールの追跡Keiichi Kobayashi
 
ドハマリ Is ナレッジ
ドハマリ Is ナレッジドハマリ Is ナレッジ
ドハマリ Is ナレッジKeiichi Kobayashi
 
Tbsアイデアソンに参加しました
Tbsアイデアソンに参加しましたTbsアイデアソンに参加しました
Tbsアイデアソンに参加しましたKeiichi Kobayashi
 
オープンソースコミュニティへのライトな貢献
オープンソースコミュニティへのライトな貢献オープンソースコミュニティへのライトな貢献
オープンソースコミュニティへのライトな貢献Keiichi Kobayashi
 
職業エンジニアの生態
職業エンジニアの生態職業エンジニアの生態
職業エンジニアの生態Keiichi Kobayashi
 
ソフトウェア開発ブースト4手
ソフトウェア開発ブースト4手ソフトウェア開発ブースト4手
ソフトウェア開発ブースト4手Keiichi Kobayashi
 
新サービス(勉強会まとめ)を作り始めてみた
新サービス(勉強会まとめ)を作り始めてみた新サービス(勉強会まとめ)を作り始めてみた
新サービス(勉強会まとめ)を作り始めてみたKeiichi Kobayashi
 
フリーエンジニアになりました
フリーエンジニアになりましたフリーエンジニアになりました
フリーエンジニアになりましたKeiichi Kobayashi
 

Mehr von Keiichi Kobayashi (20)

こだわりの仕事スタイル:モチベ維持
こだわりの仕事スタイル:モチベ維持こだわりの仕事スタイル:モチベ維持
こだわりの仕事スタイル:モチベ維持
 
Ssh公開鍵認証ハンズオン
Ssh公開鍵認証ハンズオンSsh公開鍵認証ハンズオン
Ssh公開鍵認証ハンズオン
 
そうだプラグイン作ろう =Unityの巻=
そうだプラグイン作ろう =Unityの巻=そうだプラグイン作ろう =Unityの巻=
そうだプラグイン作ろう =Unityの巻=
 
Angular js活用事例:filydoc
Angular js活用事例:filydocAngular js活用事例:filydoc
Angular js活用事例:filydoc
 
Chromeデベロッパーツール
ChromeデベロッパーツールChromeデベロッパーツール
Chromeデベロッパーツール
 
Filydoc紹介(8月末版)
Filydoc紹介(8月末版)Filydoc紹介(8月末版)
Filydoc紹介(8月末版)
 
いまさら触るAwt
いまさら触るAwtいまさら触るAwt
いまさら触るAwt
 
Filydoc紹介
Filydoc紹介Filydoc紹介
Filydoc紹介
 
Java script関数コールの追跡
Java script関数コールの追跡Java script関数コールの追跡
Java script関数コールの追跡
 
似非燃え尽き症候群
似非燃え尽き症候群似非燃え尽き症候群
似非燃え尽き症候群
 
ドハマリ Is ナレッジ
ドハマリ Is ナレッジドハマリ Is ナレッジ
ドハマリ Is ナレッジ
 
Tbsアイデアソンに参加しました
Tbsアイデアソンに参加しましたTbsアイデアソンに参加しました
Tbsアイデアソンに参加しました
 
オープンソースコミュニティへのライトな貢献
オープンソースコミュニティへのライトな貢献オープンソースコミュニティへのライトな貢献
オープンソースコミュニティへのライトな貢献
 
職業エンジニアの生態
職業エンジニアの生態職業エンジニアの生態
職業エンジニアの生態
 
検索の工夫
検索の工夫検索の工夫
検索の工夫
 
個人名刺を作ろう
個人名刺を作ろう個人名刺を作ろう
個人名刺を作ろう
 
ソフトウェア開発ブースト4手
ソフトウェア開発ブースト4手ソフトウェア開発ブースト4手
ソフトウェア開発ブースト4手
 
新サービス(勉強会まとめ)を作り始めてみた
新サービス(勉強会まとめ)を作り始めてみた新サービス(勉強会まとめ)を作り始めてみた
新サービス(勉強会まとめ)を作り始めてみた
 
フリーエンジニアになりました
フリーエンジニアになりましたフリーエンジニアになりました
フリーエンジニアになりました
 
Visual studio
Visual studioVisual studio
Visual studio
 

PHP with Visual Studio