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
CarbonとMutableオブジェクトの話
Search
Ryo Tomidokoro
December 26, 2018
Technology
0
760
CarbonとMutableオブジェクトの話
CarbonでMutableとかImmutableの概念を覚えようねの話。
Ryo Tomidokoro
December 26, 2018
Tweet
Share
More Decks by Ryo Tomidokoro
See All by Ryo Tomidokoro
フロントエンドがTypeScriptなら、バックエンドはPHPでもいいじゃない/php-is-not-bad
hanhan1978
9
13k
どうすると生き残れないのか/how-not-to-survive
hanhan1978
17
14k
100分で本番デプロイ!Laravelで作るWebアプリケーション作成/100min_web_app_cicd
hanhan1978
1
170
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
8
2.9k
集中して作業する技術/how_to_work_deeply
hanhan1978
65
49k
PHPでデータベースを作ってみた/create-data-with-php
hanhan1978
11
10k
ADRを一年運用してみた/adr_after_a_year
hanhan1978
8
4.2k
B+木入門:PHPで理解する データベースインデックスの仕組み/b-plus-tree-101
hanhan1978
5
5.3k
ADRを一年運用してみた/our_story_about_adr
hanhan1978
5
2.3k
Other Decks in Technology
See All in Technology
Operating Operator
shhnjk
1
640
ソフトウェアテストのAI活用_ver1.25
fumisuke
1
520
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
1
230
データ基盤からデータベースまで?広がるユースケースのDatabricksについて教えるよ!
akuwano
3
150
【あのMCPって、どんな処理してるの?】 AWS CDKでの開発で便利なAWS MCP Servers特集
yoshimi0227
6
600
Delta airlines Customer®️ USA Contact Numbers: Complete 2025 Support Guide
deltahelp
0
1.1k
「クラウドコスト絶対削減」を支える技術—FinOpsを超えた徹底的なクラウドコスト削減の実践論
delta_tech
4
180
Reach American Airlines®️ Instantly: 19 Calling Methods for Fast Support in the USA
flyamerican
1
180
SEQUENCE object comparison - db tech showcase 2025 LT2
nori_shinoda
0
270
Delegating the chores of authenticating users to Keycloak
ahus1
0
170
PO初心者が考えた ”POらしさ”
nb_rady
0
220
オフィスビルを監視しよう:フィジカル×デジタルにまたがるSLI/SLO設計と運用の難しさ / Monitoring Office Buildings: The Challenge of Physical-Digital SLI/SLO Design & Operation
bitkey
1
290
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
A designer walks into a library…
pauljervisheath
207
24k
Facilitating Awesome Meetings
lara
54
6.5k
Bash Introduction
62gerente
613
210k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
The Language of Interfaces
destraynor
158
25k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Transcript
CarbonͱMutableΦϒδΣΫτͷ 1)1ษڧձ
໊લॴ྄ 3ZP5PNJEPLPSP ৬ۀ8FC"QQMJDBUJPO&OHJOFFS ॴଐ*OOPWBUPS+BQBO*OD ࡶ༻୲ झຯόεέοτϘʔϧ؍ઓ
Carbonͱʁ
$BSCPOͱʁ Carbon - A simple PHP API extension for DateTime.
DateTimeΫϥεͷAPI֦ு IUUQTDBSCPOOFTCPUDPN
$BSCPOͱʁ ศར ײతͰ͔Γ͍͢ ๛ͳAPIͱυΩϡϝϯτ
MutableΦϒδΣΫτͱʁ
.VUBCMFΦϒδΣΫτͱʁ MutableΦϒδΣΫτ ͦͷঢ়ଶΛม͑Δ͜ͱ͕ग़དྷΔΦϒδΣΫτ ImmutableΦϒδΣΫτ ͦͷঢ়ଶΛม͑Δ͜ͱ͕ग़དྷͳ͍ΦϒδΣΫτ ࢀর) Πϛϡʔλϒϧ - Wikipedia |
https://ja.wikipedia.org/wiki/Πϛϡʔλϒϧ
ຊͷେࣄͳςʔϚ
ຊͷॏཁࣄ߲ 1. CarbonΛ௨ͯ͡MutableɺImmutableΛ֮͑Α͏ ಛʹImmutableͷ֓೦ͱͯେ 2. CarbonͷίʔυϨϏϡʔྗUP Carbon࣌ʹةݥͳίʔυΛੜΈग़͢ ৯͍ࢭΊ·͠ΐ͏ʂ
ຊͷॏཁࣄ߲ ͔͠͠ɺී௨ʹίʔυྫΛಡΜͰ͖ΔͷͰ… ΫΠζܗࣜͰίʔυϨϏϡʔͯ͠Έ·͠ΐ͏ʂ
CarbonΫΠζ
$BSCPOΫΠζ A܅usersςʔϒϧʹొ͞ΕͨϢʔβσʔλͷத ͔Βɺ࠷ۙ̏ϲ݄Ҏʹొ͞ΕͨϢʔβσʔλΛ நग़͢ΔॲཧΛ࡞Δ͜ͱʹͳΓ·ͨ͠ɻ ͔͠͠ɺA܅͕࡞ͨ͠ϓϩάϥϜʹ͕͋ͬ ͯਖ਼͘͠ϢʔβσʔλΛநग़Ͱ͖·ͤΜͰͨ͠ɻ
$BSCPOΫΠζ ࣍ͷίʔυͷԿߦʹ͕͋ΔͰ͠ΐ͏͔ʁ ͦͯ͠ɺͦΕԿނͰ͠ΐ͏͔ʁ
$BSCPOΫΠζ ࣮ࡍͷϓϩάϥϜʢൈਮʣ 1. Կߦ͕ʁ 2. Կ͕ʁ
CarbonΫΠζ - ղฤ
$BSCPOΫΠζ 1. Կߦ͕ʁ -> 14ߦ 2. Կ͕ʁ -> subMonthϝιουͰ$todayࣗମมߋ͞Εͯ͠·͏
CarbonΫΠζ - ൣղ1
$BSCPOΫΠζ copy()ϝιουΛ͏ $todayͷෳΛ࡞Δ͜ͱͰɺ$todayࣗମͷมߋΛආ͚Δ
CarbonΫΠζ - ൣղ2
$BSCPOΫΠζ Carbon2 CarbonImmutableͳΒɺ$todayImmutableͳͷͰෆม
$BSCPOΫΠζ Carbon2 AliasΛ͑ɺϓϩάϥϜͷมߋແ͠ɻ
·ͱΊ
·ͱΊ ɾCarbonѱ͘ͳ͍ ɾAPI֦ுͷੑ࣭Λ͖ͪΜͱѲ͢Δ͜ͱ ɾMutable, ImmutableΦϒδΣΫτΛ֮͑Α͏
͓·͚
$BSCPOͱ$BSCPO MutableΦϒδΣΫτ ImmutableΦϒδΣΫτ ɾCarbon1ܥ ɾDateTimeΫϥεͷ֦ுAPI ɾCarbon2ܥ ɾDateTimeImmutableΫϥεͷ֦ுAPI
%BUF5JNF*NNVUBCMFΫϥε ࢀর) PHPϚχϡΞϧ | http://php.net/manual/ja/class.datetimeimmutable.php