Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PeachPieを使ってPHPを.NETで動かしてみた
Search
くろきり
March 25, 2023
0
210
PeachPieを使ってPHPを.NETで動かしてみた
PHPerKaigi2023の登壇資料です
くろきり
March 25, 2023
Tweet
Share
More Decks by くろきり
See All by くろきり
なぜPHPStanやPHP CodeSnifferを導入するのか 〜受託開発編〜
kurokiri
0
210
少人数チーム開発でのレガシープロダクトとの向き合い方
kurokiri
0
1k
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Side Projects
sachag
452
42k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
29
2.2k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Thoughts on Productivity
jonyablonski
69
4.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
390
Large-scale JavaScript Application Architecture
addyosmani
510
110k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Unsuck your backbone
ammeep
669
57k
Typedesign – Prime Four
hannesfritz
40
2.5k
Transcript
PeachPieを使ってPHPを .NETで動かしてみた PHPerKaigi 2023 @9rokirishima
自己紹介 • 緒方 大佑(おがた だいすけ) • 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を動かすのは面白い! まとめ
ご清聴ありがとうございました!