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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
くろきり
March 25, 2023
380
0
Share
PeachPieを使ってPHPを.NETで動かしてみた
PHPerKaigi2023の登壇資料です
くろきり
March 25, 2023
More Decks by くろきり
See All by くろきり
リアルISUCONの戦い方
kurokiri
0
330
なぜPHPStanやPHP CodeSnifferを導入するのか 〜受託開発編〜
kurokiri
0
330
少人数チーム開発でのレガシープロダクトとの向き合い方
kurokiri
0
1.3k
Featured
See All Featured
HDC tutorial
michielstock
2
620
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Believing is Seeing
oripsolob
1
110
Building Flexible Design Systems
yeseniaperezcruz
330
40k
How to make the Groovebox
asonas
2
2.1k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.5k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
310
The Curious Case for Waylosing
cassininazir
0
300
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
520
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
400
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
160
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を動かすのは面白い! まとめ
ご清聴ありがとうございました!