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