Submit Search
Upload
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
•
5 likes
•
18,007 views
Tomoki Hasegawa
Follow
PHPカンファレンス2015の発表資料です。
Read less
Read more
Software
Report
Share
Report
Share
1 of 84
Download now
Download to read offline
Recommended
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
Tomoki Hasegawa
PHPデプロイツールの世界
PHPデプロイツールの世界
Yuuki Takezawa
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
Behat Driven Development
Behat Driven Development
Ryo Tomidokoro
PHPの今とこれから2015
PHPの今とこれから2015
Rui Hirokawa
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
PHPとJavaScriptの噺
PHPとJavaScriptの噺
Shogo Kawahara
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
Recommended
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
Tomoki Hasegawa
PHPデプロイツールの世界
PHPデプロイツールの世界
Yuuki Takezawa
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
Behat Driven Development
Behat Driven Development
Ryo Tomidokoro
PHPの今とこれから2015
PHPの今とこれから2015
Rui Hirokawa
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
PHPとJavaScriptの噺
PHPとJavaScriptの噺
Shogo Kawahara
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
PHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッション
Hideo Kashioka
今日から始めるLaravel
今日から始めるLaravel
Masaru Matsuo
フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由
Kenichi Mukai
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
Laravel 5.1 LTSでサービスを作る
Laravel 5.1 LTSでサービスを作る
infinite_loop
FuelPHP活用事例
FuelPHP活用事例
Yusuke Naka
恋に落ちるデプロイツール
恋に落ちるデプロイツール
totty jp
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件
y-uti
活動報告9 laravel5入門-
活動報告9 laravel5入門-
vx-pc-club
Windows で PHP をビルドしてみた
Windows で PHP をビルドしてみた
y-uti
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
Laravel5.1 Release
Laravel5.1 Release
Yuuki Takezawa
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料
Junichi Ishida
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
晃 遠山
はじめてLaravelさわった 第86回php勉強会
はじめてLaravelさわった 第86回php勉強会
Osamu Kawasaki
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
Hironobu Saitoh
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告
y-uti
JIT for PHP を試した
JIT for PHP を試した
y-uti
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
Yusuke Naka
営業・運用を支える "気付ける" 管理画面
営業・運用を支える "気付ける" 管理画面
Masao Maeda
More Related Content
What's hot
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
PHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッション
Hideo Kashioka
今日から始めるLaravel
今日から始めるLaravel
Masaru Matsuo
フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由
Kenichi Mukai
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
Laravel 5.1 LTSでサービスを作る
Laravel 5.1 LTSでサービスを作る
infinite_loop
FuelPHP活用事例
FuelPHP活用事例
Yusuke Naka
恋に落ちるデプロイツール
恋に落ちるデプロイツール
totty jp
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件
y-uti
活動報告9 laravel5入門-
活動報告9 laravel5入門-
vx-pc-club
Windows で PHP をビルドしてみた
Windows で PHP をビルドしてみた
y-uti
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
Laravel5.1 Release
Laravel5.1 Release
Yuuki Takezawa
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料
Junichi Ishida
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
晃 遠山
はじめてLaravelさわった 第86回php勉強会
はじめてLaravelさわった 第86回php勉強会
Osamu Kawasaki
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
Hironobu Saitoh
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告
y-uti
JIT for PHP を試した
JIT for PHP を試した
y-uti
What's hot
(20)
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
PHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッション
今日から始めるLaravel
今日から始めるLaravel
フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Laravel 5.1 LTSでサービスを作る
Laravel 5.1 LTSでサービスを作る
FuelPHP活用事例
FuelPHP活用事例
恋に落ちるデプロイツール
恋に落ちるデプロイツール
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件
活動報告9 laravel5入門-
活動報告9 laravel5入門-
Windows で PHP をビルドしてみた
Windows で PHP をビルドしてみた
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
Laravel5.1 Release
Laravel5.1 Release
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
はじめてLaravelさわった 第86回php勉強会
はじめてLaravelさわった 第86回php勉強会
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告
JIT for PHP を試した
JIT for PHP を試した
Viewers also liked
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
Yusuke Naka
営業・運用を支える "気付ける" 管理画面
営業・運用を支える "気付ける" 管理画面
Masao Maeda
Visual Studio Code #phpcon2015
Visual Studio Code #phpcon2015
Aya Tokura
Phpcon2015
Phpcon2015
Hiroshi Tokumaru
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
Masayuki Ishikawa
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
Hikari Fukasawa
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
Masataka Kono
5分でわかるWebRTC
5分でわかるWebRTC
Ryosuke Otsuya
安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016
Hiroshi Tokumaru
PHPの今とこれから2016
PHPの今とこれから2016
Rui Hirokawa
WPの実装言語PHPの重箱の隅っこを速度的な意味でつっついて比較してみた(2016/12/3)
WPの実装言語PHPの重箱の隅っこを速度的な意味でつっついて比較してみた(2016/12/3)
Hiroyuki Ishikawa
PHP最速フレームワークPhalconの紹介
PHP最速フレームワークPhalconの紹介
Yuji Iwai
Phalcon 謹製テンプレートエンジン Volt - Meet phalcon Volt
Phalcon 謹製テンプレートエンジン Volt - Meet phalcon Volt
Kazumi IWANAGA
5分でわかるphalcon php
5分でわかるphalcon php
Yusaku Kinoshita
HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30
Jxck Jxck
アジャイルにモデリングは必要か
アジャイルにモデリングは必要か
Hiromasa Oka
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
ichikaway
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
Ippei Sumida
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
Yusuke Kawabata
Viewers also liked
(20)
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
営業・運用を支える "気付ける" 管理画面
営業・運用を支える "気付ける" 管理画面
Visual Studio Code #phpcon2015
Visual Studio Code #phpcon2015
Phpcon2015
Phpcon2015
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
5分でわかるWebRTC
5分でわかるWebRTC
安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016
PHPの今とこれから2016
PHPの今とこれから2016
WPの実装言語PHPの重箱の隅っこを速度的な意味でつっついて比較してみた(2016/12/3)
WPの実装言語PHPの重箱の隅っこを速度的な意味でつっついて比較してみた(2016/12/3)
PHP最速フレームワークPhalconの紹介
PHP最速フレームワークPhalconの紹介
Phalcon 謹製テンプレートエンジン Volt - Meet phalcon Volt
Phalcon 謹製テンプレートエンジン Volt - Meet phalcon Volt
5分でわかるphalcon php
5分でわかるphalcon php
HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30
アジャイルにモデリングは必要か
アジャイルにモデリングは必要か
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
Similar to Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
dynamis
Apps for Web Platform
Apps for Web Platform
dynamis
SocketStream入門
SocketStream入門
Kohei Kadowaki
Firefox Ecosystem in Kagoshima
Firefox Ecosystem in Kagoshima
dynamis
OpenGLプログラミング
OpenGLプログラミング
幸雄 村上
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
スタート低レイヤー #0
スタート低レイヤー #0
Kiwamu Okabe
Osoljp studygroup201303
Osoljp studygroup201303
Noriyasu Sakaue
Wasm blazor and wasi 2
Wasm blazor and wasi 2
Takao Tetsuro
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
Noriaki Ando
20130315 abc firefox_os
20130315 abc firefox_os
Tomoaki Konno
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
Kiyoshi SATOH
Titanium Mobile
Titanium Mobile
Naoya Ito
Try Firefox OS
Try Firefox OS
dynamis
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
david9142
ぶっとびケータイ+Firefox OS Apps
ぶっとびケータイ+Firefox OS Apps
EnsekiTT
Mono at Microsoft Tech Days Japan 2009
Mono at Microsoft Tech Days Japan 2009
Atsushi Eno
NAO/Pepper 開発環境 について
NAO/Pepper 開発環境 について
Takuji Kawata
BBBBB
BBBBB
arase_utagoe
Similar to Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
(20)
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
Apps for Web Platform
Apps for Web Platform
SocketStream入門
SocketStream入門
Firefox Ecosystem in Kagoshima
Firefox Ecosystem in Kagoshima
OpenGLプログラミング
OpenGLプログラミング
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
スタート低レイヤー #0
スタート低レイヤー #0
Osoljp studygroup201303
Osoljp studygroup201303
Wasm blazor and wasi 2
Wasm blazor and wasi 2
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
20130315 abc firefox_os
20130315 abc firefox_os
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
Titanium Mobile
Titanium Mobile
Try Firefox OS
Try Firefox OS
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
ぶっとびケータイ+Firefox OS Apps
ぶっとびケータイ+Firefox OS Apps
Mono at Microsoft Tech Days Japan 2009
Mono at Microsoft Tech Days Japan 2009
NAO/Pepper 開発環境 について
NAO/Pepper 開発環境 について
BBBBB
BBBBB
More from Tomoki Hasegawa
Reading php terminal-gameboy-emulator
Reading php terminal-gameboy-emulator
Tomoki Hasegawa
とある受託ベンダの開発環境
とある受託ベンダの開発環境
Tomoki Hasegawa
iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016
Tomoki Hasegawa
エンジニアのお祭り
エンジニアのお祭り
Tomoki Hasegawa
勉強会のこちら側とあちら側
勉強会のこちら側とあちら側
Tomoki Hasegawa
tvOSでWebSocketを使う
tvOSでWebSocketを使う
Tomoki Hasegawa
「これを買っている人はこれも買っています」実装してみた PHP side
「これを買っている人はこれも買っています」実装してみた PHP side
Tomoki Hasegawa
tvOSネイティブアプリを作る
tvOSネイティブアプリを作る
Tomoki Hasegawa
「これを買っている人はこれも買っています」実装してみた
「これを買っている人はこれも買っています」実装してみた
Tomoki Hasegawa
TestFlightみたいなのを自作する
TestFlightみたいなのを自作する
Tomoki Hasegawa
PHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知する
Tomoki Hasegawa
Stargazer Meetup #1
Stargazer Meetup #1
Tomoki Hasegawa
PUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作った
Tomoki Hasegawa
PHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきた
Tomoki Hasegawa
CakePHP3ウォークスルー
CakePHP3ウォークスルー
Tomoki Hasegawa
はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版
Tomoki Hasegawa
AppStore申請を一式まるっと自動化する
AppStore申請を一式まるっと自動化する
Tomoki Hasegawa
PHPerのためのSwift入門
PHPerのためのSwift入門
Tomoki Hasegawa
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
Tomoki Hasegawa
Swiftのプロパティオブザーバを使い倒す
Swiftのプロパティオブザーバを使い倒す
Tomoki Hasegawa
More from Tomoki Hasegawa
(20)
Reading php terminal-gameboy-emulator
Reading php terminal-gameboy-emulator
とある受託ベンダの開発環境
とある受託ベンダの開発環境
iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016
エンジニアのお祭り
エンジニアのお祭り
勉強会のこちら側とあちら側
勉強会のこちら側とあちら側
tvOSでWebSocketを使う
tvOSでWebSocketを使う
「これを買っている人はこれも買っています」実装してみた PHP side
「これを買っている人はこれも買っています」実装してみた PHP side
tvOSネイティブアプリを作る
tvOSネイティブアプリを作る
「これを買っている人はこれも買っています」実装してみた
「これを買っている人はこれも買っています」実装してみた
TestFlightみたいなのを自作する
TestFlightみたいなのを自作する
PHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知する
Stargazer Meetup #1
Stargazer Meetup #1
PUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作った
PHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきた
CakePHP3ウォークスルー
CakePHP3ウォークスルー
はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版
AppStore申請を一式まるっと自動化する
AppStore申請を一式まるっと自動化する
PHPerのためのSwift入門
PHPerのためのSwift入門
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
Swiftのプロパティオブザーバを使い倒す
Swiftのプロパティオブザーバを使い倒す
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
1.
モダンなアーキテクチャのPHPベース OSS CMS デジタルサーカス(株)長谷川智希
2.
#phpcon2015_6
3.
#phpcon2015_6
4.
長谷川智希 とも き @tomzoh とむぞう 趣味 Webサイト開発,
iOSアプリ開発 レンタルカートレース, ビール, 電子工作 (mbed), … TOMZOH デジタルサーカス㈱ 副団長CTO Facebook CakePHP iOS
5.
デジタルサーカス(株) ・ Webサイト開発 ・ スマホアプリ開発 ・
自社サービス ( ) (iOS, Android) (http://appbuilder.jp) Twitter: @tomzoh
6.
Twitter: @tomzoh
7.
Twitter: @tomzoh
8.
モダンなアーキテクチャのPHPベース OSS CMS
9.
オープンソースとは、ソフトウェアの設計図にあたるソースコード を、インターネットなどを通じて無償で公開し、誰でもそのソフト ウェアの改良、再配布が⾏えるようにすること。また、そのような ソフトウェア。 OSS 出展: http://e-words.jp
10.
CMSとは、Webコンテンツを構成するテキストや画像、レイアウ ト情報などを⼀元的に保存・管理し、サイトを構築したり編集 したりするソフトウェアのこと。広義には、(Webサイトに限らず) デジタルコンテンツの管理を⾏うシステムの総称。 CMS 出展: http://e-words.jp
11.
12.
って?
13.
Come for the
software, stay for the community Drupal is an open source content management platform powering millions of websites and applications. It’s built, used, and supported by an active and diverse community of people around the world.
14.
15.
16.
17.
?
18.
19.
today
20.
21.
増えてた…
22.
の概要
23.
Drupal8の機能 ユーザ管理 コンテンツ管理 検索 テーマ 多⾔語
モバイルファースト ɔ拡張性 コメント フォーム RSS などなど
24.
Drupal8の特徴 https://www.drupal.com/product/web-content-management
25.
Drupal8の特徴 https://www.drupal.com/product/web-content-management
26.
Drupal8の特徴 https://www.drupal.com/product/web-content-management
27.
28.
コンテンツタイプ コンテンツ コメントタイプ コメント ボキャブラリー ターム ビュー
29.
コンテンツタイプ コンテンツのフォーマットを定義できる
30.
コンテンツタイプ コンテンツのフォーマットを定義できる
31.
フィールド
32.
フィールド
33.
コンテンツタイプ
34.
コンテンツ
35.
コンテンツ
36.
コンテンツタイプ コンテンツ コメントタイプ コメント ボキャブラリー ターム ビュー
37.
ボキャブラリー ターム • 一般的なCMSでのカテゴリやタグ • コンテンツタイプのフィールドとして使える。 •
択一 / 複数選択 • 選択UI(テキスト入力 / ドロップダウン) • 択一にすればカテゴリ的に、複数選択にすれば タグ的に使える。
38.
コンテンツタイプ コンテンツ コメントタイプ コメント ボキャブラリー ターム ビュー
39.
40.
コンテンツタイプ コンテンツ コメントタイプ コメント ボキャブラリー ターム ビュー
41.
ビュー コンテンツの出⼒⽅法を定義できる
42.
ビュー コンテンツの出⼒⽅法を定義できる
43.
ビュー コンテンツの出⼒⽅法を定義できる
44.
ビュー コンテンツの出⼒⽅法を定義できる
45.
ビュー コンテンツの出⼒⽅法を定義できる
46.
ビュー コンテンツの出⼒⽅法を定義できる
47.
ビュー
48.
Drupal8の拡張性 • モジュール …
Drupalの機能をカスタマイズする • drupal.orgで集中管理されている。 • 17,712 Modules match your search 😍 • テーマ … Drupalの外観をカスタマイズする • drupal.orgで管理されている。 • drupal.org外にも沢山ある。 • ディストリビューション … モジュールとテーマのパッケージ • EC用, SNS用など、モジュールとテーマをパッケージしたもの
49.
EC コーポレートサイト コミュニティサイト ⼈材マッチングサイト グループウェア ネットニュース 政府・公共機関
50.
の アーキテクチャ
51.
PHPフレームワーク • モノリシックフレームワーク • 昔のPHPフレームワークは巨大な1つのプロダクトだった。 Symfony1,
CakePHP2, Mojavi, Ethna … • フレームワークの一部の機能だけを使う、ということが難しかった。 • マイクロフレームワーク • 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ たプロダクトになっている。 Symfony, CakePHP3, Laravel, CodeIgniter … • すべての機能を自前で用意せず外部のライブラリを積極的に使用。 • フレームワークの一部の機能だけを使うことも可能。
52.
PHPフレームワーク • モノリシックフレームワーク • 昔のPHPフレームワークは巨大な1つのプロダクトだった。 Symfony1,
CakePHP2, Mojavi, Ethna … • フレームワークの一部の機能だけを使う、ということが難しかった。 • マイクロフレームワーク • 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ たプロダクトになっている。 Symfony, CakePHP3, Laravel, CodeIgniter … • すべての機能を自前で用意せず外部のライブラリを積極的に使用。 • フレームワークの一部の機能だけを使うことも可能。
53.
PHPフレームワーク • モノリシックフレームワーク • 昔のPHPフレームワークは巨大な1つのプロダクトだった。 Symfony1,
CakePHP2, Mojavi, Ethna … • フレームワークの一部の機能だけを使う、ということが難しかった。 • マイクロフレームワーク • 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ たプロダクトになっている。 Symfony, CakePHP3, Laravel, CodeIgniter … • すべての機能を自前で用意せず外部のライブラリを積極的に使用。 • フレームワークの一部の機能だけを使うことも可能。 なぜ外部のライブラリを 使える様になったのか
54.
PSR-4
55.
PSR-4
56.
PSR-4
57.
PSR-4
58.
PHPフレームワーク • モノリシックフレームワーク • 昔のPHPフレームワークは巨大な1つのプロダクトだった。 Symfony1,
CakePHP2, Mojavi, Ethna … • フレームワークの一部の機能だけを使う、ということが難しかった。 • マイクロフレームワーク • 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ たプロダクトになっている。 Symfony, CakePHP3, Laravel, CodeIgniter … • すべての機能を自前で用意せず外部のライブラリを積極的に使用。 • フレームワークの一部の機能だけを使うことも可能。
59.
PHPフレームワーク • モノリシックフレームワーク • 昔のPHPフレームワークは巨大な1つのプロダクトだった。 Symfony1,
CakePHP2, Mojavi, Ethna … • フレームワークの一部の機能だけを使う、ということが難しかった。 • マイクロフレームワーク • 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ たプロダクトになっている。 Symfony, CakePHP3, Laravel, CodeIgniter … • すべての機能を自前で用意せず外部のライブラリを積極的に使用。 • フレームワークの一部の機能だけを使うことも可能。
60.
PHPフレームワーク • モノリシックフレームワーク • 昔のPHPフレームワークは巨大な1つのプロダクトだった。 Symfony1,
CakePHP2, Mojavi, Ethna … • フレームワークの一部の機能だけを使う、ということが難しかった。 • マイクロフレームワーク • 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ たプロダクトになっている。 Symfony, CakePHP3, Laravel, CodeIgniter … • すべての機能を自前で用意せず外部のライブラリを積極的に使用。 • フレームワークの一部の機能だけを使うことも可能。
61.
62.
が使う外部ライブラリ { "name": "drupal/core", "description": "Drupal
is an open source content management platform powering millions of websites and applications.", "type": "drupal-core", "license": "GPL-2.0+", "require": { "php": ">=5.5.9", "symfony/class-loader": "2.7.*", "symfony/console": "2.7.*", "symfony/css-selector": "2.7.*", "symfony/dependency-injection": "2.7.*", "symfony/event-dispatcher": "2.7.*", "symfony/http-foundation": "2.7.*", "symfony/http-kernel": "2.7.*", "symfony/routing": "2.7.*", "symfony/serializer": "2.7.*", "symfony/translation": "2.7.*", "symfony/validator": "2.7.*", "symfony/process": "2.7.*", "symfony/yaml": “2.7.*", "twig/twig": "1.20.*", "doctrine/common": "~2.4.2", "doctrine/annotations": "1.2.*", "guzzlehttp/guzzle": “dev-master#1879fbe8… "symfony-cmf/routing": "1.3.*", "easyrdf/easyrdf": "0.9.*", "phpunit/phpunit": "4.6.*", "zendframework/zend-feed": "2.4.*", "mikey179/vfsStream": "~1.2", "stack/builder": "1.0.*", "egulias/email-validator": "1.2.*", "behat/mink": "~1.6", "behat/mink-goutte-driver": “dev-master#c… "fabpot/goutte": "~3.1", "masterminds/html5": "~2.1", "symfony/psr-http-message-bridge": "v0.2", "zendframework/zend-diactoros": "1.1.0" },
63.
が使う外部ライブラリ { "name": "drupal/core", "description": "Drupal
is an open source content management platform powering millions of websites and applications.", "type": "drupal-core", "license": "GPL-2.0+", "require": { "php": ">=5.5.9", "symfony/class-loader": "2.7.*", "symfony/console": "2.7.*", "symfony/css-selector": "2.7.*", "symfony/dependency-injection": "2.7.*", "symfony/event-dispatcher": "2.7.*", "symfony/http-foundation": "2.7.*", "symfony/http-kernel": "2.7.*", "symfony/routing": "2.7.*", "symfony/serializer": "2.7.*", "symfony/translation": "2.7.*", "symfony/validator": "2.7.*", "symfony/process": "2.7.*", "symfony/yaml": “2.7.*", "twig/twig": "1.20.*", "doctrine/common": "~2.4.2", "doctrine/annotations": "1.2.*", "guzzlehttp/guzzle": “dev-master#1879fbe8… "symfony-cmf/routing": "1.3.*", "easyrdf/easyrdf": "0.9.*", "phpunit/phpunit": "4.6.*", "zendframework/zend-feed": "2.4.*", "mikey179/vfsStream": "~1.2", "stack/builder": "1.0.*", "egulias/email-validator": "1.2.*", "behat/mink": "~1.6", "behat/mink-goutte-driver": “dev-master#c… "fabpot/goutte": "~3.1", "masterminds/html5": "~2.1", "symfony/psr-http-message-bridge": "v0.2", "zendframework/zend-diactoros": "1.1.0" },
64.
が使う外部ライブラリ { "name": "drupal/core", "description": "Drupal
is an open source content management platform powering millions of websites and applications.", "type": "drupal-core", "license": "GPL-2.0+", "require": { "php": ">=5.5.9", "symfony/class-loader": "2.7.*", "symfony/console": "2.7.*", "symfony/css-selector": "2.7.*", "symfony/dependency-injection": "2.7.*", "symfony/event-dispatcher": "2.7.*", "symfony/http-foundation": "2.7.*", "symfony/http-kernel": "2.7.*", "symfony/routing": "2.7.*", "symfony/serializer": "2.7.*", "symfony/translation": "2.7.*", "symfony/validator": "2.7.*", "symfony/process": "2.7.*", "symfony/yaml": “2.7.*", "twig/twig": "1.20.*", "doctrine/common": "~2.4.2", "doctrine/annotations": "1.2.*", "guzzlehttp/guzzle": “dev-master#1879fbe8… "symfony-cmf/routing": "1.3.*", "easyrdf/easyrdf": "0.9.*", "phpunit/phpunit": "4.6.*", "zendframework/zend-feed": "2.4.*", "mikey179/vfsStream": "~1.2", "stack/builder": "1.0.*", "egulias/email-validator": "1.2.*", "behat/mink": "~1.6", "behat/mink-goutte-driver": “dev-master#c… "fabpot/goutte": "~3.1", "masterminds/html5": "~2.1", "symfony/psr-http-message-bridge": "v0.2", "zendframework/zend-diactoros": "1.1.0" },
65.
が使う外部ライブラリ { "name": "drupal/core", "description": "Drupal
is an open source content management platform powering millions of websites and applications.", "type": "drupal-core", "license": "GPL-2.0+", "require": { "php": ">=5.5.9", "symfony/class-loader": "2.7.*", "symfony/console": "2.7.*", "symfony/css-selector": "2.7.*", "symfony/dependency-injection": "2.7.*", "symfony/event-dispatcher": "2.7.*", "symfony/http-foundation": "2.7.*", "symfony/http-kernel": "2.7.*", "symfony/routing": "2.7.*", "symfony/serializer": "2.7.*", "symfony/translation": "2.7.*", "symfony/validator": "2.7.*", "symfony/process": "2.7.*", "symfony/yaml": “2.7.*", "twig/twig": "1.20.*", "doctrine/common": "~2.4.2", "doctrine/annotations": "1.2.*", "guzzlehttp/guzzle": “dev-master#1879fbe8… "symfony-cmf/routing": "1.3.*", "easyrdf/easyrdf": "0.9.*", "phpunit/phpunit": "4.6.*", "zendframework/zend-feed": "2.4.*", "mikey179/vfsStream": "~1.2", "stack/builder": "1.0.*", "egulias/email-validator": "1.2.*", "behat/mink": "~1.6", "behat/mink-goutte-driver": “dev-master#c… "fabpot/goutte": "~3.1", "masterminds/html5": "~2.1", "symfony/psr-http-message-bridge": "v0.2", "zendframework/zend-diactoros": "1.1.0" },
66.
が使う外部ライブラリ { "name": "drupal/core", "description": "Drupal
is an open source content management platform powering millions of websites and applications.", "type": "drupal-core", "license": "GPL-2.0+", "require": { "php": ">=5.5.9", "symfony/class-loader": "2.7.*", "symfony/console": "2.7.*", "symfony/css-selector": "2.7.*", "symfony/dependency-injection": "2.7.*", "symfony/event-dispatcher": "2.7.*", "symfony/http-foundation": "2.7.*", "symfony/http-kernel": "2.7.*", "symfony/routing": "2.7.*", "symfony/serializer": "2.7.*", "symfony/translation": "2.7.*", "symfony/validator": "2.7.*", "symfony/process": "2.7.*", "symfony/yaml": “2.7.*", "twig/twig": "1.20.*", "doctrine/common": "~2.4.2", "doctrine/annotations": "1.2.*", "guzzlehttp/guzzle": “dev-master#1879fbe8… "symfony-cmf/routing": "1.3.*", "easyrdf/easyrdf": "0.9.*", "phpunit/phpunit": "4.6.*", "zendframework/zend-feed": "2.4.*", "mikey179/vfsStream": "~1.2", "stack/builder": "1.0.*", "egulias/email-validator": "1.2.*", "behat/mink": "~1.6", "behat/mink-goutte-driver": “dev-master#c… "fabpot/goutte": "~3.1", "masterminds/html5": "~2.1", "symfony/psr-http-message-bridge": "v0.2", "zendframework/zend-diactoros": "1.1.0" },
67.
が使う外部ライブラリ { "name": "drupal/core", "description": "Drupal
is an open source content management platform powering millions of websites and applications.", "type": "drupal-core", "license": "GPL-2.0+", "require": { "php": ">=5.5.9", "symfony/class-loader": "2.7.*", "symfony/console": "2.7.*", "symfony/css-selector": "2.7.*", "symfony/dependency-injection": "2.7.*", "symfony/event-dispatcher": "2.7.*", "symfony/http-foundation": "2.7.*", "symfony/http-kernel": "2.7.*", "symfony/routing": "2.7.*", "symfony/serializer": "2.7.*", "symfony/translation": "2.7.*", "symfony/validator": "2.7.*", "symfony/process": "2.7.*", "symfony/yaml": “2.7.*", "twig/twig": "1.20.*", "doctrine/common": "~2.4.2", "doctrine/annotations": "1.2.*", "guzzlehttp/guzzle": “dev-master#1879fbe8… "symfony-cmf/routing": "1.3.*", "easyrdf/easyrdf": "0.9.*", "phpunit/phpunit": "4.6.*", "zendframework/zend-feed": "2.4.*", "mikey179/vfsStream": "~1.2", "stack/builder": "1.0.*", "egulias/email-validator": "1.2.*", "behat/mink": "~1.6", "behat/mink-goutte-driver": “dev-master#c… "fabpot/goutte": "~3.1", "masterminds/html5": "~2.1", "symfony/psr-http-message-bridge": "v0.2", "zendframework/zend-diactoros": "1.1.0" },
68.
モダンなアーキテクチャのPHPベース OSS CMS
69.
• Drupal7 • PHP5.2.4 •
Drupal8 • PHP5.5.9 Drupalが要求するPHP
70.
• Drupal7 • PHP5.2.4 •
Drupal8 • PHP5.5.9 Drupalが要求するPHP PHP 5.3.0 PHP 5.4.0 名前空間クロージャ トレイトarray() → []
71.
72.
モダンなアーキテクチャのPHPベース OSS CMS
73.
ありがとうございました @tomzoh デジタルサーカス(株) Drupalエンジニア 絶賛 募集中!
74.
ありがとうございました @tomzoh デジタルサーカス(株) Drupalエンジニア 絶賛 募集中! 懇親会出ます。声かけてください!
75.
の モジュール開発 おまけ1
76.
77.
のモジュール構成
78.
のモジュール構成 モジュール単位で名前空間を定義。
79.
のモジュール構成 モジュール内でMVC モジュール単位で名前空間を定義。
80.
のモジュール構成 ymlの設定で出来ることも多い。 モジュール内でMVC モジュール単位で名前空間を定義。
81.
のアプリケーション開発 • モジュール開発 • 層の厚いフレームワークを使っているイメージ。 •
iOS/Android開発の感覚とも近い。 • 初期の学習コストは高いが習得すると速い。
82.
の コーディング規約 おまけ2
Download now