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
970
PHP初心者セッション2026 〜ChatGPTと学ぶ、新時代のPHP入門〜
kashioka
1
140
PHP CLIを使って日々の業務を楽に
kashioka
2
490
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
まちスペース®とデジタルツインと「まちづくり」
hiro_ogi
0
130
ホームラボ紹介
y_sera15
0
210
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
3
25k
도구에서 동료까지: 10년차 AI 스타트업의 AI 적응기
inureyes
PRO
0
230
関東Kaggler会発表資料
takoi
1
260
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
2
450
制約理論(ToC)入門 2026版
recruitengineers
PRO
9
2.6k
Reference-Free Image Quality Assessment for Virtual Try-On via Human Feedback
zozotech
PRO
0
640
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
TypeScript入門 2026
recruitengineers
PRO
3
700
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
280
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
250
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
250
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
580
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Utilizing Notion as your number one productivity tool
mfonobong
4
550
The agentic SEO stack - context over prompts
schlessera
0
870
A Tale of Four Properties
chriscoyier
163
24k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
420
Exploring anti-patterns in Rails
aemeredith
3
470
Product Roadmaps are Hard
iamctodd
55
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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