PHP初步

      PHP,即“PHP: Hypertext Preprocessor”,是一種被廣泛使用的開放源代碼多用途腳本語言,尤其適用於 web 開發並可以嵌入到 HTML 中去。其語法利用了 C,Java 和 Perl,非常容易學習。該語言的主要目標是讓 web 開發人員可以很快寫出動態生成的網頁,但 PHP 的功能遠不止如此。

上面是引用PHP手冊上面的一句開場白。爲什麼PHP這麼流行?以我個人的觀點:

1.免費
2.語法簡單
3.效率高
4.擴展性強
5.是從perl和C語言發展過來的
6.有很多好的"夥伴"。如linux,apache,mysql

      當然在這個web技術如日中天的時期,很多新的技術在某些方面比它強出了不少,又有大的廠商支持。但它仍然沒有被壓迫下去其實最主要的就是因爲其免費。遵循了GNU協議。LAMP即Linux+Apache +Mysql +Php。

 

         什麼是 PHP

       PHP 是一種伺服端描述語言,用來製作動態網頁。當一個網客開網頁時,伺服端便會處理 PHP 指令,然後把其處理結果送到網客的網頁瀏覽器上面。就好像 ASP 或者是 ColdFusion 一樣。然而,PHP ASP 或者是 ColdFusion 不一樣的地方在於,它是開放原始碼 Open Source 而且是跨平臺的。PHP 可以在 Windows NT 以及很多不同的 Unix 版本執行,它也可以被建成一個 Apache 模組,或者是一個 CGI 的二元案(binary)。當被建成一個 Apache 模組時,PHP 是特別的輕巧而快速。在這種情況下,它沒有繁瑣的程序生的負擔,因此可以很快的把結果跑出來,而且你也不需要特別為了保持伺服器不會佔太大的記憶體空間,而去調整 mod_perl

    除了能用來生你的網頁的容之外,PHP 也可以用來傳送 HTTP 表頭(header)。你可以設定 cookies,做授權管理,以及將使用者重新導向至新的頁面(redirect users)。它也提供了優良的資料庫連結功能(還有 ODBC 的連結功能),另外還有提供與各式各樣的外部案庫(library),可以讓你用來做幾乎所有的事情,上至 PDF 文件,下至解析 XML

PHP 程式碼就在你的網頁中,因此你不必為它建立一個開發環境或整合性開發環境(IDE)。你用 <?php 開始一段 PHP 程式,然後以 ?> 做結束。(你也可以將 PHP 設定成使用 ASP 形式的 <% %> tag 甚至是用 <SCRIPT LANGUAGE="php"></SCRIPT>。) PHP 引擎會處理 tag 之間的任何東西。

PHP 語言的語法跟 C 還有 Perl 很像。在使用變數前,你不必先宣告他們。要建立陣列(array)以及雜湊(hash)或關聯性陣列也很快。 PHP 甚至還有一些基本的物件導向功能,幫助你組織以及封裝(encapsulate)你的程式。

雖然當嵌入 Apache 裡面時,PHP 跑得最快,但是在 PHP 網站上還是有些操作指南教你如何讓它能天衣無縫的與 Microsoft IIS 以及 Netscape Enterprise Server 結合。如果你手邊還沒有 PHP,你可以在它的官方網站下載取得。 你也會在那裡找到一份紀所有 PHP 功能以及特色的手冊。

PHP 語法
PHP
的基本語法看起來很熟悉。

<?php
echo "Hello, World!";
?>

生如下結果

Hello, World!
變數則以 $ 為開端。你可以將上面的 "Hello, World!" 寫成這樣:

<?php
$message = "Hello, World!";
echo $message;
?>

字串的串聯(concatenation)則是用 .(一個英文句點)標示出來;其他有關數字的運算符號就如同你所預期的一樣:

<?php
$greeting = "Hello ";
$num = 3 + 2;
$num++;
echo "$greeting $num peop

生如下結果

Hello 6 people!
PHP
有全套的運算元(operator),它們的運作方式就如同你所預期的一樣 -- 特別是當你有 C 或者 C++ 的知識背景時。使用 PHP 的最高指導原則:「有疑問時,先試看看;你可能會成功。」

正如 Perl 一樣,一個字串用雙引號括起來,會使得其中的變數被置換(interpolate),而如果以單引號括起來,則變數不會被置換。因此,

<?php
$name = 'Susannah';
$greeting_1 = "Hello, $name!";
$greeting_2 = 'Hello, $name!';
echo "$greeting_1/n";
echo "$greeting_2/n";
?>

產生如下結果

Hello, Susannah!
Hello, $name!

注意一下,字串中 /n 字元是換行符號,就跟 Perl C 一樣。不過這只在以雙引號括起來的字串內纔有效。

變數
PHP
可以讓你把環境變數當作一般變數使用。這包括伺服器為了一個 CGI 程式所設定的環境變數(即使當你以模組的方式執行 PHP,也是如此)。因此, 如果這個網頁 "http://www.domain.com/farm/cattle/cow-cow.cow.html" 包含以下程式碼

<?php
echo "[$REQUEST_URI]";
?>

它會印出 [/farm/cattle/cow-cow-cow.html]

陣列(array
你用方形括弧([ and ]), 指定陣列(一般或關聯性)的索引:

$fruit[0] = 'banana';
$fruit[1] = 'papaya';
$favorites['animal'] = 'turtle';
$favorites['monster'] = 'cookie';

如果你授與陣列一些值,但是索引是空白的,PHP 會把這個值所代表的物件設定到陣列的尾端。上面所列有關 $fruit 這個變數,以下面的方式授與變數值,其結果是一樣的:

$fruit[] = 'banana';
$fruit[] = 'papaya';
你也可以用多維陣列:

$people['David']['shirt'] = 'blue';
$people['David']['car'] = 'minivan';
$people['Adam']['shirt'] = 'white';
$people['Adam']['car'] = 'sedan';

一個建立陣列的捷徑為

array()
函數:

$fruit = array('banana','papaya');
$favorites = array('animal' => 'turtle',
'monster' => 'cookie);

你也可以

$people = array ('David' => array('shirt' => 'blue',
'car' => 'minivan'),
'Adam' => array('shirt' => 'white',
'car' => 'sedan'));

count()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章