Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1時間でまるわかり!
CakePHP概説&WordPress応用事例
2016年2月14日、2月27日
TECH GARDEN SCHOOL
1
目的
• フレームワークとは何か、その利点がわかる
• PHPの主要なWebフレームワークや、その1つであるCakePHP
の特徴がわかる
• CakePHPとWordPressの違い、その組み合わせの考え方がわか
る
2
フレームワークとは何か
• アプリケーションの土台
• プログラム言語(例:PHP)の上で動作させ、特定の種類のア
プリケーション(例:Webサービス)を開発するために必要な
構造や機能を補完するもの
プログラム言語(例:PHP)
フレームワー...
フレームワークを使用しない場合
レイアウト
(全画面に同じ内容を書く)
ビュービュービュー
モデル
モデル
(DB接続・切断も書く)
• 1つのファイルに様々な要素がごちゃ混ぜ
• 並べ替え機能が必要になったら?
• ページめくり機能が必要にな...
フレームワークを使用した場合
ModelView
Controller
• 各ファイルの役割が明確
• 誰がどの画面を作るときでも同じ構成
• レイアウトは共通で使用するものが1つある
並べ替えとページ
めくりは実装済
並べ替えとページ
めくり...
なぜフレームワークを使うのか
• 設計・開発のベストプラクティスを活用できる
• フレームワークには、主流の設計・開発手法、多くの開発者の経験が
組み込まれているため、初心者が使ってもそれらのベストプラクティ
スを活用できる
• 構造の一貫性や...
MVCモデル
~Webアプリ開発における設計のベストプラクティス
View
画面の表示
画面内で処理する
機能の実装
(JavaScript)
Controller
ビジネスロジックの
実行(制御)
次画面で使用する
データの準備
Model
...
PHPのフレームワークのご紹介と特徴
• MVCモデルを採用するフレームワーク
→この後、詳細をご説明します!
• CakePHP
• Symfony
• Zend Framework
• WordPress
• WordPressもある意味で...
MVCモデルを採用するフレームワーク
フレームワーク MVCモデル 自動生成 規模適性 動作速度
CakePHP 採用 あり
データベース定義から
スケルトンを作成可能
小~中規模向け 普通
Symfony 採用 あり
データベース定義から
ス...
CakePHPでできること
• MVCモデルに準拠したWebアプリ開発
• データベース定義を元にしたスケルトンの自動生成
• データの追加・参照・変更・削除を行うアプリが自動生成できる
• SQLを書かなくてもデータベースアクセスが可能
• ...
PHP(ベタ書き)との比較
PHP(ベタ書き) CakePHP
MVC準拠のWeb開発 1画面を1ファイルで書くのが前提 MVCモデルの使用が前提
スケルトン生成 なし あり(Bakeコマンド)
データベースアクセス SQLを書く Modelの...
CakePHPとWordPress
CakePHP
• Webアプリフレームワーク
• 柔軟な画面設計・遷移
• 柔軟なデータベース設計
• 柔軟なユーザ管理
• 情報配信以外の目的なら
CakePHPを使いたい
WordPress
• コンテ...
CakePHPとWordPressの組み合わせ事例
CakePHPとWordPressを組み合わせて使うために、以下の2つの
方法があります。
① WordPress meets CakePHP
• WordPressサイトにCakePHPを組...
① WordPress meets CakePHP
WordPressで出来たサ
イト
• 企業サイト
• キャンペーンサイト
独自の機能を組み込む
• 自由な画面遷移が必要なWeb
アプリ
• 商品データベースなどの管理
• 他サイト等からの...
② CakePHP meets WordPress
CakePHPで開発した独自
のWebサービス
ブログ機能を組み込む
• PR目的のブログ(開発者ブログ
など)
• メディアギャラリー
• 管理画面で記事を管理するツー
ルとして
15
WordPressの記事を
CakePHPで参照する
① WordPress meets CakePHP の例
16
完成形
WordPress CakePHP
WordPressのデータベースをCakePHPで参照(追加・更新・削除可)できる
17
database.php (CakePHP)
CakePHPからWordPressの
データベースを参照可能に
する
18
MVC (CakePHP)
Model
View
Controller
これらのプログラムは、
CakePHPのbakeコマンドで
自動生成可能
19
CakePHPアプリに
WordPressブログを組み込む
② CakePHP meets WordPress の例
20
WordPressの配置
CakePHPのwebrootに
WordPressを配置
(ディレクトリ名をblogに
変更)
21
.htaccessを編集する
編集内容はCakePHPのイン
ストールパスによって異な
ります
22
WordPressのインストール
見慣れたWordPressのインストール画面が表示される
23
Upcoming SlideShare
Loading in …5
×

[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例

2,258 views

Published on

CakePHP概説とWordPress応用事例について、1時間で概説いたします。
https://techgardenschool.doorkeeper.jp/events/37423

・フレームワークとは何か
・なぜフレームワークを使うのか
・MVCモデル
・PHPのフレームワークご紹介と特徴
・CakePHPでできること
・CakePHPとWordPressの組み合わせ事例

テックガーデンスクールとは

Club86 School&Company が運営するTECH GARDEN SCHOOLは「超初心者」専門ITスクールです。
まったくITに触れたことのない人でも、やさしく楽しく学べるようにデザインされており、「好き!」を通じて「創職」を目指すことができます。

https://techgardenschool.doorkeeper.jp/events/37434

Published in: Technology
  • Be the first to comment

[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例

  1. 1. 1時間でまるわかり! CakePHP概説&WordPress応用事例 2016年2月14日、2月27日 TECH GARDEN SCHOOL 1
  2. 2. 目的 • フレームワークとは何か、その利点がわかる • PHPの主要なWebフレームワークや、その1つであるCakePHP の特徴がわかる • CakePHPとWordPressの違い、その組み合わせの考え方がわか る 2
  3. 3. フレームワークとは何か • アプリケーションの土台 • プログラム言語(例:PHP)の上で動作させ、特定の種類のア プリケーション(例:Webサービス)を開発するために必要な 構造や機能を補完するもの プログラム言語(例:PHP) フレームワーク(例:CakePHP) Webアプリ(サイト / サービス) Web以外 のアプリ フレームワークは必須ではない 3
  4. 4. フレームワークを使用しない場合 レイアウト (全画面に同じ内容を書く) ビュービュービュー モデル モデル (DB接続・切断も書く) • 1つのファイルに様々な要素がごちゃ混ぜ • 並べ替え機能が必要になったら? • ページめくり機能が必要になったら? 4
  5. 5. フレームワークを使用した場合 ModelView Controller • 各ファイルの役割が明確 • 誰がどの画面を作るときでも同じ構成 • レイアウトは共通で使用するものが1つある 並べ替えとページ めくりは実装済 並べ替えとページ めくりは実装済 SQLを書かなく ても良い 5
  6. 6. なぜフレームワークを使うのか • 設計・開発のベストプラクティスを活用できる • フレームワークには、主流の設計・開発手法、多くの開発者の経験が 組み込まれているため、初心者が使ってもそれらのベストプラクティ スを活用できる • 構造の一貫性やセキュリティ対策など初心者が忘れがちなポイントを フレームワークがフォローしてくれる • 複数メンバーで開発する際に、設計・開発手法を標準化できる • フレームワークでは機能分担やクラス名・変数名などの命名が規則化 されているものが多く、誰が見ても見通しの良いコードになる • 使い方を覚えれば、生産性が向上する • フレームワークを使わなければ、独自開発が必要になってしまう 6
  7. 7. MVCモデル ~Webアプリ開発における設計のベストプラクティス View 画面の表示 画面内で処理する 機能の実装 (JavaScript) Controller ビジネスロジックの 実行(制御) 次画面で使用する データの準備 Model データベースからの データ取得や保存 データの妥当性 チェックや計算など のビジネスロジック 7
  8. 8. PHPのフレームワークのご紹介と特徴 • MVCモデルを採用するフレームワーク →この後、詳細をご説明します! • CakePHP • Symfony • Zend Framework • WordPress • WordPressもある意味でフレームワークです。テーマやプラグインに よって独自のプログラム(機能)を組み込むことができますし、カス タム投稿タイプによってブログ記事以外の情報を管理することも可能 です。様々な情報を表示するようなサイトに向きます。 8
  9. 9. MVCモデルを採用するフレームワーク フレームワーク MVCモデル 自動生成 規模適性 動作速度 CakePHP 採用 あり データベース定義から スケルトンを作成可能 小~中規模向け 普通 Symfony 採用 あり データベース定義から スケルトンを作成可能 大規模向け プロジェクト・アプリケー ション・モジュールの3層で 大規模サイトを構成 遅い 拡張性のために Symfony自体が大きな 構造になっている Zend Framework 採用 MVCの使用は 必須ではない なし 小~中規模向け 大規模サイトでZend Frameworkの一部機能だけを 使用することも可能 速い 独立性の高いコンポー ネントの集合体のため 軽い <参考>PHPプロ! http://www.phppro.jp/article/framework/comparison.php 9
  10. 10. CakePHPでできること • MVCモデルに準拠したWebアプリ開発 • データベース定義を元にしたスケルトンの自動生成 • データの追加・参照・変更・削除を行うアプリが自動生成できる • SQLを書かなくてもデータベースアクセスが可能 • ルールを記述するだけで入力チェックの開発が可能 • セキュリティ対策(XSS / CSRF / フォーム改ざん) • プラグインによる機能拡張 • 柔軟なビュー構造 • レイアウトやテンプレートの再利用が可能 10
  11. 11. PHP(ベタ書き)との比較 PHP(ベタ書き) CakePHP MVC準拠のWeb開発 1画面を1ファイルで書くのが前提 MVCモデルの使用が前提 スケルトン生成 なし あり(Bakeコマンド) データベースアクセス SQLを書く Modelの使用でSQL不要 (SQLを書くことも出来る) 入力チェック 画面ごとにプログラムを書く (チェックを共通化することはできる) Modelに定義するのみで可能 (画面ごとの定義は不要) セキュリティ対策 画面ごと、SQLの実行ごとにセキュリ ティ対策を考慮したプログラムを書く XSS / CSRF / フォーム改ざんの対策は CakePHPで考慮されている 機能拡張 PEAR(ライブラリリポジトリ)等から インストール CakePHP独自のプラグイン機能 (PEARライブラリ等の使用も可能) ビューの再利用 require / includeで再利用する PHPファイルを読み込む 画面全体はレイアウト、 画面の一部はエレメントで、再利用可能 11
  12. 12. CakePHPとWordPress CakePHP • Webアプリフレームワーク • 柔軟な画面設計・遷移 • 柔軟なデータベース設計 • 柔軟なユーザ管理 • 情報配信以外の目的なら CakePHPを使いたい WordPress • コンテンツ管理システム • 情報配信に向いた画面 • 固定されたデータベース設計 • 情報配信に向いたユーザ管理 • 情報配信サイトの開発ならば、 CakePHPより生産性が高い • 必ずしもブログである必要はな く、柔軟なカスタマイズ可能 12
  13. 13. CakePHPとWordPressの組み合わせ事例 CakePHPとWordPressを組み合わせて使うために、以下の2つの 方法があります。 ① WordPress meets CakePHP • WordPressサイトにCakePHPを組み込む ② CakePHP meets WordPress • CakePHPサイト(Webアプリ)にWordPressを組み込む 13
  14. 14. ① WordPress meets CakePHP WordPressで出来たサ イト • 企業サイト • キャンペーンサイト 独自の機能を組み込む • 自由な画面遷移が必要なWeb アプリ • 商品データベースなどの管理 • 他サイト等からの記事の連携 14
  15. 15. ② CakePHP meets WordPress CakePHPで開発した独自 のWebサービス ブログ機能を組み込む • PR目的のブログ(開発者ブログ など) • メディアギャラリー • 管理画面で記事を管理するツー ルとして 15
  16. 16. WordPressの記事を CakePHPで参照する ① WordPress meets CakePHP の例 16
  17. 17. 完成形 WordPress CakePHP WordPressのデータベースをCakePHPで参照(追加・更新・削除可)できる 17
  18. 18. database.php (CakePHP) CakePHPからWordPressの データベースを参照可能に する 18
  19. 19. MVC (CakePHP) Model View Controller これらのプログラムは、 CakePHPのbakeコマンドで 自動生成可能 19
  20. 20. CakePHPアプリに WordPressブログを組み込む ② CakePHP meets WordPress の例 20
  21. 21. WordPressの配置 CakePHPのwebrootに WordPressを配置 (ディレクトリ名をblogに 変更) 21
  22. 22. .htaccessを編集する 編集内容はCakePHPのイン ストールパスによって異な ります 22
  23. 23. WordPressのインストール 見慣れたWordPressのインストール画面が表示される 23

×