服務端web開發:PHP簡介以及常見語法
阿新 • • 發佈:2018-02-20
blog tex lan 客戶端 opera 很多 私有屬性 net 生成
服務端web開發
在講解什麽是服務端開發之前,讓我們先思考幾個問題
- 網站訪問:
當我們做好了
.html
的網站,如何讓別人(朋友,用戶)可以訪問到呢?- 使用
U盤拷貝
,QQ發送文件
等直接將文件共享的方式?---不靈活
- 將網站放在服務器上,讓用戶通過網址訪問?---
絕大多數網站的做法
- 使用
-
網站內容更新:
如果用戶每次訪問我們的網站看到的內容都是一樣的,在最初的新鮮勁過去以後估計就再也不想訪問我們的網站了
o(╯□╰)o
,那麽如何去更新網站的內容呢?- 當有內容,圖片,或者界面需要更新是,直接修改
.html
文件?---費時費力
- 通過某種手段,當有新的消息,
自動
的完成網站的更新?---動態網站
- 當有內容,圖片,或者界面需要更新是,直接修改
-
如何實現網站動態化
網站的本質,其實就是一堆按照某種規則排列的字符串而已,如果我們可以通過某種方式,讓電腦
動態
生成這些字符串,是不是就實現了網站的動態化?- 想要讓電腦幹事情,可以通過
編程語言
來實現. 編程語言
的編寫位置為服務器
,因為用戶是問服務器要網站的- 在
服務器
,通過編程語言
讓用戶訪問的網站動態化
叫做:服務端web開發
- 想要讓電腦幹事情,可以通過
-
可選開發方式: 雖然基本上所有可以返回
字符串
的編程語言都能夠實現這個功能,目前市場主流開發語言有:Java
,PHP
,ASP.Net
,Ruby
,Python
,Erlang
等.雖然可以選擇的開發語言有很多種,但是本質都是一樣的:當用戶訪問網站了,根據`某些邏輯`,生成對應的`HTML,CSS,JS`代碼給用戶
PHP簡介
PHP在眾多的編程語言中,是比較容易上手,結合我們搭建的
WAMP
環境就能夠開始學習了
- PHP代碼執行方式:
服務端web編程
寫好的代碼,需要通過瀏覽器訪問服務器
,在服務器端
執行,然後返回給用戶結果,如果直接使用瀏覽器打開,就會解析為文本
PHP常見語法
註,這裏只列舉常用的
PHP
語法,更為詳細的語法教程可以查閱w3cschool_PHP教程
-
文件定義,註釋: PHP文件以
.php
結尾,代碼的編寫位置在<?php 寫在這裏?>
.註釋的寫法跟js
一致<?php //這是單行註釋 /* 這是多行註釋 */ ?>
-
PHP變量規則:
- 變量以
$
符號開頭,其後是變量的名稱 - 變量名稱必須以字母或下劃線開頭
- 變量名稱不能以數字開頭
- 變量名稱只能包含字母數字字符和下劃線(
A-z
、0-9
以及_
) - 變量名稱對大小寫敏感
- 變量以
// 變量以`$`符號開頭,其後是變量的名稱 // 變量名稱必須以字母或下劃線開頭 $a; $b; $a1; $_abc; // 變量名稱不能以數字開頭 // 變量名稱只能包含字母數字字符和下劃線(`A-z`、`0-9` 以及` _`) // 下面這些是錯誤的變量定義 $1; $哈哈; $^&*; //變量名稱對大小寫敏感(`$y` 與`$Y` 是兩個不同的變量) // 下面定義的兩個變量是不同的,大寫,小寫x $x; $X;
- 數據類型
PHP
支持的數據類型包括:字符串,整數,浮點數,布爾,數組,對象,NULLL(註:由於對象中可以使用函數,故對象的語法在下文中會提及)- 定義字符串時需要註意:
- 單引號:
``
內部的內容只是作為字符串 - 雙引號:
""
如果內部是PHP
的變量,那麽會將該變量的值解析
- 單引號:
- 字符串連接:不同於
JavaScript
,PHP
中使用.
進行連接
- 定義字符串時需要註意:
// 字符串 $str = ‘123‘; // 字符串連接 $str2 = ‘123‘.‘哈哈哈‘; // 字符串 // 整數 $numA = 1; //正數 $numB = -2;//負數 // 浮點數 $x = 1.1; // 布爾 $a = true; $b = false; // 數組 $arr = array(‘123‘,123)
-
運算符
PHP
中的運算符跟JavaScript
中的基本一致,用法也基本一致- 算數運算符:
+
,-
,/
,*
,%
- 賦值運算符:
x = y
,x += y
,x -= y
註:這裏列舉的並不完全,更為詳細的PHP
運算符教程請查閱w3cschool_PHP運算符
- 算數運算符:
<?php $x=10; $y=6; echo ($x + $y); // 輸出 16 echo ($x - $y); // 輸出 4 echo ($x * $y); // 輸出 60 echo ($x / $y); // 輸出 1.6666666666667 echo ($x % $y); // 輸出 4 ?>
- 函數:
PHP
雖然系統內建了一些函數,但是這不影響我們定義自己的. 函數的作用就是在代碼中可以重復使用的語法塊
,頁面加載的時候不會執行,只有在被調用
的時候才會執行
// 基礎語法 function functionName() { 這裏寫代碼 } // 無參數 無返回值的函數 function sayhi(){ echo "Hello World"; } // 有參數 無返回值的函數 function sayName($name){ echo $name.‘你好哦‘; } // 調用 sayName(‘小狐貍‘); // 有參數,參數有默認值的函數 function sayFood($food=‘西蘭花‘){ echo $food.‘好好吃‘; } // 調用 sayFood(‘西葫蘆‘);// 如果傳入參數,就使用傳入的參數 sayFood();// 如果不傳入參數,直接使用默認值 // 有參數,有返回值的函數 function sum($a,$b){ return $a+$b } sum(1,2);// 返回值為1+2 = 3
- 對象 PHP中允許使用對象這種,自定義數據類型. 使用時必須先聲明,實例化之後才能夠使用
// 定義最基礎的類 class Fox{ public $name = ‘itcast‘; public $age = 10; } $fox = new $fox; // 對象屬性取值 $name = $fox->name; // 對象屬性賦值 $fox->name = ‘小狐貍‘; // 帶構造函數的對象 class fox{ // 私有屬性,外部無法訪問 var $name = ‘小狐貍‘; // 定義方法 用來獲取屬性 function Name(){ return $this->name; } // 構造函數,可以傳入參數 function fox($name){ $this->name = $name } } // 定義了構造函數 需要使用構造函數初始化對象 $fox = new fox(‘小狐貍‘); // 調用對象方法,獲取對象名 $foxName = $fox->Name();
- 內容輸出:
echo
:PHP
語句直接使用即可,輸出字符串print_r()
:函數
輸出復雜數據類型,比如數組,對象var_dump()
:函數
輸出詳細信息,如對象、數組
$arr =array(1,2,‘123‘); echo‘123‘; // 結果為 123 print_r($arr); // 結果為 Array ( [0] => 1 [1] => 2 [2] => 123 ) var_dump($arr); /* 結果為 array 0 => int 1 1 => int 2 2 => string ‘123‘ (length=3) */
- 循環語句: 這裏只列舉了
foreach
,for
循環
// for 循環 for ($x=0; $x<=10; $x++) { echo "數字是:$x <br>"; } // foreach 循環 $colors = array("red","green","blue","yellow"); // 參數1為循環的對象,參數2會將對象的值挨個取出,直到最後 // 如果循環的是對象的話,輸出的是對象屬性的值 foreach ($colors as $value) { echo "$value <br>"; } 輸出結果為 /* red green blue yellow */
header()
函數 用來向客戶端(瀏覽器)發送報頭,如果出現中文無法顯示,可以嘗試在PHP
代碼頂部添加 如下代碼
header("content-type:text/html; charset=utf-8")
服務端web開發:PHP簡介以及常見語法