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
18,096 views
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
PHPカンファレンス2015の発表資料です。
Software
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Downloaded 10 times
1
/ 84
2
/ 84
3
/ 84
4
/ 84
5
/ 84
6
/ 84
7
/ 84
8
/ 84
9
/ 84
10
/ 84
11
/ 84
12
/ 84
13
/ 84
14
/ 84
15
/ 84
16
/ 84
17
/ 84
18
/ 84
19
/ 84
20
/ 84
21
/ 84
22
/ 84
23
/ 84
24
/ 84
25
/ 84
26
/ 84
27
/ 84
28
/ 84
29
/ 84
30
/ 84
31
/ 84
32
/ 84
33
/ 84
34
/ 84
35
/ 84
36
/ 84
37
/ 84
38
/ 84
39
/ 84
40
/ 84
41
/ 84
42
/ 84
43
/ 84
44
/ 84
45
/ 84
46
/ 84
47
/ 84
48
/ 84
49
/ 84
50
/ 84
51
/ 84
52
/ 84
53
/ 84
54
/ 84
55
/ 84
56
/ 84
57
/ 84
58
/ 84
59
/ 84
60
/ 84
61
/ 84
62
/ 84
63
/ 84
64
/ 84
65
/ 84
66
/ 84
67
/ 84
68
/ 84
69
/ 84
70
/ 84
71
/ 84
72
/ 84
73
/ 84
74
/ 84
75
/ 84
76
/ 84
77
/ 84
78
/ 84
79
/ 84
80
/ 84
81
/ 84
82
/ 84
83
/ 84
84
/ 84
More Related Content
PDF
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
by
Tomoki Hasegawa
PDF
PHPデプロイツールの世界
by
Yuuki Takezawa
PPTX
PHP x AWS でスケーラブルなシステムをつくろう
by
Taiji INOUE
PPTX
Behat Driven Development
by
Ryo Tomidokoro
PDF
PHPの今とこれから2015
by
Rui Hirokawa
PDF
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
by
Hisateru Tanaka
PDF
PHPとJavaScriptの噺
by
Shogo Kawahara
PDF
いまどきのPHP開発現場 -2015年秋-
by
Masashi Shinbara
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
by
Tomoki Hasegawa
PHPデプロイツールの世界
by
Yuuki Takezawa
PHP x AWS でスケーラブルなシステムをつくろう
by
Taiji INOUE
Behat Driven Development
by
Ryo Tomidokoro
PHPの今とこれから2015
by
Rui Hirokawa
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
by
Hisateru Tanaka
PHPとJavaScriptの噺
by
Shogo Kawahara
いまどきのPHP開発現場 -2015年秋-
by
Masashi Shinbara
What's hot
PDF
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
by
ichikaway
PDF
PHPカンファレンス2016 初心者セッション
by
Hideo Kashioka
PPTX
今日から始めるLaravel
by
Masaru Matsuo
PDF
フレームワークを使うべき 3 つの理由
by
Kenichi Mukai
PDF
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
by
Junichi Ishida
PDF
Laravel 5.1 LTSでサービスを作る
by
infinite_loop
PDF
FuelPHP活用事例
by
Yusuke Naka
PDF
恋に落ちるデプロイツール
by
totty jp
PDF
anyenv + phpenv + php-build が便利すぎる件
by
y-uti
PPTX
活動報告9 laravel5入門-
by
vx-pc-club
PDF
Windows で PHP をビルドしてみた
by
y-uti
PDF
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
by
shinjiigarashi
PDF
Laravel5.1 Release
by
Yuuki Takezawa
PDF
PHPカンファレンス2014の懇親会飛び込みLT資料
by
Junichi Ishida
KEY
最強のPHP統合開発環境 PHPStorm
by
晃 遠山
PDF
はじめてLaravelさわった 第86回php勉強会
by
Osamu Kawasaki
PPTX
PHPで並列処理する ライブラリを作った
by
Hironobu Saitoh
PDF
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
by
Hisateru Tanaka
PDF
PHP カンファレンス福岡 参加報告
by
y-uti
PDF
JIT for PHP を試した
by
y-uti
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
by
ichikaway
PHPカンファレンス2016 初心者セッション
by
Hideo Kashioka
今日から始めるLaravel
by
Masaru Matsuo
フレームワークを使うべき 3 つの理由
by
Kenichi Mukai
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
by
Junichi Ishida
Laravel 5.1 LTSでサービスを作る
by
infinite_loop
FuelPHP活用事例
by
Yusuke Naka
恋に落ちるデプロイツール
by
totty jp
anyenv + phpenv + php-build が便利すぎる件
by
y-uti
活動報告9 laravel5入門-
by
vx-pc-club
Windows で PHP をビルドしてみた
by
y-uti
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
by
shinjiigarashi
Laravel5.1 Release
by
Yuuki Takezawa
PHPカンファレンス2014の懇親会飛び込みLT資料
by
Junichi Ishida
最強のPHP統合開発環境 PHPStorm
by
晃 遠山
はじめてLaravelさわった 第86回php勉強会
by
Osamu Kawasaki
PHPで並列処理する ライブラリを作った
by
Hironobu Saitoh
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
by
Hisateru Tanaka
PHP カンファレンス福岡 参加報告
by
y-uti
JIT for PHP を試した
by
y-uti
Viewers also liked
PDF
WebRTC開発者向けプラットフォーム SkyWayの裏側
by
Yusuke Naka
PDF
営業・運用を支える "気付ける" 管理画面
by
Masao Maeda
PDF
Visual Studio Code #phpcon2015
by
Aya Tokura
PPTX
Phpcon2015
by
Hiroshi Tokumaru
PDF
MySQL 5.7にやられないためにおぼえておいてほしいこと
by
yoku0825
PDF
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
by
Masayuki Ishikawa
PDF
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
by
Hikari Fukasawa
PDF
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
by
Masataka Kono
PDF
5分でわかるWebRTC
by
Ryosuke Otsuya
PPTX
安全なPHPアプリケーションの作り方2016
by
Hiroshi Tokumaru
PDF
PHPの今とこれから2016
by
Rui Hirokawa
PDF
WPの実装言語PHPの重箱の隅っこを速度的な意味でつっついて比較してみた(2016/12/3)
by
Hiroyuki Ishikawa
PDF
PHP最速フレームワークPhalconの紹介
by
Yuji Iwai
PDF
Phalcon 謹製テンプレートエンジン Volt - Meet phalcon Volt
by
Kazumi OHIRA
PDF
5分でわかるphalcon php
by
Yusaku Kinoshita
PDF
HTTP2 & HPACK #pyfes 2013-11-30
by
Jxck Jxck
PDF
アジャイルにモデリングは必要か
by
Hiromasa Oka
PDF
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
by
ichikaway
PPTX
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
by
Ippei Sumida
PPTX
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
by
Yusuke Kawabata
WebRTC開発者向けプラットフォーム SkyWayの裏側
by
Yusuke Naka
営業・運用を支える "気付ける" 管理画面
by
Masao Maeda
Visual Studio Code #phpcon2015
by
Aya Tokura
Phpcon2015
by
Hiroshi Tokumaru
MySQL 5.7にやられないためにおぼえておいてほしいこと
by
yoku0825
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
by
Masayuki Ishikawa
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
by
Hikari Fukasawa
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
by
Masataka Kono
5分でわかるWebRTC
by
Ryosuke Otsuya
安全なPHPアプリケーションの作り方2016
by
Hiroshi Tokumaru
PHPの今とこれから2016
by
Rui Hirokawa
WPの実装言語PHPの重箱の隅っこを速度的な意味でつっついて比較してみた(2016/12/3)
by
Hiroyuki Ishikawa
PHP最速フレームワークPhalconの紹介
by
Yuji Iwai
Phalcon 謹製テンプレートエンジン Volt - Meet phalcon Volt
by
Kazumi OHIRA
5分でわかるphalcon php
by
Yusaku Kinoshita
HTTP2 & HPACK #pyfes 2013-11-30
by
Jxck Jxck
アジャイルにモデリングは必要か
by
Hiromasa Oka
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
by
ichikaway
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
by
Ippei Sumida
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
by
Yusuke Kawabata
Similar to Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
PDF
omoon.org の裏側 〜FuelPHP の task 活用例〜
by
Sotaro Omura
KEY
Composer
by
Shogo Kawahara
PDF
Software Development with Symfony
by
Atsuhiro Kubo
PPT
Inside mobage platform
by
Toru Yamaguchi
KEY
Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)
by
Yukinori KITADAI
PDF
KLab Social Game Platform ~Symfony1.4活用事例~
by
KLab株式会社
PDF
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
by
Takeshi Mikami
PDF
Symfony2でより良いソフトウェアを作るために
by
Atsuhiro Kubo
PDF
日本Symfonyユーザ会によるSymfony2 ワークショップ
by
Shin Ohno
PPTX
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
by
Ryusaburo Tanaka
PPTX
fluxflex meetup in Tokyo
by
Kyosuke Inoue
PDF
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
by
kenjis
PDF
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
by
Toru Kawamura
PPT
Drupal8
by
Yasushi Osonoi
PPTX
Fluxflex meetup 2011 in Tokyo
by
Kyosuke Inoue
PPTX
技術選択とアーキテクトの役割
by
Toru Yamaguchi
PDF
Laravel4 Happy Hacking
by
Takashi Ohida
PDF
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
by
晃 遠山
PPT
20090415 すばらしきSymfonyの世界へようこそ
by
Hiromu Shioya
PDF
Web開発用ツール導入のすすめ
by
Kiyoshi SATOH
omoon.org の裏側 〜FuelPHP の task 活用例〜
by
Sotaro Omura
Composer
by
Shogo Kawahara
Software Development with Symfony
by
Atsuhiro Kubo
Inside mobage platform
by
Toru Yamaguchi
Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)
by
Yukinori KITADAI
KLab Social Game Platform ~Symfony1.4活用事例~
by
KLab株式会社
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
by
Takeshi Mikami
Symfony2でより良いソフトウェアを作るために
by
Atsuhiro Kubo
日本Symfonyユーザ会によるSymfony2 ワークショップ
by
Shin Ohno
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
by
Ryusaburo Tanaka
fluxflex meetup in Tokyo
by
Kyosuke Inoue
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
by
kenjis
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
by
Toru Kawamura
Drupal8
by
Yasushi Osonoi
Fluxflex meetup 2011 in Tokyo
by
Kyosuke Inoue
技術選択とアーキテクトの役割
by
Toru Yamaguchi
Laravel4 Happy Hacking
by
Takashi Ohida
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
by
晃 遠山
20090415 すばらしきSymfonyの世界へようこそ
by
Hiromu Shioya
Web開発用ツール導入のすすめ
by
Kiyoshi SATOH
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
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
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.
17.
?
19.
today
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
28.
コンテンツタイプ コンテンツ コメントタイプ コメント ボキャブラリー ターム ビュー
29.
コンテンツタイプ コンテンツのフォーマットを定義できる
30.
コンテンツタイプ コンテンツのフォーマットを定義できる
31.
フィールド
32.
フィールド
33.
コンテンツタイプ
34.
コンテンツ
35.
コンテンツ
36.
コンテンツタイプ コンテンツ コメントタイプ コメント ボキャブラリー ターム ビュー
37.
ボキャブラリー ターム • 一般的なCMSでのカテゴリやタグ • コンテンツタイプのフィールドとして使える。 •
択一 / 複数選択 • 選択UI(テキスト入力 / ドロップダウン) • 択一にすればカテゴリ的に、複数選択にすれば タグ的に使える。
38.
コンテンツタイプ コンテンツ コメントタイプ コメント ボキャブラリー ターム ビュー
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 … • すべての機能を自前で用意せず外部のライブラリを積極的に使用。 • フレームワークの一部の機能だけを使うことも可能。
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() → []
72.
モダンなアーキテクチャのPHPベース OSS CMS
73.
ありがとうございました @tomzoh デジタルサーカス(株) Drupalエンジニア 絶賛 募集中!
74.
ありがとうございました @tomzoh デジタルサーカス(株) Drupalエンジニア 絶賛 募集中! 懇親会出ます。声かけてください!
75.
の モジュール開発 おまけ1
77.
のモジュール構成
78.
のモジュール構成 モジュール単位で名前空間を定義。
79.
のモジュール構成 モジュール内でMVC モジュール単位で名前空間を定義。
80.
のモジュール構成 ymlの設定で出来ることも多い。 モジュール内でMVC モジュール単位で名前空間を定義。
81.
のアプリケーション開発 • モジュール開発 • 層の厚いフレームワークを使っているイメージ。 •
iOS/Android開発の感覚とも近い。 • 初期の学習コストは高いが習得すると速い。
82.
の コーディング規約 おまけ2
Download