Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Tomoki Hasegawa
1,568 views
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
オープンソースカンファレンス 2016 Tokyo / Spring の発表資料です。
Software
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 99
2
/ 99
3
/ 99
4
/ 99
5
/ 99
6
/ 99
7
/ 99
8
/ 99
9
/ 99
10
/ 99
11
/ 99
12
/ 99
13
/ 99
14
/ 99
15
/ 99
16
/ 99
17
/ 99
18
/ 99
19
/ 99
20
/ 99
21
/ 99
22
/ 99
23
/ 99
24
/ 99
25
/ 99
26
/ 99
27
/ 99
28
/ 99
29
/ 99
30
/ 99
31
/ 99
32
/ 99
33
/ 99
34
/ 99
35
/ 99
36
/ 99
37
/ 99
38
/ 99
39
/ 99
40
/ 99
41
/ 99
42
/ 99
43
/ 99
44
/ 99
45
/ 99
46
/ 99
47
/ 99
48
/ 99
49
/ 99
50
/ 99
51
/ 99
52
/ 99
53
/ 99
54
/ 99
55
/ 99
56
/ 99
57
/ 99
58
/ 99
59
/ 99
60
/ 99
61
/ 99
62
/ 99
63
/ 99
64
/ 99
65
/ 99
66
/ 99
67
/ 99
68
/ 99
69
/ 99
70
/ 99
71
/ 99
72
/ 99
73
/ 99
74
/ 99
75
/ 99
76
/ 99
77
/ 99
78
/ 99
79
/ 99
80
/ 99
81
/ 99
82
/ 99
83
/ 99
84
/ 99
85
/ 99
86
/ 99
87
/ 99
88
/ 99
89
/ 99
90
/ 99
91
/ 99
92
/ 99
93
/ 99
94
/ 99
95
/ 99
96
/ 99
97
/ 99
98
/ 99
99
/ 99
More Related Content
PDF
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
by
Tomoki Hasegawa
PDF
PHPカンファレンス2016 初心者セッション
by
Hideo Kashioka
PDF
Windows で PHP をビルドしてみた
by
y-uti
PDF
フレームワークを使うべき 3 つの理由
by
Kenichi Mukai
PDF
anyenv + phpenv + php-build が便利すぎる件
by
y-uti
PDF
FuelPHP活用事例
by
Yusuke Naka
PDF
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
by
Junichi Ishida
PDF
JIT for PHP を試した
by
y-uti
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
by
Tomoki Hasegawa
PHPカンファレンス2016 初心者セッション
by
Hideo Kashioka
Windows で PHP をビルドしてみた
by
y-uti
フレームワークを使うべき 3 つの理由
by
Kenichi Mukai
anyenv + phpenv + php-build が便利すぎる件
by
y-uti
FuelPHP活用事例
by
Yusuke Naka
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
by
Junichi Ishida
JIT for PHP を試した
by
y-uti
What's hot
PDF
Pythonで始めるWebアプリケーション開発
by
Takahiro Kubo
PDF
PHP カンファレンス福岡 参加報告
by
y-uti
PDF
PHPデプロイツールの世界
by
Yuuki Takezawa
PDF
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
by
Hisateru Tanaka
PPTX
今日から始めるLaravel
by
Masaru Matsuo
PDF
PIAXで作る P2Pネットワーク
by
祐司 伊藤
PPTX
活動報告9 laravel5入門-
by
vx-pc-club
PDF
RFC: "var" Deprecation
by
y-uti
PPTX
PHP x AWS でスケーラブルなシステムをつくろう
by
Taiji INOUE
PDF
PHPカンファレンス2014の懇親会飛び込みLT資料
by
Junichi Ishida
PDF
8時間耐久 PHP構築の教室
by
Yusuke Ando
KEY
最強のPHP統合開発環境 PHPStorm
by
晃 遠山
PDF
PHPの今とこれから2015
by
Rui Hirokawa
PDF
LibreOffice を Windows 上でビルドする UPDATE2
by
Tomofumi Yagi
PDF
いまさらComposer
by
Mika Kane
PDF
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
by
suno88
PDF
Laravel 5.1 LTSでサービスを作る
by
infinite_loop
PDF
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
by
祐司 伊藤
PPTX
App Engine と いまどきのPHP
by
sokamo1975
PPTX
Phoenixでblog作った
by
Norifumi Kawamoto
Pythonで始めるWebアプリケーション開発
by
Takahiro Kubo
PHP カンファレンス福岡 参加報告
by
y-uti
PHPデプロイツールの世界
by
Yuuki Takezawa
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
by
Hisateru Tanaka
今日から始めるLaravel
by
Masaru Matsuo
PIAXで作る P2Pネットワーク
by
祐司 伊藤
活動報告9 laravel5入門-
by
vx-pc-club
RFC: "var" Deprecation
by
y-uti
PHP x AWS でスケーラブルなシステムをつくろう
by
Taiji INOUE
PHPカンファレンス2014の懇親会飛び込みLT資料
by
Junichi Ishida
8時間耐久 PHP構築の教室
by
Yusuke Ando
最強のPHP統合開発環境 PHPStorm
by
晃 遠山
PHPの今とこれから2015
by
Rui Hirokawa
LibreOffice を Windows 上でビルドする UPDATE2
by
Tomofumi Yagi
いまさらComposer
by
Mika Kane
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
by
suno88
Laravel 5.1 LTSでサービスを作る
by
infinite_loop
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
by
祐司 伊藤
App Engine と いまどきのPHP
by
sokamo1975
Phoenixでblog作った
by
Norifumi Kawamoto
Viewers also liked
PDF
[さくらのクラウド] Drupalスタートアップスクリプトの紹介
by
さくらインターネット株式会社
PDF
mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2
by
Yasuhiro Horiuchi
PPTX
Cloud on the BEACH 2016 - 会社にAWSを導入した話
by
Naoto Teruya
PDF
20160429 JAWS-UG沖縄 Cloud on the BEACH 2016 AWS全サービス紹介
by
Midori Ikegami
PPTX
ネットゲーム開発者がサーバレスしてみたver1.10
by
Yasuharu Suzuki
PDF
Cloud on the_beach_aws入門_公開
by
Hideki Ojima
PPTX
SecurityCamp2015「バグハンティング入門」
by
Masato Kinugawa
PPTX
kintone x AWSで超ファストシステムを作ろう 〜 AWSでkintone APIをよりよく使う〜
by
Kazuki Murahama
PPTX
AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016
by
Sanehiko Yogi
PDF
AWS Black Belt Online Seminar Amazon EC2
by
Amazon Web Services Japan
PDF
AWS初心者向けWebinar AWS上でのDDoS対策
by
Amazon Web Services Japan
PDF
[Aurora事例祭り]毎日新聞ニュースサイトをクラウド化 ~Amazon Aurora 導入事例紹介~
by
Amazon Web Services Japan
[さくらのクラウド] Drupalスタートアップスクリプトの紹介
by
さくらインターネット株式会社
mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2
by
Yasuhiro Horiuchi
Cloud on the BEACH 2016 - 会社にAWSを導入した話
by
Naoto Teruya
20160429 JAWS-UG沖縄 Cloud on the BEACH 2016 AWS全サービス紹介
by
Midori Ikegami
ネットゲーム開発者がサーバレスしてみたver1.10
by
Yasuharu Suzuki
Cloud on the_beach_aws入門_公開
by
Hideki Ojima
SecurityCamp2015「バグハンティング入門」
by
Masato Kinugawa
kintone x AWSで超ファストシステムを作ろう 〜 AWSでkintone APIをよりよく使う〜
by
Kazuki Murahama
AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016
by
Sanehiko Yogi
AWS Black Belt Online Seminar Amazon EC2
by
Amazon Web Services Japan
AWS初心者向けWebinar AWS上でのDDoS対策
by
Amazon Web Services Japan
[Aurora事例祭り]毎日新聞ニュースサイトをクラウド化 ~Amazon Aurora 導入事例紹介~
by
Amazon Web Services Japan
Similar to Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
PDF
omoon.org の裏側 〜FuelPHP の task 活用例〜
by
Sotaro Omura
KEY
Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)
by
Yukinori KITADAI
KEY
Composer
by
Shogo Kawahara
PPT
Inside mobage platform
by
Toru Yamaguchi
PDF
KLab Social Game Platform ~Symfony1.4活用事例~
by
KLab株式会社
PDF
日本Symfonyユーザ会によるSymfony2 ワークショップ
by
Shin Ohno
PDF
Software Development with Symfony
by
Atsuhiro Kubo
PDF
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
by
kenjis
PDF
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
by
晃 遠山
PPTX
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
by
Ryusaburo Tanaka
PPT
Drupal8
by
Yasushi Osonoi
PDF
NASA・ホワイトハウスも導入!世界No1の実績 オープンソースCMS『Drupal』のご紹介
by
dgcircus
PPTX
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
by
Masayuki Abe
PDF
10分でわかるFuelPHP @ 2011/12
by
kenjis
PPT
20090415 すばらしきSymfonyの世界へようこそ
by
Hiromu Shioya
PDF
Drupal on vagrant-aws
by
Tomoki Hasegawa
PDF
あにみた!(PHPカンファレンス用資料)
by
Hiroyuki Ishiyama
PDF
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
by
kenjis
PDF
WTM53 phpフレームワーク いまさらcodeigniter
by
Masanori Oobayashi
PDF
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
by
Hisateru Tanaka
omoon.org の裏側 〜FuelPHP の task 活用例〜
by
Sotaro Omura
Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)
by
Yukinori KITADAI
Composer
by
Shogo Kawahara
Inside mobage platform
by
Toru Yamaguchi
KLab Social Game Platform ~Symfony1.4活用事例~
by
KLab株式会社
日本Symfonyユーザ会によるSymfony2 ワークショップ
by
Shin Ohno
Software Development with Symfony
by
Atsuhiro Kubo
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
by
kenjis
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
by
晃 遠山
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
by
Ryusaburo Tanaka
Drupal8
by
Yasushi Osonoi
NASA・ホワイトハウスも導入!世界No1の実績 オープンソースCMS『Drupal』のご紹介
by
dgcircus
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
by
Masayuki Abe
10分でわかるFuelPHP @ 2011/12
by
kenjis
20090415 すばらしきSymfonyの世界へようこそ
by
Hiromu Shioya
Drupal on vagrant-aws
by
Tomoki Hasegawa
あにみた!(PHPカンファレンス用資料)
by
Hiroyuki Ishiyama
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
by
kenjis
WTM53 phpフレームワーク いまさらcodeigniter
by
Masanori Oobayashi
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
by
Hisateru Tanaka
More from Tomoki Hasegawa
PDF
Reading php terminal-gameboy-emulator
by
Tomoki Hasegawa
PDF
とある受託ベンダの開発環境
by
Tomoki Hasegawa
PDF
iOS Developers Conference Japan 2016
by
Tomoki Hasegawa
PDF
エンジニアのお祭り
by
Tomoki Hasegawa
PDF
勉強会のこちら側とあちら側
by
Tomoki Hasegawa
PDF
tvOSでWebSocketを使う
by
Tomoki Hasegawa
PDF
「これを買っている人はこれも買っています」実装してみた PHP side
by
Tomoki Hasegawa
PDF
tvOSネイティブアプリを作る
by
Tomoki Hasegawa
PDF
「これを買っている人はこれも買っています」実装してみた
by
Tomoki Hasegawa
PDF
TestFlightみたいなのを自作する
by
Tomoki Hasegawa
PDF
PHPでスマホアプリにプッシュ通知する
by
Tomoki Hasegawa
PDF
Stargazer Meetup #1
by
Tomoki Hasegawa
PDF
PUSH通知証明書作成ツールを作った
by
Tomoki Hasegawa
PDF
PHPカンファレンス福岡に 行ってきた
by
Tomoki Hasegawa
PDF
CakePHP3ウォークスルー
by
Tomoki Hasegawa
PDF
はじめてのiOSアプリ開発 Swift対応版
by
Tomoki Hasegawa
PDF
AppStore申請を一式まるっと自動化する
by
Tomoki Hasegawa
PDF
PHPerのためのSwift入門
by
Tomoki Hasegawa
PDF
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
by
Tomoki Hasegawa
PDF
Swiftのプロパティオブザーバを使い倒す
by
Tomoki Hasegawa
Reading php terminal-gameboy-emulator
by
Tomoki Hasegawa
とある受託ベンダの開発環境
by
Tomoki Hasegawa
iOS Developers Conference Japan 2016
by
Tomoki Hasegawa
エンジニアのお祭り
by
Tomoki Hasegawa
勉強会のこちら側とあちら側
by
Tomoki Hasegawa
tvOSでWebSocketを使う
by
Tomoki Hasegawa
「これを買っている人はこれも買っています」実装してみた PHP side
by
Tomoki Hasegawa
tvOSネイティブアプリを作る
by
Tomoki Hasegawa
「これを買っている人はこれも買っています」実装してみた
by
Tomoki Hasegawa
TestFlightみたいなのを自作する
by
Tomoki Hasegawa
PHPでスマホアプリにプッシュ通知する
by
Tomoki Hasegawa
Stargazer Meetup #1
by
Tomoki Hasegawa
PUSH通知証明書作成ツールを作った
by
Tomoki Hasegawa
PHPカンファレンス福岡に 行ってきた
by
Tomoki Hasegawa
CakePHP3ウォークスルー
by
Tomoki Hasegawa
はじめてのiOSアプリ開発 Swift対応版
by
Tomoki Hasegawa
AppStore申請を一式まるっと自動化する
by
Tomoki Hasegawa
PHPerのためのSwift入門
by
Tomoki Hasegawa
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
by
Tomoki Hasegawa
Swiftのプロパティオブザーバを使い倒す
by
Tomoki Hasegawa
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
1.
モダンなアーキテクチャのPHPベース OSS CMS 長谷川智希
2.
長谷川智希 とも き @tomzoh とむぞう 趣味 Webサイト開発,
iOSアプリ開発 レンタルカートレース, ビール, 電子工作 (mbed), … TOMZOH デジタルサーカス㈱ 副団長CTO Facebook CakePHP iOS
3.
デジタルサーカス(株) ・ Webサイト開発 ・ スマホアプリ開発 ・
自社サービス ( ) (iOS, Android) (http://appbuilder.jp) Twitter: @tomzoh
4.
Twitter: @tomzoh
5.
Twitter: @tomzoh
6.
モダンなアーキテクチャのPHPベース OSS CMS
7.
オープンソースとは、ソフトウェアの設計図にあたる ソースコードを、インターネットなどを通じて無償で 公開し、誰でもそのソフトウェアの改良、再配布が行 えるようにすること。また、そのようなソフトウェア。 OSS 出展: http://e-words.jp
8.
CMSとは、Webコンテンツを構成するテキストや画 像、レイアウト情報などを一元的に保存・管理し、サ イトを構築したり編集したりするソフトウェアのこ と。広義には、(Webサイトに限らず)デジタルコン テンツの管理を行うシステムの総称。 CMS 出展: http://e-words.jp
9.
•Drupalって? •Drupalの概要 •Drupalのアーキテクチャ •Drupalのモジュール開発 •Drupal on PHP7
10.
って? •Drupalって? •Drupalの概要 •Drupalのアーキテクチャ •Drupalのモジュール開発 •Drupal on PHP7
11.
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.
https://www.drupal.org
15.
の概要 •Drupalって? •Drupalの概要 •Drupalのアーキテクチャ •Drupalのモジュール開発 •Drupal on PHP7
16.
Drupal8の機能 ユーザ管理 コンテンツ管理 検索 テーマ 多言語
モバイルファースト ɔ拡張性 コメント フォーム RSS などなど
17.
Drupal8の特徴 https://www.drupal.com/product/web-content-management
18.
Drupal8の特徴 https://www.drupal.com/product/web-content-management
19.
Drupal8の特徴 https://www.drupal.com/product/web-content-management
21.
コンテンツタイプ コンテンツ コメントタイプ コメント ボキャブラリー ターム ビュー
22.
コンテンツタイプ コンテンツのフォーマットを定義できる
23.
コンテンツタイプ コンテンツのフォーマットを定義できる
24.
フィールド
25.
フィールド
26.
コンテンツタイプ
27.
コンテンツ
28.
コンテンツ
29.
コンテンツタイプ コンテンツ コメントタイプ コメント ボキャブラリー ターム ビュー
30.
• 一般的なCMSでのカテゴリやタグ • コンテンツタイプのフィールドとして使える。 •
択一 / 複数選択 • 選択UI(テキスト入力 / ドロップダウン) • 択一にすればカテゴリ的に、複数選択にすれば タグ的に使える。 ボキャブラリー ターム
31.
コンテンツタイプ コンテンツ コメントタイプ コメント ボキャブラリー ターム ビュー
33.
コンテンツタイプ コンテンツ コメントタイプ コメント ボキャブラリー ターム ビュー
34.
ビュー コンテンツの出力方法を定義できる
35.
ビュー コンテンツの出力方法を定義できる
36.
ビュー コンテンツの出力方法を定義できる
37.
ビュー コンテンツの出力方法を定義できる
38.
ビュー コンテンツの出力方法を定義できる
39.
ビュー コンテンツの出力方法を定義できる
40.
ビュー
41.
Drupal8の拡張性 • モジュール …
Drupalの機能をカスタマイズする • drupal.orgで集中管理されている。 • “17,712 Modules match your search”😍 • テーマ … Drupalの外観をカスタマイズする • drupal.orgで管理されている。 • drupal.org外にも沢山ある。 • ディストリビューション … モジュールとテーマのパッケージ • EC用, SNS用など、モジュールとテーマをパッケージしたもの
42.
EC コーポレートサイト コミュニティサイト 人材マッチングサイト グループウェア ネットニュース 政府・公共機関
43.
の アーキテクチャ •Drupalって? •Drupalの概要 •Drupalのアーキテクチャ •Drupalのモジュール開発 •Drupal on PHP7
45.
その前に…
46.
PHPフレームワーク
47.
PHPフレームワーク • モノリシックフレームワーク • 昔のPHPフレームワークは巨大な1つのプロダクトだった。 Symfony1,
CakePHP2, Mojavi, Ethna … • フレームワークの一部の機能だけを使う、ということが難しかった。
48.
PHPフレームワーク • モノリシックフレームワーク • 昔のPHPフレームワークは巨大な1つのプロダクトだった。 Symfony1,
CakePHP2, Mojavi, Ethna … • フレームワークの一部の機能だけを使う、ということが難しかった。
49.
PHPフレームワーク • モノリシックフレームワーク • 昔のPHPフレームワークは巨大な1つのプロダクトだった。 Symfony1,
CakePHP2, Mojavi, Ethna … • フレームワークの一部の機能だけを使う、ということが難しかった。 • マイクロフレームワーク • 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ たプロダクトになっている。 Symfony, CakePHP3, Laravel, CodeIgniter … • すべての機能を自前で用意せず外部のライブラリを積極的に使用。 • フレームワークの一部の機能だけを使うことも可能。
50.
PHPフレームワーク • モノリシックフレームワーク • 昔のPHPフレームワークは巨大な1つのプロダクトだった。 Symfony1,
CakePHP2, Mojavi, Ethna … • フレームワークの一部の機能だけを使う、ということが難しかった。 • マイクロフレームワーク • 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ たプロダクトになっている。 Symfony, CakePHP3, Laravel, CodeIgniter … • すべての機能を自前で用意せず外部のライブラリを積極的に使用。 • フレームワークの一部の機能だけを使うことも可能。
51.
PSR-4
52.
PSR-4
53.
PSR-4
54.
PSR-4
55.
PHPフレームワーク • モノリシックフレームワーク • 昔のPHPフレームワークは巨大な1つのプロダクトだった。 Symfony1,
CakePHP2, Mojavi, Ethna … • フレームワークの一部の機能だけを使う、ということが難しかった。 • マイクロフレームワーク • 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ たプロダクトになっている。 Symfony, CakePHP3, Laravel, CodeIgniter … • すべての機能を自前で用意せず外部のライブラリを積極的に使用。 • フレームワークの一部の機能だけを使うことも可能。
56.
PHPフレームワーク • モノリシックフレームワーク • 昔のPHPフレームワークは巨大な1つのプロダクトだった。 Symfony1,
CakePHP2, Mojavi, Ethna … • フレームワークの一部の機能だけを使う、ということが難しかった。 • マイクロフレームワーク • 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ たプロダクトになっている。 Symfony, CakePHP3, Laravel, CodeIgniter … • すべての機能を自前で用意せず外部のライブラリを積極的に使用。 • フレームワークの一部の機能だけを使うことも可能。
57.
PHPフレームワーク • モノリシックフレームワーク • 昔のPHPフレームワークは巨大な1つのプロダクトだった。 Symfony1,
CakePHP2, Mojavi, Ethna … • フレームワークの一部の機能だけを使う、ということが難しかった。 • マイクロフレームワーク • 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ たプロダクトになっている。 Symfony, CakePHP3, Laravel, CodeIgniter … • すべての機能を自前で用意せず外部のライブラリを積極的に使用。 • フレームワークの一部の機能だけを使うことも可能。
60.
が使う外部ライブラリ { "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" },
61.
が使う外部ライブラリ { "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" },
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.
モダンなアーキテクチャのPHPベース OSS CMS
67.
モダンなアーキテクチャのPHPベース OSS CMS
68.
• Drupal7 • PHP5.2.4
or later • Drupal8 • PHP5.5.9 or later Drupalが要求するPHP PHP 5.3.0 PHP 5.4.0 名前空間クロージャ トレイトarray() → []
69.
2005 2007 2009 2010 2011 2015 2014 2006 2013 2008 2004 6⽉ PHP 5.3.0 3⽉
PHP 5.4.0 2012 6⽉ PHP 5.5.0 8⽉ PHP 5.6.0 PHP5.2.4+ 名前空間クロージャ トレイトarray() → [] 7⽉ PHP 4.4.0 7⽉ PHP 5.0.0 11⽉ PHP 5.1.0 12⽉ PHP 5.2.0 7⽉ 12⽉でPHP4サポート終了発表 Composer 1.0.0-alpha1 PSR−4 PHP Standard Recommendation 5⽉ Drupal 7 2016 9⽉ code freeze for Drupal 7 2⽉ Drupal 6 PHP5+ 1⽉ Drupal 5 PHP4.x.x PSR-2
70.
2005 2007 2009 2010 2011 2015 2014 2006 2013 2008 2004 6⽉ PHP 5.3.0 3⽉
PHP 5.4.0 2012 6⽉ PHP 5.5.0 8⽉ PHP 5.6.0 PHP5.2.4+ 名前空間クロージャ トレイトarray() → [] 7⽉ PHP 4.4.0 7⽉ PHP 5.0.0 11⽉ PHP 5.1.0 12⽉ PHP 5.2.0 7⽉ 12⽉でPHP4サポート終了発表 Composer 1.0.0-alpha1 PSR−4 PHP Standard Recommendation 5⽉ Drupal 7 2016 9⽉ code freeze for Drupal 7 2⽉ Drupal 6 PHP5+ 11⽉ Drupal 8 🎉 1⽉ Drupal 5 PHP4.x.x PSR-2
71.
2005 2007 2009 2010 2011 2015 2014 2006 2013 2008 2004 6⽉ PHP 5.3.0 3⽉
PHP 5.4.0 2012 6⽉ PHP 5.5.0 8⽉ PHP 5.6.0 PHP5.2.4+ PHP5.5.9+ 名前空間クロージャ トレイトarray() → [] 7⽉ PHP 4.4.0 7⽉ PHP 5.0.0 11⽉ PHP 5.1.0 12⽉ PHP 5.2.0 7⽉ 12⽉でPHP4サポート終了発表 Composer 1.0.0-alpha1 PSR−4 PHP Standard Recommendation 5⽉ Drupal 7 2016 9⽉ code freeze for Drupal 7 2⽉ Drupal 6 PHP5+ 11⽉ Drupal 8 🎉 1⽉ Drupal 5 PHP4.x.x PSR-2
72.
2005 2007 2009 2010 2011 2015 2014 2006 2013 2008 2004 6⽉ PHP 5.3.0 3⽉
PHP 5.4.0 2012 6⽉ PHP 5.5.0 8⽉ PHP 5.6.0 PHP5.2.4+ PHP5.5.9+ 名前空間クロージャ トレイトarray() → [] 7⽉ PHP 4.4.0 7⽉ PHP 5.0.0 11⽉ PHP 5.1.0 12⽉ PHP 5.2.0 7⽉ 12⽉でPHP4サポート終了発表 Composer 1.0.0-alpha1 PSR−4 PHP Standard Recommendation 5⽉ Drupal 7 2016 9⽉ code freeze for Drupal 7 2⽉ Drupal 6 PHP5+ 11⽉ Drupal 8 🎉 12⽉ PHP 7 🎉 1⽉ Drupal 5 PHP4.x.x PSR-2
73.
モダンなアーキテクチャのPHPベース OSS CMS
74.
モダンなアーキテクチャのPHPベース OSS CMS
76.
の モジュール開発 •Drupalって? •Drupalの概要 •Drupalのアーキテクチャ •Drupalのモジュール開発 •Drupal on PHP7
78.
のモジュール構成
79.
のモジュール構成 モジュール単位で名前空間を定義。
80.
のモジュール構成 モジュール内でMVC モジュール単位で名前空間を定義。
81.
のモジュール構成 ymlの設定で出来ることも多い。 モジュール内でMVC モジュール単位で名前空間を定義。
82.
のアプリケーション開発 • 管理画面からの設定とモジュール開発 • 層の厚いフレームワークを使っているイメージ。 •
iOS/Android開発の感覚とも近い。 • 初期の学習コストは高いが習得すると速い。
83.
•Drupalって? •Drupalの概要 •Drupalのアーキテクチャ •Drupalのモジュール開発 •Drupal on PHP7 on
PHP7
86.
https://www.youtube.com/watch?v=1IiEPF1x95o
90.
ありがとうございました @tomzoh
91.
DrupalCon おまけ1
93.
DrupalCon Asia レポート有ります http://blog.livedoor.jp/dgcircus/
95.
の コーディング規約 おまけ2
99.
😢
Download