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カンファレンス2016 初心者セッション
Search
Hideo Kashioka
November 03, 2016
Technology
8.5k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHPカンファレンス2016 初心者セッション
Hideo Kashioka
November 03, 2016
More Decks by Hideo Kashioka
See All by Hideo Kashioka
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
1.2k
PHP初心者セッション2026 〜ChatGPTと学ぶ、新時代のPHP入門〜
kashioka
1
140
PHP CLIを使って日々の業務を楽に
kashioka
2
500
PHP初心者セッション〜ChatGPTでゼロから動くプログラムを生み出そう!〜
kashioka
0
220
PHPCON_TOKYO_2019_Bigginer.pdf
kashioka
0
1.1k
ここからはじめるDevOps
kashioka
0
130
DevOpsへの準備 便利なサービスで開発効率アップ -開発のためのSaaS利用の実際-
kashioka
0
340
PHP初心者セッション2017
kashioka
1
4k
どこからはじめるDevOps
kashioka
0
160
Other Decks in Technology
See All in Technology
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
130
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
410
Multica × 長期記憶:40個のミニプロジェクト管理
eiei114
0
190
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.7k
Guerilla InnerSource in enterprises, during the AI hype
onenashev
PRO
0
150
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
150
JAWS-UG初心者支部#88わいわい初心塾(夏休みの宿題やったかGit編)
otsuki
0
150
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
3
970
module Synths; end
asonas
1
120
動画配信アプリでの Engage SDK 導入 — TVer Android が Play ストアにコンテンツを届けるまで
techtver
PRO
0
140
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
260
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
330
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Ruling the World: When Life Gets Gamed
codingconduct
0
320
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The SEO Collaboration Effect
kristinabergwall1
1
550
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
260
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
330
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
Ethics towards AI in product and experience design
skipperchong
2
360
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Between Models and Reality
mayunak
4
450
Being A Developer After 40
akosma
91
590k
Transcript
PHPΧϯϑΝϨϯε2016 PHPॳ৺ऀηογϣϯ ຊPHPϢʔβձ ༗ݶձࣾΞϦʔϓ ദԬɹलஉ
ΞδΣϯμ ࣗݾհ PHPͷจ๏ ࣮ફฤ ͓·͚
ࣗݾհ ༗ݶձࣾΞϦʔϓ WEBγεςϜ։ൃ ͦΕʹ·ͭΘΔͯ͢ ಛʹՐফ͠Λߦ͏͜ͱ͕ଟ͍Ͱ͢
PHPͱ
PHPͱ PHP is a popular general-purpose scripting language that is
especially suited to web development. Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world. http://php.net/ΑΓ
PHPͱ WEB։ൃʹదͨ͠ݴޠ
PHPͷྺ࢙ 1994ʹRasmus͕ΦϯϥΠϯͰެ։͍ͯ͠Δܦྺॻ ͷΞΫηεཤྺΛௐΔͨΊʹΘΕ͍ͯ·ͨ͠ ൴ͦͷεΫϦϓτ܈ΛʮPersonal Home Page Toolsʯͱ໊͚·ͨ͠ɻ http://php.net/manual/ja/history.php.php
PHPͷڥ
LAMP LAPP LEMP Linux Apache MySQL PHP Linux Apache Postgre
PHP Linux Nginx MariaDB PHP ݺͼํ OS+Web Server+Database+Script
ͲΜͳڥͰ͡ΊΔ͔
AWS Microsoft Azure Google App Engine IBM Softlayear
ϗεςΟϯά Ϩϯλϧαʔό
Ծڥ Vmware VirtualBox
खܰʹ͡ΊΔͳΒ XAMPP MAMP
αʔόʔ͍Βͣ cloud9 http://c9.io https://ide.c9.io/kashioka/test
ڥࢥ͍ͷ֎͙͢ʹͰ͖·͢ɻ ͥͻɺࢼͯ͠Έ·͠ΐ͏ɻ
PHPͷ֓ཁ
PHPͷجຊ PHPͷจ๏ײతͰ͢ɻ ଞͷݴޠΛ͍ͬͯͳ͍ํ͕ށ͍·ͤΜɻ WEBߏஙʹ࠷దͳݴޠͰ͢ɻ ࣌ʹ࣮Ͱ͏ʹ৭ʑग़͖ͯ·͢ ※ݸਓͷײͰ͢
PHPλά <?php ?>ɹPHPϞʔυ; HTMLͷλάͷΑ͏ͳΠϝʔδ;
<html> <body> <?php echo "͜Μʹͪ"; ?> </body> </html> Ұ൪͔ΜͨΜͳαϯϓϧ http://localhost:8888/1st.php
֦ுࢠ ϑΝΠϧ໊.php
ߏจ ม$Ͱ࢝·Δ; จ;ͰऴΘΔ ܕએݴͳͲݫີʹߦΘͳͯ͘OK͕ͩޙʑ ໘…… ؆୯ͳαϯϓϧΛݟͯΈ·͠ΐ͏
<?php $a = '͜Μʹͪ'; echo $a;
PHP͔ΒHTMLग़ྗ
<?php echo "<html>"; echo "<body>"; echo "͜ΕPHPͰ͢"; echo "</body>"; echo
"</html>"; http://localhost:8888/sample0.php
݁߹ͨ͠Γܭࢉͨ͠Γ .(υοτʣΛͬͯจࣈྻͷ݁߹ ͕Ͱ͖·͢ɻ ͷԋࢉ+-*/
<?php $a = 1; $b = 2; echo $a +
$b; echo '<br>'; echo $a . $b; http://localhost:8888/sample4.php
<?php $a = "phpcon"; $b = 2015; echo $a .
"/" . $b + 1; http://localhost:8888/sample2.php
PHPͷؔ εΫϦϓτݴޠͷؔ͠Έ͍͢ ͳΜͱͳؔ͘Λ͍֮͑ͯΕOK if foreach strlen htmlspecialchars nl2br mb_convert_encording
if ʙ else (endif) ݅ఆΛߦ͏ ݅Λຬͨ͢ຬͨ͞ͳ͍ͷஅΛߦ͏
<?php if($a) { echo '݅Λຬͨ͢'; } else { echo '݅Λຬͨ͞ͳ͍';
} http://localhost:8888/if.php
<div> <?php if($a): ?> <div id='a'>ຬͨ͢</div> <?php else: ?> <div
id=''>ຬͨ͞ͳ͍</div> <?php endif; ?> </div> http://localhost:8888/div.php
HTMLΈࠐΈܕͷαϯϓϧ Wordpressͷ߹ wp-content/themes/twentysixteen/ header.php
foreach <?php $numbers = array('2','3','4','5','6'); foreach($numbers as $val) { echo
$val; }
htmlspecialchars ˍ"'<>ͱ͍ͬͨHTMLͰҙຯ͋ΔจࣈΛhtmlͷදࣔܗ ࣜʹม͢Δ = javascriptɺෆਖ਼ͳsql࣮ߦʹΑΔηΩϡϦςΟʔϦ εΫΛճආ͢Δɻ ೖྗ͞Εͨσʔλग़ྗ͢Δલʹඞͣ htmlspecialcharsΛ௨͢
htmlspecialchars <?php $new ="<a href='test'>Test</a>"; echo $new; <?php $new ="<a
href='test'>Test</a>"; echo htmlspecialchars($new,ENT_QUOTES); http://localhost:8888/sample3.php
ϑΝΠϧͷಡΈࠐΈ htmlͷྔ࢈ʹศར
require_once <?php require_once('header.html'); require_once('body.html'); require_once('footer.html'); http://localhost:8888/require.php
Λऔಘ͢Δ ೖྗϑΥʔϜ͔Βೖྗ͞Εͨ $_POST http://localhost:8888/get.php?id=123456 $_GET
ͷऔಘ <?php echo $_GET['id']; echo $_POST['id'];
ͷ֬ೝ var_dump()
͜Ε͘Β͍Θ͔ΕOK PHPͷΦϯϥΠϯϚχϡΞϧͷॆ࣮͕ੌ͍ PHPͷྺ࢙ ݴޠϦϑΝϨϯε
࣮ફฤ ੈքͷਓޱϥϯΩϯάΛදࣔ͢ΔϖʔδΛ࡞ͬͯ
σʔλΛ୳͢ ϓϩάϥϜͰѻ͏ͨΊʹCSVTSVͱ͍ͬͨσʔλ ͕खؒΛল͚Δ ΤΫηϧσʔλͰCSVʹग़དྷΔ http://data.worldbank.org/data-catalog/Population- ranking-table
CSVΛಡΈࠐΉ ໊͕ؔΘ͔Βͳ͚ΕͱΓ͋͑ͣݕࡧ
fgetcsvͬͯͷ͕ݟ͔ͭͬͨ http://php.net/manual/ja/function.fgetcsv.php ͕ΜͬͯಡΉͱΘ͔Δ Θ͔Βͳ͚ΕαϯϓϧΛ
αϯϓϧΛͬͯΈΔ ಈ͔ͯ͠ΈΔ http://localhost:8888/1.php csvΛࠩ͠ସ͑ΔͱɺͳΜ͔ग़ͯΔ Θ͔Βͳ͍ͱ͜ΖௐΔ
ௐͯΈͨΒ fopen — ϑΝΠϧ·ͨ URL ΛΦʔϓϯ͢Δ whileϧʔϓɺPHPͰ࠷؆୯ͳλΠϓͷϧʔϓͰ͢ɻ count — มʹؚ·ΕΔͯ͢ͷཁૉɺ
͋Δ͍Φϒ δΣΫτʹؚ·ΕΔԿ͔ͷΛ͑Δ fclose — Φʔϓϯ͞ΕͨϑΝΠϧϙΠϯλΛΫϩʔζ͢Δ ͜ΕΛ౿·͑ͯ
ͳΜͱͳ͘Θ͔ͬͨ
৭ʑௐͯ͠ΈΑ͏ ͕࣌ؒͳ͍ͷͰׂѪͰ͢ http://localhost:8888/fgetcsv.php
<table border=1> <?php ini_set('display_errors',1); $row = 1; if (($handle =
fopen("POP.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { if($data[3]) { echo "<tr>"; echo "<td>" . htmlspecialchars($data[3],ENT_QUOTES) ."</td><td>" . htmlspecialchars($data[4],ENT_QUOTES) . "</td>"; echo "</tr>"; } } fclose($handle); } ?> </table>
ͳΜͱͳ͘ग़དྷͦ͏ͳؾ͕͠·ͤΜ͔ʁ php.netΛݟͳ͕ΒؤுͬͯΈ·͠ΐ͏
֤Ͱ։࠵͞Ε͍ͯΔPHPΧ ϯϑΝϨϯε
࠙ձ ଞͷ։ൃऀεϐʔΧʔͱ͢νϟϯε!
͓קΊॻ੶ ʮ͍ͪΜ͍͞͠PHPͷڭຊʯࢲ͕ॻ͍͍ͯ·͢ɻ ͍·ԿΛ࡞͍ͬͯΔͷ͔Λߟ͑Δ ࣗͰߟ͑Δྗ͕ͭ͘ ਖ਼ޡදΛ͝ࢀߟʹ͍ͯͩ͘͠͞m(__)m
·ͱΊ PHPͷϚχϡΞϧΛੋඇ׆༻͠·͠ΐ͏ ग़ྗʹҙ͠·͠ΐ͏ɻ ೖॻΑ͘બͼ·͠ΐ͏w ා͕͍͚ͬͯ·ͤΜ ༐ؾΛ࣋ͬͯɺΠϯλʔωοτ্ʹϓϩάϥϜΛެ։͠ ͯΈ·͠ΐ͏ɻ
ͱʹ͔͘ॻ͍ͯΈΔʂ Ҏ্
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ ΧϯϑΝϨϯεΛָ͠ΜͰ͍ͩ͘͞ʂ
PHPॳ৺ऀηογϣϯ ༗ݶձࣾΞϦʔϓ ദԬɹलஉ twitter,facebook @kashioka
None