SlideShare a Scribd company logo
モダンなアーキテクチャのPHPベース OSS CMS
デジタルサーカス(株)長谷川智希
#phpcon2015_6
#phpcon2015_6
長谷川智希
とも き
@tomzoh

とむぞう
趣味 Webサイト開発, iOSアプリ開発
レンタルカートレース, ビール, 電子工作 (mbed), …
TOMZOH
デジタルサーカス㈱ 副団長CTO
Facebook CakePHP iOS
デジタルサーカス(株)
・ Webサイト開発
・ スマホアプリ開発
・ 自社サービス
( )
(iOS, Android)
(http://appbuilder.jp)
Twitter: @tomzoh
Twitter: @tomzoh
Twitter: @tomzoh
モダンなアーキテクチャのPHPベース OSS CMS
オープンソースとは、ソフトウェアの設計図にあたるソースコード
を、インターネットなどを通じて無償で公開し、誰でもそのソフト
ウェアの改良、再配布が⾏えるようにすること。また、そのような
ソフトウェア。
OSS
出展: http://e-words.jp
CMSとは、Webコンテンツを構成するテキストや画像、レイアウ
ト情報などを⼀元的に保存・管理し、サイトを構築したり編集
したりするソフトウェアのこと。広義には、(Webサイトに限らず)
デジタルコンテンツの管理を⾏うシステムの総称。
CMS
出展: http://e-words.jp
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
って?
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.
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
?
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
today
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
増えてた…
の概要
Drupal8の機能
ユーザ管理 コンテンツ管理
検索 テーマ
多⾔語 モバイルファースト
ɔ拡張性 コメント
フォーム RSS などなど
Drupal8の特徴
https://www.drupal.com/product/web-content-management
Drupal8の特徴
https://www.drupal.com/product/web-content-management
Drupal8の特徴
https://www.drupal.com/product/web-content-management
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
コンテンツタイプ コンテンツ
コメントタイプ コメント
ボキャブラリー
ターム
ビュー
コンテンツタイプ
コンテンツのフォーマットを定義できる
コンテンツタイプ
コンテンツのフォーマットを定義できる
フィールド
フィールド
コンテンツタイプ
コンテンツ
コンテンツ
コンテンツタイプ コンテンツ
コメントタイプ コメント
ボキャブラリー
ターム
ビュー
ボキャブラリー
ターム
• 一般的なCMSでのカテゴリやタグ
• コンテンツタイプのフィールドとして使える。
• 択一 / 複数選択
• 選択UI(テキスト入力 / ドロップダウン)
• 択一にすればカテゴリ的に、複数選択にすれば
タグ的に使える。
コンテンツタイプ コンテンツ
コメントタイプ コメント
ボキャブラリー
ターム
ビュー
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
コンテンツタイプ コンテンツ
コメントタイプ コメント
ボキャブラリー
ターム
ビュー
ビュー
コンテンツの出⼒⽅法を定義できる
ビュー
コンテンツの出⼒⽅法を定義できる
ビュー
コンテンツの出⼒⽅法を定義できる
ビュー
コンテンツの出⼒⽅法を定義できる
ビュー
コンテンツの出⼒⽅法を定義できる
ビュー
コンテンツの出⼒⽅法を定義できる
ビュー
Drupal8の拡張性
• モジュール … Drupalの機能をカスタマイズする
• drupal.orgで集中管理されている。
• 17,712 Modules match your search 😍
• テーマ … Drupalの外観をカスタマイズする
• drupal.orgで管理されている。
• drupal.org外にも沢山ある。
• ディストリビューション … モジュールとテーマのパッケージ
• EC用, SNS用など、モジュールとテーマをパッケージしたもの
EC
コーポレートサイト コミュニティサイト
⼈材マッチングサイト
グループウェア
ネットニュース
政府・公共機関
の
アーキテクチャ
PHPフレームワーク
• モノリシックフレームワーク
• 昔のPHPフレームワークは巨大な1つのプロダクトだった。
Symfony1, CakePHP2, Mojavi, Ethna …
• フレームワークの一部の機能だけを使う、ということが難しかった。
• マイクロフレームワーク
• 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ
たプロダクトになっている。
Symfony, CakePHP3, Laravel, CodeIgniter …
• すべての機能を自前で用意せず外部のライブラリを積極的に使用。
• フレームワークの一部の機能だけを使うことも可能。
PHPフレームワーク
• モノリシックフレームワーク
• 昔のPHPフレームワークは巨大な1つのプロダクトだった。
Symfony1, CakePHP2, Mojavi, Ethna …
• フレームワークの一部の機能だけを使う、ということが難しかった。
• マイクロフレームワーク
• 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ
たプロダクトになっている。
Symfony, CakePHP3, Laravel, CodeIgniter …
• すべての機能を自前で用意せず外部のライブラリを積極的に使用。
• フレームワークの一部の機能だけを使うことも可能。
PHPフレームワーク
• モノリシックフレームワーク
• 昔のPHPフレームワークは巨大な1つのプロダクトだった。
Symfony1, CakePHP2, Mojavi, Ethna …
• フレームワークの一部の機能だけを使う、ということが難しかった。
• マイクロフレームワーク
• 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ
たプロダクトになっている。
Symfony, CakePHP3, Laravel, CodeIgniter …
• すべての機能を自前で用意せず外部のライブラリを積極的に使用。
• フレームワークの一部の機能だけを使うことも可能。
なぜ外部のライブラリを
使える様になったのか
PSR-4
PSR-4
PSR-4
PSR-4
PHPフレームワーク
• モノリシックフレームワーク
• 昔のPHPフレームワークは巨大な1つのプロダクトだった。
Symfony1, CakePHP2, Mojavi, Ethna …
• フレームワークの一部の機能だけを使う、ということが難しかった。
• マイクロフレームワーク
• 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ
たプロダクトになっている。
Symfony, CakePHP3, Laravel, CodeIgniter …
• すべての機能を自前で用意せず外部のライブラリを積極的に使用。
• フレームワークの一部の機能だけを使うことも可能。
PHPフレームワーク
• モノリシックフレームワーク
• 昔のPHPフレームワークは巨大な1つのプロダクトだった。
Symfony1, CakePHP2, Mojavi, Ethna …
• フレームワークの一部の機能だけを使う、ということが難しかった。
• マイクロフレームワーク
• 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ
たプロダクトになっている。
Symfony, CakePHP3, Laravel, CodeIgniter …
• すべての機能を自前で用意せず外部のライブラリを積極的に使用。
• フレームワークの一部の機能だけを使うことも可能。
PHPフレームワーク
• モノリシックフレームワーク
• 昔のPHPフレームワークは巨大な1つのプロダクトだった。
Symfony1, CakePHP2, Mojavi, Ethna …
• フレームワークの一部の機能だけを使う、ということが難しかった。
• マイクロフレームワーク
• 最近のPHPフレームワークはプロジェクト内外のライブラリを組み合わせ
たプロダクトになっている。
Symfony, CakePHP3, Laravel, CodeIgniter …
• すべての機能を自前で用意せず外部のライブラリを積極的に使用。
• フレームワークの一部の機能だけを使うことも可能。
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
が使う外部ライブラリ
{
"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"
},
が使う外部ライブラリ
{
"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"
},
が使う外部ライブラリ
{
"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"
},
が使う外部ライブラリ
{
"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"
},
が使う外部ライブラリ
{
"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"
},
が使う外部ライブラリ
{
"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"
},
モダンなアーキテクチャのPHPベース OSS CMS
• Drupal7
• PHP5.2.4
• Drupal8
• PHP5.5.9
Drupalが要求するPHP
• Drupal7
• PHP5.2.4
• Drupal8
• PHP5.5.9
Drupalが要求するPHP
PHP 5.3.0
PHP 5.4.0
名前空間クロージャ
トレイトarray() → []
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
モダンなアーキテクチャのPHPベース OSS CMS
ありがとうございました
@tomzoh
デジタルサーカス(株)
Drupalエンジニア
絶賛 募集中!
ありがとうございました
@tomzoh
デジタルサーカス(株)
Drupalエンジニア
絶賛 募集中!
懇親会出ます。声かけてください!
の
モジュール開発
おまけ1
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
のモジュール構成
のモジュール構成
モジュール単位で名前空間を定義。
のモジュール構成
モジュール内でMVC
モジュール単位で名前空間を定義。
のモジュール構成
ymlの設定で出来ることも多い。
モジュール内でMVC
モジュール単位で名前空間を定義。
のアプリケーション開発
• モジュール開発
• 層の厚いフレームワークを使っているイメージ。
• iOS/Android開発の感覚とも近い。
• 初期の学習コストは高いが習得すると速い。
の
コーディング規約
おまけ2
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS

More Related Content

What's hot (20)

PDF
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
 
PDF
PHPカンファレンス2016 初心者セッション
Hideo Kashioka
 
PPTX
今日から始めるLaravel
Masaru Matsuo
 
PDF
フレームワークを使うべき 3 つの理由
Kenichi Mukai
 
PDF
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
 
PDF
Laravel 5.1 LTSでサービスを作る
infinite_loop
 
PDF
FuelPHP活用事例
Yusuke Naka
 
PDF
恋に落ちるデプロイツール
totty jp
 
PDF
anyenv + phpenv + php-build が便利すぎる件
y-uti
 
PPTX
活動報告9 laravel5入門-
vx-pc-club
 
PDF
Windows で PHP をビルドしてみた
y-uti
 
PDF
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
 
PDF
Laravel5.1 Release
Yuuki Takezawa
 
PDF
PHPカンファレンス2014の懇親会飛び込みLT資料
Junichi Ishida
 
KEY
最強のPHP統合開発環境 PHPStorm
晃 遠山
 
PDF
はじめてLaravelさわった 第86回php勉強会
Osamu Kawasaki
 
PPTX
PHPで並列処理する ライブラリを作った
Hironobu Saitoh
 
PDF
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
 
PDF
PHP カンファレンス福岡 参加報告
y-uti
 
PDF
JIT for PHP を試した
y-uti
 
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
 
PHPカンファレンス2016 初心者セッション
Hideo Kashioka
 
今日から始めるLaravel
Masaru Matsuo
 
フレームワークを使うべき 3 つの理由
Kenichi Mukai
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
 
Laravel 5.1 LTSでサービスを作る
infinite_loop
 
FuelPHP活用事例
Yusuke Naka
 
恋に落ちるデプロイツール
totty jp
 
anyenv + phpenv + php-build が便利すぎる件
y-uti
 
活動報告9 laravel5入門-
vx-pc-club
 
Windows で PHP をビルドしてみた
y-uti
 
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
 
Laravel5.1 Release
Yuuki Takezawa
 
PHPカンファレンス2014の懇親会飛び込みLT資料
Junichi Ishida
 
最強のPHP統合開発環境 PHPStorm
晃 遠山
 
はじめてLaravelさわった 第86回php勉強会
Osamu Kawasaki
 
PHPで並列処理する ライブラリを作った
Hironobu Saitoh
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
 
PHP カンファレンス福岡 参加報告
y-uti
 
JIT for PHP を試した
y-uti
 

Viewers also liked (20)

PDF
WebRTC開発者向けプラットフォーム SkyWayの裏側
Yusuke Naka
 
PDF
営業・運用を支える "気付ける" 管理画面
Masao Maeda
 
PDF
Visual Studio Code #phpcon2015
Aya Tokura
 
PPTX
Phpcon2015
Hiroshi Tokumaru
 
PDF
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
 
PDF
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
Masayuki Ishikawa
 
PDF
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
Hikari Fukasawa
 
PDF
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
Masataka Kono
 
PDF
5分でわかるWebRTC
Ryosuke Otsuya
 
PPTX
安全なPHPアプリケーションの作り方2016
Hiroshi Tokumaru
 
PDF
PHPの今とこれから2016
Rui Hirokawa
 
PDF
WPの実装言語PHPの重箱の隅っこを速度的な意味でつっついて比較してみた(2016/12/3)
Hiroyuki Ishikawa
 
PDF
PHP最速フレームワークPhalconの紹介
Yuji Iwai
 
PDF
Phalcon 謹製テンプレートエンジン Volt - Meet phalcon Volt
Kazumi OHIRA
 
PDF
5分でわかるphalcon php
Yusaku Kinoshita
 
PDF
HTTP2 & HPACK #pyfes 2013-11-30
Jxck Jxck
 
PDF
アジャイルにモデリングは必要か
Hiromasa Oka
 
PDF
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
ichikaway
 
PPTX
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
Ippei Sumida
 
PPTX
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
Yusuke Kawabata
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
Yusuke Naka
 
営業・運用を支える "気付ける" 管理画面
Masao Maeda
 
Visual Studio Code #phpcon2015
Aya Tokura
 
Phpcon2015
Hiroshi Tokumaru
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
 
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
Masayuki Ishikawa
 
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
Hikari Fukasawa
 
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
Masataka Kono
 
5分でわかるWebRTC
Ryosuke Otsuya
 
安全なPHPアプリケーションの作り方2016
Hiroshi Tokumaru
 
PHPの今とこれから2016
Rui Hirokawa
 
WPの実装言語PHPの重箱の隅っこを速度的な意味でつっついて比較してみた(2016/12/3)
Hiroyuki Ishikawa
 
PHP最速フレームワークPhalconの紹介
Yuji Iwai
 
Phalcon 謹製テンプレートエンジン Volt - Meet phalcon Volt
Kazumi OHIRA
 
5分でわかるphalcon php
Yusaku Kinoshita
 
HTTP2 & HPACK #pyfes 2013-11-30
Jxck Jxck
 
アジャイルにモデリングは必要か
Hiromasa Oka
 
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
ichikaway
 
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
Ippei Sumida
 
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
Yusuke Kawabata
 
Ad

Similar to Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS (20)

PDF
omoon.org の裏側 〜FuelPHP の task 活用例〜
Sotaro Omura
 
KEY
Composer
Shogo Kawahara
 
PDF
Software Development with Symfony
Atsuhiro Kubo
 
PPT
Inside mobage platform
Toru Yamaguchi
 
KEY
Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)
Yukinori KITADAI
 
PDF
KLab Social Game Platform ~Symfony1.4活用事例~
KLab株式会社
 
PDF
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
Takeshi Mikami
 
PDF
Symfony2でより良いソフトウェアを作るために
Atsuhiro Kubo
 
PDF
日本Symfonyユーザ会によるSymfony2 ワークショップ
Shin Ohno
 
PPTX
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
Ryusaburo Tanaka
 
PPTX
fluxflex meetup in Tokyo
Kyosuke Inoue
 
PDF
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
 
PDF
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Toru Kawamura
 
PPT
Drupal8
Yasushi Osonoi
 
PPTX
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
 
PPTX
技術選択とアーキテクトの役割
Toru Yamaguchi
 
PDF
Laravel4 Happy Hacking
Takashi Ohida
 
PDF
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
晃 遠山
 
PPT
20090415 すばらしきSymfonyの世界へようこそ
Hiromu Shioya
 
PDF
Web開発用ツール導入のすすめ
Kiyoshi SATOH
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
Sotaro Omura
 
Composer
Shogo Kawahara
 
Software Development with Symfony
Atsuhiro Kubo
 
Inside mobage platform
Toru Yamaguchi
 
Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)
Yukinori KITADAI
 
KLab Social Game Platform ~Symfony1.4活用事例~
KLab株式会社
 
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
Takeshi Mikami
 
Symfony2でより良いソフトウェアを作るために
Atsuhiro Kubo
 
日本Symfonyユーザ会によるSymfony2 ワークショップ
Shin Ohno
 
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
Ryusaburo Tanaka
 
fluxflex meetup in Tokyo
Kyosuke Inoue
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
 
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Toru Kawamura
 
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
 
技術選択とアーキテクトの役割
Toru Yamaguchi
 
Laravel4 Happy Hacking
Takashi Ohida
 
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
晃 遠山
 
20090415 すばらしきSymfonyの世界へようこそ
Hiromu Shioya
 
Web開発用ツール導入のすすめ
Kiyoshi SATOH
 
Ad

More from Tomoki Hasegawa (20)

PDF
Reading php terminal-gameboy-emulator
Tomoki Hasegawa
 
PDF
とある受託ベンダの開発環境
Tomoki Hasegawa
 
PDF
iOS Developers Conference Japan 2016
Tomoki Hasegawa
 
PDF
エンジニアのお祭り
Tomoki Hasegawa
 
PDF
勉強会のこちら側とあちら側
Tomoki Hasegawa
 
PDF
tvOSでWebSocketを使う
Tomoki Hasegawa
 
PDF
「これを買っている人はこれも買っています」実装してみた PHP side
Tomoki Hasegawa
 
PDF
tvOSネイティブアプリを作る
Tomoki Hasegawa
 
PDF
「これを買っている人はこれも買っています」実装してみた
Tomoki Hasegawa
 
PDF
TestFlightみたいなのを自作する
Tomoki Hasegawa
 
PDF
PHPでスマホアプリにプッシュ通知する
Tomoki Hasegawa
 
PDF
Stargazer Meetup #1
Tomoki Hasegawa
 
PDF
PUSH通知証明書作成ツールを作った
Tomoki Hasegawa
 
PDF
PHPカンファレンス福岡に 行ってきた
Tomoki Hasegawa
 
PDF
CakePHP3ウォークスルー
Tomoki Hasegawa
 
PDF
はじめてのiOSアプリ開発 Swift対応版
Tomoki Hasegawa
 
PDF
AppStore申請を一式まるっと自動化する
Tomoki Hasegawa
 
PDF
PHPerのためのSwift入門
Tomoki Hasegawa
 
PDF
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
Tomoki Hasegawa
 
PDF
Swiftのプロパティオブザーバを使い倒す
Tomoki Hasegawa
 
Reading php terminal-gameboy-emulator
Tomoki Hasegawa
 
とある受託ベンダの開発環境
Tomoki Hasegawa
 
iOS Developers Conference Japan 2016
Tomoki Hasegawa
 
エンジニアのお祭り
Tomoki Hasegawa
 
勉強会のこちら側とあちら側
Tomoki Hasegawa
 
tvOSでWebSocketを使う
Tomoki Hasegawa
 
「これを買っている人はこれも買っています」実装してみた PHP side
Tomoki Hasegawa
 
tvOSネイティブアプリを作る
Tomoki Hasegawa
 
「これを買っている人はこれも買っています」実装してみた
Tomoki Hasegawa
 
TestFlightみたいなのを自作する
Tomoki Hasegawa
 
PHPでスマホアプリにプッシュ通知する
Tomoki Hasegawa
 
Stargazer Meetup #1
Tomoki Hasegawa
 
PUSH通知証明書作成ツールを作った
Tomoki Hasegawa
 
PHPカンファレンス福岡に 行ってきた
Tomoki Hasegawa
 
CakePHP3ウォークスルー
Tomoki Hasegawa
 
はじめてのiOSアプリ開発 Swift対応版
Tomoki Hasegawa
 
AppStore申請を一式まるっと自動化する
Tomoki Hasegawa
 
PHPerのためのSwift入門
Tomoki Hasegawa
 
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
Tomoki Hasegawa
 
Swiftのプロパティオブザーバを使い倒す
Tomoki Hasegawa
 

Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS