為什麼選擇 PHP
- 好上手
- 概念簡單
- 語法簡單
- 支援廣泛
- 有成熟的社群
- 根據toibe評比,目前仍是全球前十大熱門語言(扣掉C++之類較少拿來開發網站的語言後更是可以到第一二名)
為什麼不選擇 PHP
- 太多人使用(不夠潮)
- 不夠有系統化
- 自訂性不夠高
- 有時會讓程式碼過於雜亂
- 對於安全性的要求不甚高
- 執行速度並不是非常快
- 語法有時沒有邏輯
使用PHP開發的網站
- Wikipedia
- Slack
- moodle
- dailymotion
- tumblr
- 建中網站
- 各種用WordPress架的網站
- ...
如何執行PHP
環境設定
- Windows: WAMP, XAMPP
- Linux: LAMP
- Mac OS: MAMP
- Other: 自行去php.net下載,並手動設定好Server
基本語法架構
<!DOCTYPE HTML>
<html>
<head>
<title>Jizz</title>
<?
//write your code here
?>
</head>
<body>
<?php
//write your code here
?>
</body>
</html>基本語法
- 每個指令都要加分號;
- 變數命名:一律以$做開頭 (e.g $jizz = 7122;)
- 數值運算:+-*/%... (注意他的/會回傳float)
- 輸出至網頁:echo (e.g echo "JIZZ";)
- 註解:單行註解為//或#,多行註解則為/* */
- 大多數函數則是要用到的時候再去查一下就好了
- 字串串接使用.(e.g "jizz"."7122")
迴圈
<!DOCTYPE HTML>
<html>
<head>
<title>Jizz</title>
</head>
<body>
<?php
for($i = 0;$i<5;$i++){
?>
<div>7122</div>
<?php
}
?>
</body>
</html>迴圈
<!DOCTYPE HTML>
<html>
<head>
<title>Jizz</title>
</head>
<body>
<div>7122</div>
<div>7122</div>
<div>7122</div>
<div>7122</div>
<div>7122</div>
</body>
</html>陣列
<?php
$arr1=array(2, 7122);
$arr2=[2,7122];
$arr3=array(0=>1, 1=>7122);
$arr4[0]=2;
$arr4[1]=7122;
$arr5=array("1"=>2, "jizz"=>7122);
$arr6=array(1=>2, 3, 10=>6, 7);
?>陣列
<?php
$arr=array(
1=>"a",
"1"=>"b",
1.5=>"c",
true=>"d"
);
?>迴圈遍歷陣列
<?php
$arr=array(1,2,3,4);
foreach($arr as $val){
echo $val;
}
?>迴圈遍歷陣列
1234
迴圈遍歷陣列
<?php
$arr=array(1,2,3,4);
foreach($arr as $key => $val){
echo "$key: $val"."\n";
echo '$key: $val'.'\n';
}
?>迴圈遍歷陣列
0: 1
$key: $val\n1: 2
$key: $val\n2: 3
$key: $val\n3: 4
$key: $val\n
Form及一些封包相關
取得form資料
- $_GET[name]
- $_POST[name]
- $_REQUEST[name]
if(isset($_XXX[name])){
//do something
}修改header內容
<?php
header("Location: https://infor.org");
?><?php
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="jizz.pdf"');
readfile('original.pdf');
?><?php
header("HTTP/1.0 404 Not Found");
?>獲得request內容
- Referer:$_SERVER['HTTP_REFERER']
- User Agent:$_SERVER['HTTP_USER_AGENT']
- 使用者IP:$_SERVER['REMOTE_ADDR']
- 使用者method:$_SERVER['REQUEST_METHOD']
Cookie/Session
Cookie操作
<?php
$cookie_name="jizz";
$cookie_value="7122";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?><?php
$cookie_name="jizz";
setcookie($cookie_name, "", time() - 3600);
?>Session操作
<?php
session_start();
$_SESSION['jizz']=7122;
unset($_SESSION['jizz']);
session_destroy();
?>基本概念就講解到這吧
大家可以多多去發掘、多多去創造XD
PHP
By Tommy Chiang
PHP
- 372