Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PeachPieを使ってPHPを.NETで動かしてみた
Search
くろきり
March 25, 2023
0
300
PeachPieを使ってPHPを.NETで動かしてみた
PHPerKaigi2023の登壇資料です
くろきり
March 25, 2023
Tweet
Share
More Decks by くろきり
See All by くろきり
リアルISUCONの戦い方
kurokiri
0
280
なぜPHPStanやPHP CodeSnifferを導入するのか 〜受託開発編〜
kurokiri
0
280
少人数チーム開発でのレガシープロダクトとの向き合い方
kurokiri
0
1.2k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Done Done
chrislema
186
16k
Designing Experiences People Love
moore
143
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Code Reviewing Like a Champion
maltzj
527
40k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Facilitating Awesome Meetings
lara
57
6.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Side Projects
sachag
455
43k
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を動かすのは面白い! まとめ
ご清聴ありがとうございました!