Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHP ハウトゥ
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shintaro Fujiwara
October 01, 2016
Programming
240
0
Share
PHP ハウトゥ
第1回山陰PHP勉強会における発表資料です。
by 山陰ペチパーズ 藤原慎太郎
Shintaro Fujiwara
October 01, 2016
More Decks by Shintaro Fujiwara
See All by Shintaro Fujiwara
Moodleの開発者になれたよ
intrajp
0
1.7k
aws_save_ami.pdf
intrajp
0
300
SELinux_howto_20190218.pdf
intrajp
0
310
Other Decks in Programming
See All in Programming
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
430
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
140
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
160
今さら聞けないCancellationToken
htkym
0
120
AgentCore Optimizationを始めよう!
licux
3
260
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
290
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
130
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
530
【ディップ|26年新卒研修資料】TDD実装演習
dip_tech
PRO
0
270
20260514 - build with ai 2026 - build LINE Bot with Gemini CLI
line_developers_tw
PRO
0
460
決定論 vs 確率論:Gemini 3 FlashとTF-IDFを組み合わせた「法規判定エンジン」の構築
shukob
0
170
SkillsをS3 Filesに置く時のあれこれ
watany
3
1.7k
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
120
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Context Engineering - Making Every Token Count
addyosmani
9
890
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
560
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Designing Powerful Visuals for Engaging Learning
tmiket
1
370
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
520
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
How GitHub (no longer) Works
holman
316
150k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
Transcript
PHPハウトゥ ー実際のサイトからの視点ー 第1回山陰PHP勉強会 山陰ペチパーズ 藤原慎太郎 2016/10/01
今日は、ちょっとしたPHPテクを紹介します。 私は、PHP を趣味で楽しんでいる人です。 AWS を個人で契約して Web サーバをたてて、全世界に情報を発信しています。 (来てくれた人に話すことを話す) では、始めます。
情報発信に大切なもの ー 動機と継続 動機 全ての要求の源であり、継続性を保つための原動力 これやりたい、あんなことしたい、できたら楽しそう 継続 ポテンシャルを維持して改善していくために必要 動機の源を断ち切らせない
動機 ー 何が動機になりうるか? それが好きだから 自分を知ってほしいから 感動を共有したいから
継続 ー 動機を断ち切らせない 自分自身が楽しくいられる 発見がある 変化を取り入れられる
これらを満たすもの ー 楽しくておもしろい ー PHPじゃろ
このサイト・・・そうなんです、PHP使ってます
ページのコンセプト あらゆるヘヴィメタバンドの あらゆる youtube 映像がエンドレスで流れる。 業界の最新情報がわかる バンド検索機能がある アーティストの詳細がわかる コンサート情報や、日本のヘヴィメ情報がわかる 主に日本からの多くのアクセスを期待
ページの現状 約300のヘヴィメタバンドの 約1900曲の youtube 映像がエンドレスで流れる(最近、使 用しているGoogle API が obsolete になり、ループしなくなった(現在修正中))。
業界の最新情報がイケてない翻訳で表示される。 バンド検索すると、検索結果が表示されクリックするとバンドの画像が流れる。 アーティストの詳細はほとんど入っていない。 コンサート情報や、日本のヘヴィメ情報は、数年前から入っていない。 誰も見に来ない。アクセスの9割以上は自分。
今日紹介できるこのページのテク ここです
今日紹介できるこのページのテク a を入れます。ボタンはないので、た だ入れるだけです。
今日紹介できるこのページのテク an を入れます。
このサーバは AWS t2.micro (Memory 1GB, HD 7.9 GB) 約月25$ 上に構築した、Fedora24
(SELinux 有効)をベースに 、以下のソフトを入れている(関係あるもの)。 httpd-2.4.23-4.fc24.x86_64 php-5.6.25-1.fc24.x86_64 postgresql-9.5.4-1.fc24.x86_64 DNSは、no-ip (無料)を利用。1ヵ月に1回、再設定が必要。
ここで出しているのは、単なるバンド名 a を入れます。ボタンはないので、た だ入れるだけです。
では、実際のコードはどうつくったのか。 2013年に私が作りました(すっかり忘れている)。 2016年の今日、思い出しながら解説します。
今日のお話ー私は以下の機能をどう作ったか 1 検索窓に入れるたびに結果が表示される 2 youtube data api の検索機能を使って、ビデオ をループさせる
1 検索窓に入れるたびに結果が表示される
ここでの MVC Model - ヘヴィメタバンドのデータ(PostgreSQL) View - HTML、Smarty2、jQuery Control -
PHP、Ajax ちなみに、このサイトでは、Web フレームワークは 使っていない
http://heavymetalhardrock.no-ip.info/ にアクセスすると、AWS上のサーバの httpd.conf の設定により、/var/www/html/index.php を叩く。 <?php require_once "/var/www/Smarty/HeavymetalhardrockSmarty.class.php"; $o_smarty =
new MySmarty(); …(snip)... $o_smarty->display("index.tpl");
では、/var/www/Smarty/HeavymetalhardrockSmarty.class.php を見てみる。
では、/var/www/Smarty/heavymetalhardrock/templates/index.tpl を見てみる。
/var/www/Smarty/heavymetalhardrock/templates/index.tpl クリックすると、showBandNull(); が呼 び出される。
/var/www/Smarty/heavymetalhardrock/templates/index.tpl 何か文字を入力すると、loadListCount() と、loadList() が呼び出される。
/var/www/Smarty/heavymetalhardrock/templates/index.tpl loadListCount() は、入力文字を PHP スクリプトに引き渡し、#output に表示する。 loadList() は、同じく、入力文字を PHP スクリプトに引渡し、#bandList
の子オブジェク トを消去して、#bandList に表示する。
/var/www/Smarty/heavymetalhardrock/templates/index.tpl 入力文字は、loadListCount() により PHP スクリプトに引き渡され、PHPスクリプトは結 果を #output に表示する。同じく、loadList() により 別のPHP
スクリプトに引き渡され、 そのPHPスクリプトは、#bandList の子オブジェクトを消去して、結果を #bandList に表 示する。
/var/www/Smarty/heavymetalhardrock/templates/index.tpl では、PHPスクリプトを見てみます。 php/loadListCount.php php/loadList.php
/var/www/heavymetalhardrock/php/loadList.php PHPスクリプト自体は、大 したことをしていません。 データベースにアクセスし て、テーブルに流すだけで す。
2 youtube data api の検索機能を使って、ビデオ をループさせる
機能:検索文字を入れると、検索結果の video が50件ロードされ、ループ再生する。
使っているGoogle 機能(その1):YouTubePlayer
使っているGoogle 機能(その2):YouTube Data API
使っているGoogle 機能(その2):ここに snippet と入力する
使っているGoogle 機能(その2):ここに 検索文字を入力する(今回は、「 dokken」と入力した)
使っているGoogle 機能(その2):Auth しないで、検索してみる
使っているGoogle 機能(その2):検索結果が表示された ここを参考にして、PHPスクリプ トを作りました。
使っているGoogle 機能(その2):検索結果が表示された 必要な項目をピックアウトできま す。
使っているGoogle 機能(その2):http://heavymetalhardrock.no-ip.info/youtube.php の中身 PHPは、html と一緒に書けま す。 検索文字を受け取っています。
使っているGoogle 機能(その2):http://heavymetalhardrock.no-ip.info/youtube.php の中身 取得したキーを入れます。件 数は最大50件まで可能です。 YouTube Data API の検索結果 のページでやってみたものを元
にコード化しています。
使っているGoogle 機能(その2):http://heavymetalhardrock.no-ip.info/youtube.php の中身 配列に値を代入して、表示を させてみました。 json形式にすることで、 javascript の配列にコピーす ることが可能です。
使っているGoogle 機能(その2):http://heavymetalhardrock.no-ip.info/youtube.php の中身 YouTube Playerの部分で す。 javascript の配列にコピーし ています。
今日のまとめ: 動機:全ての要求の源であり、継続性を保つための原動力 継続:ポテンシャルを維持して改善していくために必要( 動機の源を断ち切らせない) PHPの利点:自由に書ける。ちょっと書くのも、フレームワーク使うのも自由。 教紹介したテク: 1. Ajax, jQuery と連携した検索機能
2. YouTube Data APIを活用した検索機能 紹介したサイト: heavymetalhardrock.no-ip.info 紹介したページ: heavymetalhardrock.no-ip.info/youtube.php 参考にしたページ:資料で上げているページの他、以下のページを主に参考にしました。有益な情報を提供し ていただいていることに感謝申し上げます。 http://www.tam-tam.co.jp/tipsnote/javascript/post6217.html https://syncer.jp/how-to-use-json ちなみに、ページは引き続き改修中です。youtube.php の機能をトップページに取り込む感じです。ではま た。。
終わり 山陰ペチパーズ 藤原慎太郎