Enviar búsqueda
Cargar
Web development fundamental
•
2 recomendaciones
•
1,520 vistas
Takuya Kumagai
Seguir
改訂版↓ http://www.slideshare.net/taukuma/web-development-fundamentalv2-24318761
Leer menos
Leer más
Educación
Denunciar
Compartir
Denunciar
Compartir
1 de 103
Descargar ahora
Descargar para leer sin conexión
Recomendados
Web development fundamental_v2
Web development fundamental_v2
Takuya Kumagai
Scc2014 :jQueryの仕組みを完璧に理解する
Scc2014 :jQueryの仕組みを完璧に理解する
Jun Futakawa
2時間で学ぶjQuery
2時間で学ぶjQuery
Shumpei Shiraishi
20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)
Daisuke Yamazaki
WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。
Yossy Taka
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門
Atsushi Tadokoro
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
Nishida Kansuke
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語
Yossy Taka
Recomendados
Web development fundamental_v2
Web development fundamental_v2
Takuya Kumagai
Scc2014 :jQueryの仕組みを完璧に理解する
Scc2014 :jQueryの仕組みを完璧に理解する
Jun Futakawa
2時間で学ぶjQuery
2時間で学ぶjQuery
Shumpei Shiraishi
20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)
Daisuke Yamazaki
WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。
Yossy Taka
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門
Atsushi Tadokoro
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
Nishida Kansuke
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語
Yossy Taka
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
schoowebcampus
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
shigeya
JavaScript basic, jQuery animation
JavaScript basic, jQuery animation
Yossy Taka
20141101 handson
20141101 handson
Six Apart
コーディングが上達するコツ
コーディングが上達するコツ
evol-ni
MediaWiki Tips for saveMLAK - wikibana
MediaWiki Tips for saveMLAK - wikibana
ninomy
WordPress を使いこなそう
WordPress を使いこなそう
Wataru OKAMOTO
jQuery Mobile 概要
jQuery Mobile 概要
トモロヲ いちがみ
ブラウザにやさしいHTML/CSS
ブラウザにやさしいHTML/CSS
Takeharu Igari
Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-
Yossy Taka
WordPressとjQuery
WordPressとjQuery
Seto Takahiro
JavaScriptで出来る、あんなことこんなこと
JavaScriptで出来る、あんなことこんなこと
Mayu Kimura
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
Shin Takeuchi
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバン
アシアル株式会社
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバン
アシアル株式会社
Webページが表示されるまで
Webページが表示されるまで
Masataka Suzuki
JSer Class #1
JSer Class #1
mizuky fujitani
JSer Class #3
JSer Class #3
mizuky fujitani
JSer Class #2
JSer Class #2
mizuky fujitani
2016年版 フロントエンド開発フォーマット
2016年版 フロントエンド開発フォーマット
Kenya Kodaira
Web制作勉強会 #2
Web制作勉強会 #2
Moto Yan
Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発
インフラジスティックス・ジャパン株式会社
Más contenido relacionado
La actualidad más candente
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
schoowebcampus
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
shigeya
JavaScript basic, jQuery animation
JavaScript basic, jQuery animation
Yossy Taka
20141101 handson
20141101 handson
Six Apart
コーディングが上達するコツ
コーディングが上達するコツ
evol-ni
MediaWiki Tips for saveMLAK - wikibana
MediaWiki Tips for saveMLAK - wikibana
ninomy
WordPress を使いこなそう
WordPress を使いこなそう
Wataru OKAMOTO
jQuery Mobile 概要
jQuery Mobile 概要
トモロヲ いちがみ
ブラウザにやさしいHTML/CSS
ブラウザにやさしいHTML/CSS
Takeharu Igari
Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-
Yossy Taka
WordPressとjQuery
WordPressとjQuery
Seto Takahiro
JavaScriptで出来る、あんなことこんなこと
JavaScriptで出来る、あんなことこんなこと
Mayu Kimura
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
Shin Takeuchi
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバン
アシアル株式会社
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバン
アシアル株式会社
Webページが表示されるまで
Webページが表示されるまで
Masataka Suzuki
JSer Class #1
JSer Class #1
mizuky fujitani
JSer Class #3
JSer Class #3
mizuky fujitani
JSer Class #2
JSer Class #2
mizuky fujitani
2016年版 フロントエンド開発フォーマット
2016年版 フロントエンド開発フォーマット
Kenya Kodaira
La actualidad más candente
(20)
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
JavaScript basic, jQuery animation
JavaScript basic, jQuery animation
20141101 handson
20141101 handson
コーディングが上達するコツ
コーディングが上達するコツ
MediaWiki Tips for saveMLAK - wikibana
MediaWiki Tips for saveMLAK - wikibana
WordPress を使いこなそう
WordPress を使いこなそう
jQuery Mobile 概要
jQuery Mobile 概要
ブラウザにやさしいHTML/CSS
ブラウザにやさしいHTML/CSS
Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-
WordPressとjQuery
WordPressとjQuery
JavaScriptで出来る、あんなことこんなこと
JavaScriptで出来る、あんなことこんなこと
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバン
Webページが表示されるまで
Webページが表示されるまで
JSer Class #1
JSer Class #1
JSer Class #3
JSer Class #3
JSer Class #2
JSer Class #2
2016年版 フロントエンド開発フォーマット
2016年版 フロントエンド開発フォーマット
Similar a Web development fundamental
Web制作勉強会 #2
Web制作勉強会 #2
Moto Yan
Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発
インフラジスティックス・ジャパン株式会社
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Akira Inoue
JavaScript 研修
JavaScript 研修
Yuki Ishikawa
2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山
インフラジスティックス・ジャパン株式会社
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
Daizen Ikehara
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Shumpei Shiraishi
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
マークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScript
eiji sekiya
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
Sho Ito
HTML5最新動向
HTML5最新動向
Shumpei Shiraishi
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
Yusuke Wada
Chrome拡張機能の作りかた
Chrome拡張機能の作りかた
aozou99
インタラクティブコンテンツにおけるHTML5とFlash
インタラクティブコンテンツにおけるHTML5とFlash
Yasunobu Ikeda
テスト
テスト
Masashi Sato
ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要
TomomitsuKusaba
JavaScriptと共に歩いて行く決意をした君へ
JavaScriptと共に歩いて行く決意をした君へ
Muyuu Fujita
Toolkit for CreateJSで作るリッチコンテンツ
Toolkit for CreateJSで作るリッチコンテンツ
Yasunobu Ikeda
JavaScript And Keywords
JavaScript And Keywords
uupaa
jQuery Mobile(開発編)勉強会資料
jQuery Mobile(開発編)勉強会資料
Nobumasa Ura
Similar a Web development fundamental
(20)
Web制作勉強会 #2
Web制作勉強会 #2
Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
JavaScript 研修
JavaScript 研修
2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
マークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScript
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
HTML5最新動向
HTML5最新動向
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
Chrome拡張機能の作りかた
Chrome拡張機能の作りかた
インタラクティブコンテンツにおけるHTML5とFlash
インタラクティブコンテンツにおけるHTML5とFlash
テスト
テスト
ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要
JavaScriptと共に歩いて行く決意をした君へ
JavaScriptと共に歩いて行く決意をした君へ
Toolkit for CreateJSで作るリッチコンテンツ
Toolkit for CreateJSで作るリッチコンテンツ
JavaScript And Keywords
JavaScript And Keywords
jQuery Mobile(開発編)勉強会資料
jQuery Mobile(開発編)勉強会資料
Último
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
Takayuki Itoh
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
yuitoakatsukijp
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
Tokyo Institute of Technology
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ssusere0a682
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ssusere0a682
Último
(7)
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
Web development fundamental
1.
WEBDevelopment Fundamental Takuya Kumagai May
27-28,2013 ゼロから始めるWeb開発 1
2.
アジェンダ • HTML • CSS •
JavaScript • jQuery • Bootstrap • PHP • Smarty • Ajax 1日目 2日目 2
3.
全体目的 • HTML、CSS、JavaScript、PHPの基礎を理解する • それぞれを組み合わせて、Webシステム(の一部)を構築 できる 3
4.
最終目標 4 この流れを理解して、自分で作れるように!
5.
• HTMLの役割 Webページを作るための言語 (文章の構造や意味) •
CSSの役割 Webページを作るための言語 (見た目) • JavaScriptの役割 ブラウザで表示しているものを動的にイジくるための言語 • PHPの役割 動的にWebページを表示するための言語(サーバー上で動く) • Ajaxの役割 動的にページの一部を変更する枠組み 全体概要 5
6.
1日目の目標 • HTML、CSS、JavaScriptの基礎を習得 • Twitter
Bootstrap、jQueryを使って、今風のカッコイイWeb ページを作る 6
7.
2日目の目標 • PHPの基礎をなんとなく把握 • Smartyの構造を理解 •
AjaxでJavaScriptとPHPの非同期通信をできるように • データベースに格納されているデータをBootstrapっぽく表 示できる 7
8.
Hyper Text Markup
Language 8 HTML
9.
HTMLとは? • HyperText Markup
Languageの略 • Webページを作るための言語 (文章の構造や意味) • 開発に必要なもの • ブラウザ (Google Chrome) • テキストエディタ 9
10.
HTML基礎 html タグと呼ばれる、コマンドを使う。 タグはDOM (Document Object
Model)要素とも呼ばれる。 基本的にページの本文はbody.../bodyの中に書く。 10
11.
本文bodyに使えるタグ • Headingタグ • Paragraph(文章)タグ •
リンク • フォーム • テーブル • ブロック要素 11
12.
Heading要素( h1...h6 ) 画面イメージhtml 12
13.
Paragraph要素( p ) 画面イメージ html 13
14.
リンク( a ) 画面イメージ html 14
15.
フォーム(form) 画面イメージ html 15
16.
テーブル要素( table, thead,
tbody, tr, th, td ) 画面イメージhtml 16
17.
ブロック要素( div, span
) 画面イメージ html 17
18.
CSSCascading Style Sheets 18
19.
CSSとは? • Cascading Style
Sheetsの略 • Webページを作るための言語 (見た目) • 開発に必要なもの • ブラウザ (Google Chrome) • テキストエディタ 19
20.
CSSを書く場所 • DOM要素のスタイル属性に直書き • head/headの中のスタイル要素内 •
外部ファイル 外部CSSファイル 20
21.
スタイル属性( style=... ) 画面イメージ html ボーダーを赤くする 背景を水色にする 21
22.
スタイル要素( style) headの中に、 styleタグを書いて その中にスタイルを記載 html 22
23.
外部ファイル(link) 外部CSSファイルをリンク html mycss.css (外部CSSファイル) 23
24.
CSSの書き方 セレクター プロパティ 値 セレクターで指定したDOM要素のプロパティに 任意のスタイル(値)を設定する mycss.css (外部CSSファイル) コロン(:) セミコロン(
; ) 24
25.
セレクター • すべての要素 • 同一の要素 •
クラス • id • ちょっと複雑なセレクター 25
26.
セレクター:すべての要素 *(アスタリスク)で全要素のセレクターになる 文字の色を水色に設定 画面イメージ mycss.css (外部CSSファイル) 26
27.
セレクター:同一の要素 要素名を指定するとWebページ上の 同じ要素全てにスタイルを適用する 画面イメージ 背景をオレンジに設定 mycss.css (外部CSSファイル) 27
28.
セレクター:クラス 画面イメージ html クラスにスタイルを適用 mycss.css (外部CSSファイル) 28
29.
セレクター:id mycss.css (外部CSSファイル) 画面イメージ html idにスタイルを適用 29
30.
セレクター:ちょっと複雑なセレクター mycss.css (外部CSSファイル) 画面イメージ html 30
31.
プロパティ • margin • padding •
display • position • width • height • background • background-color • border • outline • float • color • font-family • font-size • font-weight • content • text-align • overflow 31
32.
JavaScript 32
33.
JavaScriptとは? • ブラウザ上で色々な動作をさせることができる言語 • 開発に必要なもの •
ブラウザ (Google Chrome) • テキストエディタ 33
34.
初めてのJavaScript 画面イメージ html bodyの中に、 scriptタグを書いて その中にJavaScriptを 記載 画面にアラートメッセージ を表示する 34
35.
JavaScriptを書く場所 • body要素の中のscript要素内 • 外部ファイル html myjs.js(外部ファイル) html 35
36.
変数とは? 画面イメージ myjs.js(外部ファイル) 36
37.
データ型 画面イメージ myjs.js(外部ファイル) JSON 37
38.
演算子 画面イメージ myjs.js(外部ファイル) 文字列の結合は + a =
a+1; と同じ意味 c = c+3; と同じ意味 38
39.
条件分岐(if/else, switch) 画面イメージ myjs.js(外部ファイル) if/else if/elseの構文 switch/caseの構文 39
40.
ループ処理(for, while) 画面イメージ myjs.js(外部ファイル) forループの構文 whileループの構文 40
41.
ユーザー定義関数(function) 画面イメージ myjs.js(外部ファイル) ユーザー定義関数の構文 function 関数名(引数) 41
42.
42
43.
jQueryとは? • JavaScriptを便利にしてくれるライブラリ • 開発に必要なもの •
ブラウザ (Google Chrome) • テキストエディタ 43
44.
書き方 jQueryを読み込む セレクター jQueryで操作する対象 API (色々な操作) html myjs.js(外部ファイル) 44
45.
値を操作する 画面イメージmyjs.js(外部ファイル) html 45
46.
CSSを操作 画面イメージ myjs.js(外部ファイル) 46
47.
クリックイベント 画面イメージ myjs.js(外部ファイル) クリック時にinputの値を 取得して、アラートに表示 47
48.
要素を動的に追加 画面イメージ myjs.js(外部ファイル) html クリック時に動的に tableにデータを追加 48
49.
覚えておくと便利なAPI • addClass() • removeClass() •
animate() • attr() • css() • width() • height() • eq() • bind() • click() • toggle() • dblclick() • hover() • hide() • show() • append() • remove() • empty() • text() • val() • html() • parent() • parents() • children() • keydown() • keypress() • keyup() • length 49
50.
Twitter Bootstrap 50
51.
Bootstrapとは? • Twitterが開発したCSSフレームワーク • 今時のカッコイイサイトを簡単に作れてしまう •
開発に必要なもの • ブラウザ (Google Chrome) • テキストエディタ 51
52.
グリッドレイアウト 画面イメージ html 52
53.
フォーム:input 画面イメージ html 53
54.
フォーム:select, check box,
radio 画面イメージ html html html 54
55.
ボタン:大きさ、ドロップダウン 画面イメージ html 画面イメージ html 55
56.
ボタン:色とグループ化 画面イメージ html 56
57.
パンくずリスト 画面イメージ html 57
58.
Bootstrapのまとめ • アイディアを直ぐに形にすることができる • CSSがかなり充実しているので、組み合わせ次第で簡単 に綺麗/カッコイイ、Webページをデザインできる •
jQueryや、jQuery UIなんかとも組み合わせて使える 58
59.
PHPHypertext Preprocessor 59
60.
PHPとは? • Hypertext Preprocessor •
動的にWebページを作る、サーバー側で動作するプロ グラム • 開発に必要なもの • サーバー (Apache HTTP Server v2.2+) • PHP (PHP v5.3+) • ブラウザ (Google Chrome) • テキストエディタ 60
61.
PHPの保存場所 htdocsディレクトリの中にPHPファイルを置く。 ローカル環境で試す時は、ブラウザのアドレスバーに localhostと入力。 61
62.
初めてのPHP 画面イメージ index.php PHPは?php...?で囲う クライアント側(ブラウザ)にデータを 送信するには、echoを使う 62
63.
変数 画面イメージ index.php 63
64.
データ型 画面イメージ index.php 文字列の中に{$変数名}を書くと 変数を文字列に埋め込んでくれる 64
65.
演算子 画面イメージ index.php 65
66.
条件分岐 画面イメージ index.php 66
67.
ループ処理 画面イメージ index.php 67
68.
関数 画面イメージ index.php 関数渡しはcall_user_func()を使う。 引数は関数名とその関数の引数 68
69.
クラス 画面イメージ index.php 69
70.
クラスの継承 画面イメージ index.php 70
71.
SmartyPHP Template Engine 71
72.
Smartyとは? • PHPで使えるテンプレートエンジン • テンプレートを使うとモジュール化し易くなる •
開発に必要なもの • サーバー (Apache HTTP Server v2.2+) • PHP (PHP v5.3+) • ブラウザ (Google Chrome) • テキストエディタ 72
73.
Smartyのフォルダ構成 libsにそれぞれのModelとなるPHPを置く。 ユーザーは直接アクセスは出来ない。 filesにSQLを記載したPHPを設置 publicには画像やJavaScript、CSSを設置 viewsのtemplatesにHTMLに変換されるtplを設置。 ユーザーは直接アクセスできない どのViewを出力するかを判断するindex.phpや Ajaxリクエストを扱うrequest_handler.phpは htdocsの直下に置く 73
74.
Bootstrap on Smarty BootstrapのCSSやJavaScriptの 依存関係をSmartyにあわせて変更し、 publicに設置 Bootstrapを利用した テンプレート(tplファイル)を viewsのtemplatesに設置 index.php で適切にRouteさせる 74
75.
AjaxAsynchronous JavaScript +
XML 75
76.
Ajaxとは? • Asynchronous JavaScript
+ XMLの略 • クライアントとサーバーを非同期通信で接続し、 ダイナミックにページの一部を書き換える • 開発に必要なもの • サーバー (Apache HTTP Server v2.2+) • PHP (PHP v5.3+) • ブラウザ (Google Chrome) • テキストエディタ 76
77.
Ajaxを試すデモシステム 77
78.
初めてのAjax :概要(これを作りたい) クリックをすると サーバーと非同期通信を開始 サーバーと非同期通信して メッセージを表示 画面イメージ 画面イメージ 78
79.
初めてのAjax :概要(使うファイル) 79 View views/templates/ajax.tpl JavaScript public/javascripts/myjs.js PHP request_handler.php htdocs直下の request_handler.phpは Ajaxリクエスト(要求)の 全てをハンドリング。 JavaScriptはクリックイベント をトリガーにAjaxでPHP側に 処理を要求する Viewのテンプレートは 画面に表示される見た目
80.
初めてのAjax:View (テンプレート)側 80 画面イメージ views/templates/ajax.tpl このボタンがクリックされたら サーバーからメッセージを 取得してAlertボックスに表示したい。
81.
初めてのAjax:JavaScript側 概要 ajax_post()関数の呼び出し方 public/javascripts/common.js ajax_post()という関数を使う。 category、target、opts、callback の4つを引数に渡すと、はじめの3つを request_handler.phpに送信する。 request_handler.phpから結果が 帰ってくるとcallback関数を実行する ajax_post()をサーバーと 非同期通信したいところで 呼ぶ(ボタンクリック時等) 81
82.
初めてのAjax:JavaScript側 詳細 public/javascripts/myjs.js 82 #btn-ajax-test01をクリックすると ajax_post()を実行 送信するデータ
83.
初めてのAjax:Request Handler側 概要 request_handler.php 83 htdocs直下の request_handler.phpは Ajaxリクエスト(要求)の 全てをハンドリング。 受信したcategoryによって 処理を変える。 受信したデータの categoryにあわせて この部分に処理を 書いていく 受信したデータ
84.
初めてのAjax:Request Handler側 詳細 84 request_handler.php 結果として返信する データを作る 受信した要求のカテゴリーが ajax_test01だった場合 結果を返信
85.
初めてのAjax:JavaScript側 詳細 public/javascripts/myjs.js 85 requuest_handler.phpから 返信があると実行される。 返信されたデータ data:返信データ(JSON形式) err:エラー情報(JSON形式) status:ステータス(文字列) 成功したら、 Alertで返信結果 を表示
86.
初めてのAjax :実行結果 クリックをすると サーバーと非同期通信を開始 サーバーと非同期通信して メッセージを表示 画面イメージ 画面イメージ 86
87.
Ajax 演習2 :概要(これを作りたい) クリックをすると サーバーと非同期通信を開始 サーバーと非同期通信して 外部PHPに記載されている メッセージを表示 画面イメージ 画面イメージ 87
88.
Ajax演習2 :概要(使うファイル) 88 View views/templates/ ajax.tpl JavaScript public/javascripts/ myjs.js htdocs直下の request_handler.php から別のPHPを呼ぶ。 (インスタンスを作って メンバ関数を実行) PHP request_handler.php 外部PHP libs/ajax_test02.php クラスが定義されてる。 外部PHPファイルに 処理を書くことで モジュール化
89.
Ajax演習2:View (テンプレート)側 89 画面イメージ views/templates/ajax.tpl このボタンがクリックされたら サーバーからメッセージを 取得してAlertボックスに表示したい。
90.
Ajax演習2:JavaScript側 public/javascripts/myjs.js 90 #btn-ajax-test01をクリックすると ajax_post()を実行 送信するデータ
91.
Ajax演習2:Request Handler側 91 request_handler.php 外部PHPファイルを読み込む 受信した要求のカテゴリーが ajax_test02だった場合 結果を返信 外部PHPに記載されている クラスのインスタンスを作成 結果として返信する データを作る (クラスのメソッドをコール)
92.
Ajax演習2:外部PHP側 92 libs/ajax-test02.php getInfo()メソッドは単純に 文字列をリターンする ActionWrapperクラスを継承 libs/actionwrapper.php
93.
Ajax演習2:JavaScript側 public/javascripts/myjs.js 93 requuest_handler.phpから 返信があると実行される。 返信されたデータ data:返信データ(JSON形式) err:エラー情報(JSON形式) status:ステータス(文字列) 成功したら、 Alertで返信結果 を表示
94.
Ajax 演習2 :実行結果 クリックをすると サーバーと非同期通信を開始 サーバーと非同期通信して メッセージを表示 画面イメージ 画面イメージ 94
95.
Ajax 演習4 :概要(これを作りたい) 期間を入力して ボタンをクリック 非同期通信開始 サーバーと非同期通信して データベースからデータを抽出。 結果をテーブルに表示 画面イメージ 画面イメージ 95
96.
Ajax演習4 :概要(使うファイル) 96 View views/templates/ ajax.tpl JavaScript public/javascripts/ myjs.js PHP request_handler.php 外部PHP libs/ajax_test04.php SQLを読み込んで データベースを 検索し、結果を 返信する SQL libs/files/sql.php
97.
Ajax演習4:View (テンプレート)側 97 画面イメージ views/templates/ajax.tpl このボタンがクリックされたら inputの値をサーバーに送信。 サーバーはデータベースを検索して 結果を返し、画面に表示 ここにテーブルを表示
98.
Ajax演習4:JavaScript側 public/javascripts/myjs.js 98 送信するデータ inputの値を取得 この値を検索条件に データベースを検索したい のでoptsに入れて送る
99.
Ajax演習4:Request Handler側 99 request_handler.php 外部PHPファイルを読み込む 受信した要求のカテゴリーが ajax_test04だった場合 結果を返信 外部PHPに記載されている クラスのインスタンスを作成 結果として返信する データを作る (クラスのメソッドをコール)
100.
Ajax演習4:外部PHP側 100 libs/ajax-test04.php getInfo()メソッドは optsの中身を取得して sqlを読み込み データベースを検索し、 結果を返す libs/files/sql.php
101.
Ajax演習4:JavaScript側 public/javascripts/myjs.js 101 返信されたデータ data:返信データ(JSON形式) err:エラー情報(JSON形式) status:ステータス(文字列) データをtableに表示できるように 文字列に変換 表示区域にAppend エラー発生時は 表示区域にエラーの 内容を表示
102.
Ajax 演習4 :実行結果 期間を入力して ボタンをクリック 非同期通信開始 サーバーと非同期通信して データベースからデータを抽出。 結果をテーブルに表示 画面イメージ 画面イメージ 102
103.
END 103
Descargar ahora