1. PHPãšã¯
PHPã¯ããŠã§ãéçºã«ç¹åããããã°ã©ãã³ã°èšèªã®äžã€ã§ãå€ãã®ãŠã§ããµã€ããã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããŠããŸãããã®äººæ°ã®çç±ã¯ãç°¡åã«åŠã¹ãããšãé«ãæè»æ§ããããŠãªãŒãã³ãœãŒã¹ã§ããããšãããå€ãã®éçºè ã«æ¯æãããŠããããã§ãã
1.1. PHPã®æŠèŠãšç¹åŸŽ
PHPã¯ããµãŒããŒãµã€ãã®ã¹ã¯ãªããèšèªãšããŠç¥ãããŠããŸããããã¯ãã¯ã©ã€ã¢ã³ãåŽã§ã¯ãªãããµãŒããŒåŽã§å®è¡ãããããšãæå³ããŸããPHPã¯HTMLãšçµã¿åãããŠäœ¿çšãããããšãå€ããåçãªãŠã§ãããŒãžãçæããã®ã«åœ¹ç«ã¡ãŸããç¹ã«ãããŒã¿ããŒã¹ãšã®é£æºãåŸæã§ãMySQLãPostgreSQLãªã©ã®å€ãã®ããŒã¿ããŒã¹ã·ã¹ãã ãšã®çµ±åã容æã§ãã
ãŸããPHPã¯ãªãŒãã³ãœãŒã¹ã§ãããç¡æã§äœ¿çšããããšãã§ããŸããããã«ãããå€ãã®éçºè ãã¢ã¯ã»ã¹ããå ±åã§éçºãæ¹åãè¡ã£ãŠããŸãã
1.2. PHPã®æŽå²ãšæ®å
PHPã¯ã1994幎ã«Rasmus Lerdorfã«ãã£ãŠéçºãããŸãããåœåã¯ãPersonal Home Page ToolsããšããŠç¥ãããŠããŸããããçŸåšã¯ãPHP: Hypertext Preprocessorããšããååž°çãªç¥èªãšããŠç¥ãããŠããŸãã
PHPã®åæã®ããŒãžã§ã³ã¯ããŠã§ããã©ãŒã ããã®ããŒã¿ãåãåãããã®ã·ã³ãã«ãªããŒã«ãšããŠéå§ãããŸãããããããæéãšãšãã«ããã®æ©èœã¯å€§å¹ ã«æ¡åŒµãããçŸåšã§ã¯å®å šãªããã°ã©ãã³ã°èšèªãšããŠã®æ©èœãæã£ãŠããŸãã
PHPã®æ®åã¯ãç°¡åãªåŠç¿æ²ç·ãšãå€ãã®ãã¹ãã£ã³ã°ãµãŒãã¹ã§ã®ãµããŒãã«ãã£ãŠå éããŸãããçŸåšãã€ã³ã¿ãŒãããäžã®ãŠã§ããµã€ãã®å€§éšåãPHPã§åäœããŠãããšèšãããŠããŸãã
2. PHPã®ç°å¢æ§ç¯
PHPã䜿çšããŠãŠã§ãã¢ããªã±ãŒã·ã§ã³ããŠã§ããµã€ããéçºããããã«ã¯ããŸãé©åãªç°å¢ãæ§ç¯ããå¿ èŠããããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãPHPã®ç°å¢æ§ç¯ã«å¿ èŠãªããŒã«ããœãããŠã§ã¢ãããã«ã¯ç°ãªããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ã®ã»ããã¢ããæ¹æ³ããããŠApacheãšã®é£æºæ¹æ³ã«ã€ããŠè©³ãã解説ããŸãã
2.1. å¿ èŠãªããŒã«ãšãœãããŠã§ã¢
PHPã®ç°å¢æ§ç¯ã«ã¯ãããã€ãã®åºæ¬çãªããŒã«ããœãããŠã§ã¢ãå¿ èŠã§ããæãåºæ¬çãªã®ã¯ãPHPã®ã€ã³ã¿ãŒããªã¿ã§ããããã¯ãPHPã®ã³ãŒããå®è¡ããããã®ãã®ã§ãããŸããããŒã¿ããŒã¹ãšã®é£æºãèãããšãMySQLãPostgreSQLãªã©ã®ããŒã¿ããŒã¹ãœãããŠã§ã¢ãå¿ èŠãšãªããŸãã
2.2. WindowsãMacãLinuxã§ã®ã»ããã¢ãã
PHPã®ç°å¢æ§ç¯ã¯ã䜿çšãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãã£ãŠç°ãªãæé ãå¿ èŠã§ãã以äžã«ãåãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããšã®åºæ¬çãªæé ã瀺ããŸãã
Windows: Windowsã§ã®PHPã®ã»ããã¢ããã¯ãXAMPPãWampServerãªã©ã®çµ±åããã±ãŒãžã䜿çšããã®ãäžè¬çã§ãããããã®ããã±ãŒãžã«ã¯ãPHPãApacheãMySQLãªã©ã®å¿ èŠãªãœãããŠã§ã¢ãå«ãŸããŠããŸãã
Mac: Macã§ã¯ãMAMPã䜿çšããããšã§ãç°¡åã«PHPã®ç°å¢ãæ§ç¯ããããšãã§ããŸããMAMPã«ã¯ãPHPãApacheãMySQLãå梱ãããŠããŸãã
Linux: Linuxã®å€ãã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã«ã¯ãããã©ã«ãã§PHPãã€ã³ã¹ããŒã«ãããŠããŸãããã ããææ°ããŒãžã§ã³ã䜿çšããå Žåããç¹å®ã®æ¡åŒµæ©èœãè¿œå ããå Žåã¯ãæåã§ã®ã€ã³ã¹ããŒã«ãèšå®ãå¿ èŠãšãªãå ŽåããããŸãã
2.3. Apacheãšã®é£æº
Apacheã¯ãäžçã§æãåºã䜿çšãããŠãããŠã§ããµãŒããŒãœãããŠã§ã¢ã®äžã€ã§ããPHPãšApacheãé£æºãããããšã§ãåçãªãŠã§ãããŒãžã®çæããããŒã¿ããŒã¹ãšã®é£æºãªã©ãå€ãã®æ©èœãå®çŸããããšãã§ããŸããApacheãšPHPãé£æºãããããã«ã¯ãmod_phpãšããã¢ãžã¥ãŒã«ã䜿çšããŸãããã®ã¢ãžã¥ãŒã«ãæå¹ã«ããããšã§ãApacheã¯PHPã®ã¹ã¯ãªãããçŽæ¥å®è¡ããããšãã§ããããã«ãªããŸãã
3. PHPã®åºæ¬æ§æ
PHPã®é åã®äžã€ã¯ããã®ã·ã³ãã«ã§çŽæçãªæ§æã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãPHPã®åºæ¬çãªæ§æã«ã€ããŠãã¹ã¯ãªããã®æžãæ¹ããå€æ°ãæååã®æäœããããŠå¶åŸ¡æ§é ã«ã€ããŠè©³ãã解説ããŸãã
3.1. PHPã¹ã¯ãªããã®æžãæ¹
PHPã¹ã¯ãªããã¯ã<?php
ãš ?>
ã®éã«èšè¿°ãããŸãããã®ã¿ã°ã®éã«æžãããã³ãŒãã¯ããµãŒããŒäžã§PHPãšããŠå®è¡ãããçµæããã©ãŠã¶ã«éä¿¡ãããŸããäŸãã°ãecho
é¢æ°ã䜿çšããŠã”Hello, World!”ãšããã¡ãã»ãŒãžã衚瀺ããããšãã§ããŸãã
<?php
echo "Hello, World!";
?>
3.2. å€æ°ãšããŒã¿å
PHPã®å€æ°ã¯ã$
èšå·ã§å§ãŸããŸããPHPã¯åçåä»ãèšèªã§ãããããå€æ°ã®å®£èšæã«ããŒã¿åãæå®ããå¿
èŠã¯ãããŸãããå€æ°ã«å€ã代å
¥ãããšãPHPã¯èªåçã«ãã®ããŒã¿åãå€æããŸãã
äž»ãªããŒã¿åã«ã¯ãæŽæ°ãæµ®åå°æ°ç¹æ°ãæååãé åããªããžã§ã¯ããªã©ããããŸãã
3.3. æååã®æäœ
PHPã«ã¯ãæååãæäœããããã®å€ãã®é¢æ°ãçšæãããŠããŸããäŸãã°ãstrlen()
é¢æ°ã䜿çšããŠãæååã®é·ããååŸããããšãã§ããŸãããŸããstr_replace()
é¢æ°ã䜿çšããŠãæååå
ã®ç¹å®ã®æåãå¥ã®æåã«çœ®ãæããããšãã§ããŸãã
3.4. æ¡ä»¶åå²ãšã«ãŒã
PHPã§ã¯ãif
ãelse
ãelseif
ã䜿çšããŠæ¡ä»¶åå²ãè¡ãããšãã§ããŸãããŸããfor
ãwhile
ãªã©ã®ã«ãŒãæ§é ã䜿çšããŠãç¹å®ã®æ¡ä»¶ãæºãããããŸã§åãã³ãŒããç¹°ãè¿ãå®è¡ããããšãã§ããŸãã
äŸãã°ã1ãã10ãŸã§ã®æ°åã衚瀺ããã«ã¯ãfor
ã«ãŒãã䜿çšããŸãã
<?php
for ($i = 1; $i <= 10; $i++) {
echo $i . "
";
}
?>
4. PHPã§ã®ããŒã¿æäœ
PHPã¯ããŒã¿æäœã®é¢ã§éåžžã«åŒ·åã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãé åã®åºæ¬ããæ¥ä»ãšæå»ã®ååŸã»æäœããããŠãã¡ã€ã«ã®èªã¿æžãã«é¢ããæ¹æ³ãŸã§ãPHPã§ã®ããŒã¿æäœã®åºæ¬ãåŠã³ãŸãã
4.1. é åã®åºæ¬
é åã¯ãè€æ°ã®å€ãäžã€ã®å€æ°ã«æ ŒçŽããããã®ããŒã¿æ§é ã§ããPHPã®é åã¯ãã€ã³ããã¯ã¹é åãšé£æ³é åã®2ã€ã®äž»èŠãªã¿ã€ãããããŸãã
ã€ã³ããã¯ã¹é åã¯ãæ°åã§ã€ã³ããã¯ã¹åããã0ããå§ãŸããŸããäžæ¹ãé£æ³é åã¯ååä»ãã®ããŒã䜿çšããŠå€ã«ã¢ã¯ã»ã¹ããŸãã
<?php
$colors = array("red", "green", "blue");
echo $colors[1]; // green
$age = array("John" => 25, "Anna" => 28);
echo $age["John"]; // 25
?>
4.2. æ¥ä»ãšæå»ã®ååŸã»æäœ
PHPã«ã¯ãæ¥ä»ãšæå»ãååŸã»æäœããããã®å€ãã®é¢æ°ãçšæãããŠããŸããäŸãã°ãdate()
é¢æ°ã䜿çšããŠãçŸåšã®æ¥ä»ãæå»ãååŸããããšãã§ããŸãã
<?php
echo date("Y-m-d H:i:s"); // 2023-08-22 12:34:56
?>
ããã«ãstrtotime()
é¢æ°ã䜿çšããŠãæåå圢åŒã®æ¥ä»ãã¿ã€ã ã¹ã¿ã³ãã«å€æããããšãã§ããŸãã
4.3. ãã¡ã€ã«ã®èªã¿æžã
PHPã䜿çšããŠããµãŒããŒäžã®ãã¡ã€ã«ãèªã¿æžãããããšãã§ããŸããããã«ã¯ãfopen()
ãfwrite()
ãfread()
ãªã©ã®é¢æ°ã䜿çšããŸããããã«ããããã°ã®èšé²ãèšå®ãã¡ã€ã«ã®èªã¿èŸŒã¿ãªã©ãå€ãã®æäœãè¡ãããšãã§ããŸãã
äŸãã°ãããã¹ããã¡ã€ã«ãéããŠå 容ãèªã¿åãã«ã¯ã以äžã®ããã«ããŸãã
<?php
$file = fopen("example.txt", "r");
$content = fread($file, filesize("example.txt"));
fclose($file);
echo $content;
?>
5. PHPã®å¿çš
PHPã®åºæ¬çãªæ§æãããŒã¿æäœãç解ãããã次ã¯ãã®å¿çšçãªéšåã«ææŠããŸãããããã®ã»ã¯ã·ã§ã³ã§ã¯ãé¢æ°ã®äœæãå©çšãã¯ãããŒãšã»ãã·ã§ã³ã®ç®¡çããããŠããŒã¿ããŒã¹ãšã®é£æºã«ã€ããŠè©³ãã解説ããŸãã
5.1. é¢æ°ã®äœæãšå©çš
é¢æ°ã¯ãç¹å®ã®ã¿ã¹ã¯ãå®è¡ããããã®ã³ãŒãã®ãŸãšãŸãã§ããé¢æ°ã䜿çšããããšã§ãã³ãŒãã®åå©çšæ§ãé«ããããã°ã©ã ã®æ§é ãæŽçããããšãã§ããŸããPHPã«ã¯å€ãã®çµã¿èŸŒã¿é¢æ°ããããŸãããç¬èªã®é¢æ°ãäœæããããšãå¯èœã§ãã
é¢æ°ã®äœæã¯function
ããŒã¯ãŒãã䜿çšããŸãã以äžã¯ã2ã€ã®æ°å€ãå ç®ããé¢æ°ã®äŸã§ãã
<?php
function add($a, $b) {
return $a + $b;
}
echo add(3, 4); // 7
?>
5.2. ã¯ãããŒãšã»ãã·ã§ã³ã®ç®¡ç
ã¯ãããŒãšã»ãã·ã§ã³ã¯ããŠã§ãã¢ããªã±ãŒã·ã§ã³ã§ãŠãŒã¶ãŒã®æ å ±ãäžæçã«ä¿åããããã®æè¡ã§ããã¯ãããŒã¯ãŠãŒã¶ãŒã®ãã©ãŠã¶ã«ä¿åãããã»ãã·ã§ã³ã¯ãµãŒããŒäžã«ä¿åãããŸãã
PHPã§ã¯ãsetcookie()
é¢æ°ã䜿çšããŠã¯ãããŒãèšå®ãã$_COOKIE
ã¹ãŒããŒã°ããŒãã«å€æ°ã䜿çšããŠã¯ãããŒã®å€ãååŸããããšãã§ããŸããã»ãã·ã§ã³ã®ç®¡çã«ã¯session_start()
é¢æ°ã$_SESSION
ã¹ãŒããŒã°ããŒãã«å€æ°ã䜿çšããŸãã
5.3. ããŒã¿ããŒã¹ãšã®é£æº
ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã®å€ãã¯ãããŒã¿ããŒã¹ãšé£æºããŠåäœããŸããPHPã¯ãMySQLãPostgreSQLãªã©ã®å€ãã®ããŒã¿ããŒã¹ãšã®é£æºãå¯èœã§ãã
äŸãã°ãMySQLãšã®é£æºã«ã¯mysqli
æ¡åŒµã䜿çšããŸããããã䜿çšãããšãããŒã¿ããŒã¹ãžã®æ¥ç¶ããSQLã¯ãšãªã®å®è¡ãçµæã®ååŸãªã©ã®æäœãè¡ãããšãã§ããŸãã
以äžã¯ãããŒã¿ããŒã¹ã«æ¥ç¶ããããŒãã«ããããŒã¿ãååŸããäŸã§ãã
<?php
$connection = mysqli_connect("localhost", "username", "password", "database");
$result = mysqli_query($connection, "SELECT * FROM table_name");
while ($row = mysqli_fetch_assoc($result)) {
echo $row["column_name"];
}
mysqli_close($connection);
?>
6. PHPåŠç¿ã®ããã®ãªãœãŒã¹
PHPã®åŠç¿ã¯ãé©åãªãªãœãŒã¹ãšå®è·µãéããŠå¹æçã«é²ããããšãã§ããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãPHPãåŠã¶ããã®ããããã®ãµã€ããå®è·µçãªãããžã§ã¯ãã®ã¢ã€ãã£ã¢ããããŠãµããŒããåããããšãã§ããã³ãã¥ããã£ã«ã€ããŠçŽ¹ä»ããŸãã
6.1. ããããã®åŠç¿ãµã€ã
ã€ã³ã¿ãŒãããäžã«ã¯ãPHPã®åŠç¿ã«åœ¹ç«ã€å€ãã®ãµã€ãããããŸããç¹ã«åå¿è ã«ãããããªã®ã¯ãPHPå ¬åŒããã¥ã¡ã³ãããW3SchoolsãPHP The Right Wayãªã©ã®ãµã€ãã§ãããããã®ãµã€ãã¯ãåºæ¬çãªæ§æããå¿çšçãªå 容ãŸã§ãå¹ åºãã«ããŒããŠããŸãã
6.2. å®è·µçãªãããžã§ã¯ãã®ã¢ã€ãã£ã¢
åŠç¿ã®é²è¡ãšãšãã«ãå®éã®ãããžã§ã¯ããæãããããšã§ãããæ·±ãç解ãæ·±ããããšãã§ããŸããäŸãã°ãããã°ã·ã¹ãã ã®æ§ç¯ããç°¡æçãªã·ã§ããã³ã°ã«ãŒãã®äœæãæ²ç€ºæ¿ã®éçºãªã©ãèããããŸãããããã®ãããžã§ã¯ããéããŠãããŒã¿ããŒã¹æäœããã©ãŒã ã®åŠçãã»ãã·ã§ã³ç®¡çãªã©ã®æè¡ãå®éã«äœ¿çšããããšãã§ããŸãã
6.3. ã³ãã¥ããã£ãšãµããŒã
PHPã®åŠç¿äžã«çåãåé¡ã«çŽé¢ããå Žåãã³ãã¥ããã£ã®ãµããŒããåããããšãã§ããŸããStack OverflowããPHP.netã®ãã©ãŒã©ã ã¯ãå€ãã®éçºè ã掻åããŠããã質åã«å¯ŸããŠè¿ éã«åçãåããããšãã§ããŸãããŸããå°åã«ãã£ãŠã¯PHPã®ãŠãŒã¶ãŒã°ã«ãŒããååšããå®æçã«ããŒãã¢ãããã»ãããŒãéå¬ãããŠããŸãããããã®ã€ãã³ãã«åå ããããšã§ãä»ã®éçºè ãšã®ãããã¯ãŒã¯ãåºããããšãã§ããŸãã
7. ãŸãšã
ãã®èšäºãéããŠãPHPã®åºç€ããå¿çšãŸã§ã®ããŸããŸãªãããã¯ãåŠã³ãŸãããæåŸã«ãPHPã®åŠç¿ã®ãã€ã³ããä»åŸã®å±æããããŠç¶ç¶çãªåŠç¿ã®éèŠæ§ã«ã€ããŠãŸãšããŠã¿ãŸãããã
7.1. PHPåŠç¿ã®ãã€ã³ã
PHPãå¹æçã«åŠã¶ããã®ãã€ã³ãã¯ãå®è·µãäžå¿ãšããåŠç¿ã§ããçè«ã ãã§ãªããå®éã«æãåãããŠããã°ã©ã ãæžãããšã§ãæ·±ãç解ãåŸãããšãã§ããŸãããŸãããšã©ãŒã¡ãã»ãŒãžã«æ £ããããšã倧åã§ãããšã©ãŒã¯åŠã³ã®äžéšã§ãããããã解決ããéçšã§æ°ããç¥èãæè¡ã身ã«ã€ããããšãã§ããŸãã
7.2. ä»åŸã®PHPã®å±æ
PHPã¯ããŠã§ãéçºã®åéã§é·ãã䜿çšãããŠããŸããããä»åŸããã®å°äœãç¶æããã§ããããç¹ã«ããã¬ãŒã ã¯ãŒã¯ã®çºå±ããéåæåŠçã®ãµããŒããªã©ãæ°ããæè¡ã®å°å ¥ã«ãããããã«å€æ©èœã§é«éãªã¢ããªã±ãŒã·ã§ã³ã®éçºãå¯èœãšãªã£ãŠããŸãã
7.3. ç¶ç¶çãªåŠç¿ã®éèŠæ§
æè¡ã®äžçã¯æ¥ã é²åããŠããŸããPHPãäŸå€ã§ã¯ãããŸãããæ°ããããŒãžã§ã³ã®ãªãªãŒã¹ãæ°æ©èœã®è¿œå ãè¡ããããããç¶ç¶çãªåŠç¿ãå¿ èŠã§ãããŸããã³ãã¥ããã£ããã©ãŒã©ã ã掻çšããŠãææ°ã®æ å ±ããã¬ã³ãããã£ããã¢ããããããšã§ãåžžã«æåç·ã§ã®éçºãç¶ããããšãã§ããŸãã