Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PHPフレームワークFlowを_半年間触ってみた感想.pdf
Search
koya
April 24, 2024
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHPフレームワークFlowを_半年間触ってみた感想.pdf
koya
April 24, 2024
More Decks by koya
See All by koya
マイナー技術に携わって得たメリット.pdf
nnhkrnk
0
65
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Practical Orchestrator
shlominoach
192
12k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Building Applications with DynamoDB
mza
96
7.2k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Six Lessons from altMBA
skipperchong
29
4.5k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Odyssey Design
rkendrick25
PRO
2
880
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Transcript
PHPフレームワーク”Flow”を 半年間触ってみた感想 株式会社ラクス 富田巧哉
自己紹介 富田 巧哉(とみた こうや) ・株式会社ラクス ・バックエンドエンジニア ・趣味:スマブラ、散歩 ・特技:両利き、ポジティブに捉える ・PHP歴:半年 @nnhkrnk
今日のテーマ Flowを半年触ってみた
Flowとは PHPフレームワーク: https://flow.neos.io/ Flow
Flowとは とにかくマイナー
どのくらいマイナー? ・chatGPT(3.5)が知らない ・検索しても一番上に出てこない ・githubのスター数:133 ※Laravelは約76000 などなど…
そんなFlowですが でも、いいところもたくさんある!
ということで 本日はFlowの 個人的に好きなところを紹介します
注意! ⚠ 他のFWとの比較ではありません! Flowでできることを紹介しますが、Flowでしかできないというわけではありません! ※そもそも私自身、Flow以外のFWの経験がありません ※「このFWでもできるよ!」など是非教えてください!😄 というわけで、Lets GO!👉
Flowの好きなところ 個人的
好きなところ① 1. 記述量が少なくて済む
なぜ記述量が少ないのか ・ドメインモデルからTBLが自動生成される ・簡単なCRUD操作のメソッドが自動生成される ・デフォルトの場合、Controller名とActionメソッド名からURLが決まる Flowの特徴 DDL、SQL、ルーティングの記述が不要! サクッと作ってサクッと動作確認!
好きなところ② 2. 実行前にコンパイルが走る
PHPなのにコンパイル? ・DIやリフレクションなどを解決し、実行しやすい形に変換 ・キャッシュデータを作成 ※Javaなどのコンパイルとは別物 Flowは初回実行時にコンパイルという処理が入る
コンパイルの利点 ①パフォーマンス向上 ・実行時には最適化された状態になっている ・暖機運転も可能 ②実行前の簡単なエラーチェック ・存在しないクラスの発見(※メソッドは見つけてくれない) ~利点~
好きなところ③ 3. エラーログが扱いやすい
Flowのエラーログ Flowの実行ログは以下に格納される Project ├ bin/ ├ Configuration/ ├ Data/ |
├ Logs/ | | └ Exceptions/ | | └ 20240326133322d0ac4f.txt | | └ 20240326133322fdfc3e.txt | └ System.log | ├ Packages/ | ├ Application/ | ├ Framework/ | └ Libraries/ ├ Web/ ├ composer.json ├ composer.lock ├ flow ├ flow.bat
Flowのエラーログ Flowの実行ログは以下に格納される Project ├ bin/ ├ Configuration/ ├ Data/ |
├ Logs/ | | └ Exceptions/ | | └ 20240326133322d0ac4f.txt | | └ 20240326133322fdfc3e.txt | └ System.log | ├ Packages/ | ├ Application/ | ├ Framework/ | └ Libraries/ ├ Web/ ├ composer.json ├ composer.lock ├ flow ├ flow.bat ・エラーログ置き場 エラーの度にログファイルが作成される
Flowのエラーログ Flowの実行ログは以下に格納される Project ├ bin/ ├ Configuration/ ├ Data/ |
├ Logs/ | | └ Exceptions/ | | └ 20240326133322d0ac4f.txt | | └ 20240326133322fdfc3e.txt | └ System.log | ├ Packages/ | ├ Application/ | ├ Framework/ | └ Libraries/ ├ Web/ ├ composer.json ├ composer.lock ├ flow ├ flow.bat ・システムログ 1つのファイルに出力され続けるので、 tail できる ・エラーログ置き場 エラーの度にログファイルが作成される
エラーログが分かれている利点 エラーログを開いて、copilotに聞くだけで答えてくれる!
Flowの嫌いなところ 個人的
嫌いなところ① 1. DBのデータが分かりづらい
なぜテストデータが入れづらいのか ・FlowはTBLを自動生成する際、persistence_object_identifierというUUIDのカラム を作成する(PK)。 ・各TBLのリレーションはこのidをFKにして繋がっている Flowの特徴 TBLの中身がUUIDだらけで分かりづらい😢
実際のTBL mysql> show create table item\G *************************** 1. row ***************************
Table: item Create Table: CREATE TABLE `item` ( `persistence_object_identifier` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL, `store` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `price` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`persistence_object_identifier` ), KEY `IDX_1F1B251EFF575877` (`store`), KEY `IDX_1F1B251ECAC822D9` (`price`), CONSTRAINT `FK_1F1B251ECAC822D9` FOREIGN KEY (`price`) REFERENCES `price` (`persistence_object_identifier` ), CONSTRAINT `FK_1F1B251EFF575877` FOREIGN KEY (`store`) REFERENCES `store` (`persistence_object_identifier` ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci 1 row in set (0.00 sec) この3つが UUID
実際のデータ 😵😵😵😵 実際のデータがこちら
まとめ
まとめ Flowにはいいところがたくさんあります 是非一度触ってみてください
ご清聴ありがとうございました