php with visual studio
DESCRIPTION
石狩にて。TRANSCRIPT
PHP withVisual 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」も公開 - GIGAZINEhttp://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-4c5f50c95fb5http://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のポートに対して接続を試みる。
・随時デバッグ情報を送信。
・当然ブレークポイントとかも効く。
IDE Browser
PHP xdebug
VirtualBox
xdebugによるリモートデバッグの仕組み
・IDE側がポート9000で待ち受ける
・PHP側からIDEのポートに対して接続を試みる。
・随時デバッグ情報を送信。
・当然ブレークポイントとかも効く。
IDE Browser
PHP xdebug※VirtualBox側から ホスト側に繋ぐ必要あり…
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番ポートに転送される。
xdebug設定
xdebug.ini-------------------------------xdebug.remote_enable = Onxdebug.remote_host = 127.0.0.1
SSHトンネル経由で繋ぐのでこれで良いのです。
プロジェクト設定
ちょっとクセはあります。
この例でいうところの
「www.datawatch.local」はvirtualboxを指しています。
起動
ブラウザが起動します↓
ブレークポイントも効きます
若干設定めんどくさかったですが…
標準機能ではないので仕方ないです。
おしまい