PHPerKaigi2023の登壇資料です
PeachPieを使ってPHPを.NETで動かしてみたPHPerKaigi 2023@9rokirishima
View Slide
自己紹介● 緒方 大佑(おがた だいすけ)● Twitter:くろきり(@9rokirishima)● 所属○ Growfit株式会社○ Webエンジニア(PHPer)● この後仕事の本番作業もあるので色んな意味で緊張しています。
公式サイト:https://www.peachpie.io/GitHub:https://github.com/peachpiecompiler/peachpie● .NETランタイム上でPHPを実行するためのオープンソースツール○ PHPをILコード(.NETの中間言語)へコンパイル● PHPを.NETで動かすだけでなくC#とPHPの相互運用が可能
.NETとは● マイクロソフトが開発したマルチプラットフォーム向けの開発者フレームワーク● 主にC#とセットで使われている● .Net Frameworkや.Net Coreなど用途に応じて使い分けられていたが現在は.NETに統合
相互運用って?
C#からPHPを呼ぶ
PHPからC#を呼ぶ
PHPからC#を呼ぶPHPスクリプトの状態では参照が効かない※実行する時はコンパイルするのでこの状態でエラーが出ていてもちゃんと動く
使えるプロジェクトテンプレート
例えばwebのプロジェクトを作成してphpinfoを表示する
例えば構成C#はWebサーバーの立ち上げを行うPHPは実際のコンテンツ
例えば・Website.msbuildprojクラスライブラリとして出力される
コンソールアプリ以外はPHPで作られたコードはライブラリとして出力され、それをC#側で実行する仕組み
クラスライブラリ化することで様々な.Netプロジェクトに組み込める!
つまづいた所
※今回の開発端末はMacです
● VisualStudio for MacはMarketPlaceが使えないため、PeachPieのプラグインがインストールできない○ PeachPieが提供する機能を使う場合は結構辛い● 開発中PHPからC#呼ぶ時参照できない辛い点
● .NETのクラスライブラリとして実装することで様々なプロジェクトでPHPのコードを動かすことができる● 違う環境でPHPを動かすのは面白い!まとめ
ご清聴ありがとうございました!