• 検索結果がありません。

Microsoft PowerPoint - CakePHPforDesign.ppt

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft PowerPoint - CakePHPforDesign.ppt"

Copied!
34
0
0

読み込み中.... (全文を見る)

全文

(1)

デザイナー向けCakePHP勉強会1

CakePHPのデザイン周辺

ECWorks

滝下 真玄(MASA-P)

http://www.ecworks.jp/ [email protected] @ecworks_masap

(2)
(3)
(4)

このセッションの着地点

○○○と△△△内を

編集すればCakePHPに

デザインが適用できる

(5)
(6)

【CakePHPの仕組み】

HTMLの場合

リクエスト サーバ処理 レスポンス

HTMLファイルが 呼び出されるのみ

(7)

【CakePHPの仕組み】

PHPの場合

リクエスト サーバ処理 レスポンス 処理 A 処理 B 処理 C ・・・ 各処理の役割は任意 DBアクセス・計算・表示などは 好きなところに実装

(8)

【CakePHPの仕組み】

PHPの場合

<?php ほにゃらららららららら~~~~~~ ?>

皆さんが苦手な部分

<?php ほにゃらららららららら~~~~~~ ?>

<?php ほにゃらららららららら~~~~~~ ?>

<html> </html>

キライ

(9)

【CakePHPの仕組み】

WordPressの場合

リクエスト サーバ処理 レスポンス Index .php テーマ ここを編集して デザインを適用

(10)

【CakePHPの仕組み】

WordPressの場合

index.php single.php archives.php header.php sidebar.php footer.php ・ ・ ・ ・ ・ ・

<?php get_header(); ?>

<?php get_footer(); ?>

<?php get_sidebar(); ?>

<?php the_post(); ?>

index.php

(11)

【CakePHPの仕組み】

WordPressの場合

header.php index.php footer.php キリトリセン キリトリセン sidebar.php キ リ ト リ セ ン <html> </html>

(12)

【CakePHPの仕組み】

CakePHP

の場合

リクエスト サーバ処理 レスポンス コ ン ト ロ ー ラ モデル(M) ビュー(V) (C) ここを編集して デザインを適用

(13)

【CakePHPの仕組み】

Q:モデル・ビュー・コントローラ(MVC)ってなに?

モデル ビュー コントローラ モデルやビュー、あるいは 各処理間でデータを 受け流したり、処理の制御 を行う 処理結果やデータを表示 する。つまり動的にHTML 等を出力する データベースなどのデータ ソースと連携し、データを 入出力したり、加工をした りする。ビジネスロジック

×

(14)

【CakePHPの仕組み】

CakePHPなどフレームワークの処理の基本単位

コントローラ

アクション

■ブログシステムのコメント投稿機能を実現する

→Postsコントローラ

・投稿データを編集する

→editアクション

・投稿データを削除する

→deleteアクション

・投稿データを追加する

→addアクション

(15)

【CakePHPの仕組み】

URLとコントローラ・アクションの関係

http://www.example.com

/

controllers

/

action

/params/…

• コントローラ名は複数形・小文字で名前を定義する

• アクションは小文字なら何でもOK

• 上記はデフォルトのもので、定義することでURLを変更

(16)

【CakePHPの仕組み】

コントローラとビューの関係

PostsController add edit delete add edit_member delete edit 基本はアクションに対して 一対一の関係 しかし処理によって別のものを 呼ぶことも可能 or

(17)

【CakePHPの仕組み】

CakePHPのビュー

コントローラーで共通の、ビューを構成するもっとも外枠の部分。

WordPressで言えばindex, header, footerを足しあわせたもの

●レイアウト

各アクションに一対一でひもづけるファイル。

一般的に「ビュー」という場合はこのファイルのことを指す

●ビューテンプレート(ファイル)

●エレメント

各ビュー共通で使えるパーツ的なもの。なくてもOK

(18)

レイアウト

【CakePHPの仕組み】

ビューテンプレート (ファイル) キリトリセン エレメント <html> </html>

CakePHPのビュー

エレメント

(19)
(20)

【デザイン関連ファイルの配置】

一般的に、CakePHPのファイルは サーバにもこの通りに展開される

(21)

【デザイン関連ファイルの配置】

エレメントファイルを 格納する場所 エラー表示ビューを 格納する場所(今回は省略) カスタムヘルパーを 格納する場所(今回は省略) レイアウトファイルを 格納する場所 (今回は省略) (今回は省略) postsコントローラに対する ビューを格納する場所

(22)

【デザイン関連ファイルの配置】

制御によって異なるビューを 呼び出したい場合も、同 コントローラ内にファイルを 配置する 各アクションに対する ビューファイル

(23)

【デザイン関連ファイルの配置】

そのほかに使用したい レイアウトがあれば配置する デフォルトのレイアウト コントローラで特に指定しなければ この名前のファイルが適用される (今回は省略) (今回は省略) (今回は省略) (今回は省略)

(24)

【デザイン関連ファイルの配置】

エレメントファイル

(今回は省略) 空のファイル

(25)

【デザイン関連ファイルの配置】

CSSファイルを格納する場所 .htaccessファイル (今回は省略) (今回は省略) リクエスト時に必ず呼ばれるindex.php その他ファイルを格納する場所 画像ファイルを格納する場所 JavaScriptファイルを格納する場所 ファビコン(favorite iconファイル)

(26)

【デザイン関連ファイルの配置】

パス指定・サイト内リンクに関する注意点

views/ posts/ index.ctp webroot/ img/ picture.png

例えばビュー内で画像を表示したい

場合、webrootがdocument rootに

なるため、

相対パスで表現する

ことは出来ない

../../webroot/img/picture.php

/img/picture.php

×

(27)

【デザイン関連ファイルの配置】

パス指定・サイト内リンクに関する注意点

デフォルトのコントローラ・アクションに対するURLは、デ

フォルトでは「http://~/controller名/アクション名」だが

設計仕様によってはこのルールにならない場合がある

→リンク切れの可能性も!!

これらを解決するために「ヘルパーを活用する」

(28)
(29)

【ビューの記述】

レイアウト ビュー(ファイル) キリトリセン エレメント <html> </html>

CakePHPのビュー

エレメント

(30)

レイアウト

【ビューの記述】

<html> </html>

レイアウト

<?php echo $content_for_layout; ?>

ビューを表示する場所 最低限これがないと ビューが反映されない

(31)

ビュー(もしくはエレメント)

【ビューの記述】

ビュー(ファイル)・エレメント

<?php echo $this->Html->image(‘picture.png’); ?>

<?php echo $this->Html->link(‘カートを見る’, array(

‘controller’ => ‘carts’, ‘action’ => ‘viewcart’)); ?>

(32)

【ビューの記述】

ヘルパーについて

• Htmlヘルパー

リンクやimage、CSSやJavaScriptのインポートなど

• Formヘルパー

フォームタグの生成全般

• Paginateヘルパー

ページング処理(ページ番号リンクやソーティングなど)

・・・などなど

(33)

このセッションのまとめ

views

webroot

内を

編集すればCakePHPに

(34)

ご静聴ありがとう

ございました

参照

関連したドキュメント

SVF Migration Tool の動作を制御するための設定を設定ファイルに記述します。Windows 環境 の場合は「SVF Migration Tool の動作設定 (p. 20)」を、UNIX/Linux

BRAdmin Professional 4 を Microsoft Azure に接続するには、Microsoft Azure のサブスクリプションと Microsoft Azure Storage アカウントが必要です。.. BRAdmin Professional

納付日の指定を行った場合は、指定した日の前日までに預貯金口座の残

バドミントン競技大会及びイベントを開催する場合は、内閣府や厚生労働省等の関係各所

・広告物を掲出しようとする場所を所轄する市町村屋外広告物担当窓口へ「屋

を受けている保税蔵置場の名称及び所在地を、同法第 61 条の5第1項の承

注)○のあるものを使用すること。

部分品の所属に関する一般的規定(16 部の総説参照)によりその所属を決定する場合を除くほ か、この項には、84.07 項又は