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
310
PeachPieを使ってPHPを.NETで動かしてみた
PHPerKaigi2023の登壇資料です
くろきり
March 25, 2023
Tweet
Share
More Decks by くろきり
See All by くろきり
リアルISUCONの戦い方
kurokiri
0
290
なぜPHPStanやPHP CodeSnifferを導入するのか 〜受託開発編〜
kurokiri
0
290
少人数チーム開発でのレガシープロダクトとの向き合い方
kurokiri
0
1.2k
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.8k
Amusing Abliteration
ianozsvald
0
69
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
120
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
0
950
Making Projects Easy
brettharned
120
6.5k
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
250
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
2k
My Coaching Mixtape
mlcsv
0
13
What's in a price? How to price your products and services
michaelherold
246
13k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
286
14k
Test your architecture with Archunit
thirion
1
2.1k
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を動かすのは面白い! まとめ
ご清聴ありがとうございました!