首頁 > 後端開發 > php教程 > 您的第一個PHP代碼

您的第一個PHP代碼

William Shakespeare
發布: 2025-02-09 12:49:08
原創
276 人瀏覽過

Your First PHP Code

PHP核心概念速覽

  • 服務器端語言: PHP代碼在服務器端執行,而非瀏覽器端,這意味著瀏覽器接收到的僅是標準HTML,避免了瀏覽器兼容性問題,並減輕客戶端負載。
  • 動態網頁生成: PHP嵌入HTML,賦予網頁更強大的動態交互能力,超越了純HTML的靜態呈現。
  • 語句與函數: PHP腳本由一系列以分號結尾的語句構成,語句中可調用函數並傳入參數以實現多樣化功能。
  • 分隔符: <?php?> 標記PHP代碼塊的起始與結束,服務器解析此區域的代碼並將其轉換為HTML。
  • 多語言協同: PHP可與HTML、CSS、JavaScript以及SQL數據庫等技術無縫集成,是全能型Web開發工具。

初探PHP:編寫您的第一個PHP腳本

搭建好虛擬服務器後,讓我們開始您的第一個PHP腳本之旅。 PHP作為服務器端語言,可能與您熟悉的客戶端語言(如HTML、CSS、JavaScript)有所不同。

服務器端語言類似於JavaScript,允許您將小程序(腳本)嵌入網頁的HTML代碼中。執行這些程序後,您可以比僅使用HTML獲得對瀏覽器窗口中顯示內容的更大控制權。 JavaScript與PHP的關鍵區別在於執行這些嵌入式程序的網頁加載階段。

客戶端語言(如JavaScript)在從Web服務器下載網頁(包括嵌入式程序)後由Web瀏覽器讀取和執行。相反,服務器端語言(如PHP)由Web 服務器 在將網頁發送到瀏覽器之前運行。客戶端語言讓您控制頁面在瀏覽器顯示後的行為方式,而服務器端語言則允許您在頁面發送到瀏覽器之前動態生成自定義頁面。

Web服務器執行嵌入在網頁中的PHP代碼後,結果將替換頁面中的PHP代碼。瀏覽器在接收頁面時看到的只是標準HTML代碼,因此被稱為“服務器端語言”。讓我們來看一個簡單的PHP示例,該示例生成一個1到10之間的隨機數,然後將其顯示在屏幕上:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>随机数</title>
</head>
<body>
    <p>生成1到10之间的随机数:</p>
    <?php 
    echo rand(1, 10);
    ?>
</body>
</html>
登入後複製
登入後複製
登入後複製

大部分代碼是純HTML。只有<?php?> 之間的行是PHP代碼。 <?php 標記嵌入式PHP腳本的開始,?> 標記其結束。 Web服務器被要求解釋這兩個分隔符之間的所有內容,並在將其發送到請求瀏覽器的網頁之前將其轉換為常規HTML代碼。如果您在瀏覽器中右鍵單擊並選擇“查看源代碼”(文本可能因您使用的瀏覽器而異),您可以看到瀏覽器顯示以下內容:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>随机数</title>
</head>
<body>
    <p>生成1到10之间的随机数:</p>
    <?php 
    echo rand(1, 10);
    ?>
</body>
</html>
登入後複製
登入後複製
登入後複製

請注意,所有PHP代碼的痕跡都消失了。取而代之的是腳本的輸出,它看起來就像標準HTML。此示例演示了服務器端腳本的幾個優點……

  • 無瀏覽器兼容性問題。 PHP腳本僅由Web服務器解釋,因此無需擔心您使用的語言功能是否受訪問者的瀏覽器支持。
  • 訪問服務器端資源。 在上面的示例中,我們將Web服務器生成的隨機數放入網頁中。如果我們使用JavaScript插入數字,則數字將在瀏覽器中生成,並且有人可能會修改代碼以插入特定數字。當然,服務器端資源利用的更令人印象深刻的示例包括插入從MySQL數據庫中提取的內容。
  • 減少客戶端負載。 JavaScript可能會顯著延遲網頁的顯示(尤其是在移動設備上!),因為瀏覽器必須在顯示網頁之前運行腳本。使用服務器端代碼,此負擔將轉移到Web服務器,您可以根據應用程序的要求(以及您的錢包承受能力)使其變得強大。
  • 選擇。 當編寫在瀏覽器中運行的代碼時,瀏覽器必須了解如何運行給定的代碼。所有現代瀏覽器都理解HTML、CSS和JavaScript。要編寫在瀏覽器中運行的某些代碼,您必須使用這些語言之一。通過運行在服務器上生成HTML的代碼,您可以選擇多種語言——其中一種是PHP。

基本語法和語句

如果您了解JavaScript、C、C 、C#、Objective-C、Java、Perl或任何其他C派生語言,那麼PHP語法將非常熟悉。但如果您不熟悉這些語言,或者您是編程新手,也無需擔心。

PHP腳本由一系列命令或語句組成。每個語句都是一條指令,Web服務器必須在繼續執行下一條指令之前遵循該指令。與上述語言中的語句一樣,PHP語句始終以分號(;)結尾。

這是一個典型的PHP語句:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>随机数</title>
</head>
<body>
    <p>生成1到10之间的随机数:</p>
    7
</body>
</html>
登入後複製
登入後複製

這是一個echo語句,用於生成內容(通常是HTML代碼)以發送到瀏覽器。 echo語句只是獲取給定的文本並將其插入到包含它的PHP腳本位置的頁面HTML代碼中。

在這種情況下,我們提供了一個要輸出的文本字符串:這是一個測試! 。請注意,文本字符串包含HTML標記(<code><strong><code></strong>),這是完全可以接受的。

因此,如果我們將此語句放入完整的網頁中,則生成的代碼如下:

echo '这是一个<strong>测试</strong>!';
登入後複製
登入後複製

如果您將此文件放在Web服務器上,然後使用Web瀏覽器請求它,您的瀏覽器將接收此HTML代碼:




    
    测试页面


    

<?php echo '这是一个<strong>测试</strong>!'; ?>

登入後複製
登入後複製

我們之前看到的random.php示例包含一個稍微複雜的echo語句:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>随机数</title>
</head>
<body>
    <p>生成1到10之间的随机数:</p>
    <?php 
    echo rand(1, 10);
    ?>
</body>
</html>
登入後複製
登入後複製
登入後複製

您會注意到,在第一個示例中,PHP被賦予一些直接打印的文本,在第二個示例中,PHP被賦予一條要遵循的指令。 PHP嘗試讀取引號之外存在的任何內容作為它必須遵循的指令。引號內的任何內容都被視為字符串,這意味著PHP根本不會處理它,而只是將其傳遞給您調用的命令。因此,以下代碼將字符串“這是一個測試!”直接傳遞給echo命令:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>随机数</title>
</head>
<body>
    <p>生成1到10之间的随机数:</p>
    7
</body>
</html>
登入後複製
登入後複製

字符串使用起始引號和結束引號來表示。 PHP將看到第一個'作為字符串的開始,並找到下一個'並將其用作字符串的結尾。

相反,以下代碼將首先運行內置函數rand以生成隨機數,然後將結果傳遞給echo命令:

echo '这是一个<strong>测试</strong>!';
登入後複製
登入後複製

您可以將內置函數視為PHP無需您詳細說明即可執行的任務。 PHP有許多內置函數,可讓您執行從發送電子郵件到使用各種類型的數據庫中存儲的信息的所有操作。

PHP不會嘗試理解字符串。它們可以包含任何字符,以任何順序排列。但是代碼——本質上是一系列指令——必須遵循嚴格的結構才能讓計算機理解它。

當您在PHP中調用函數——即要求它執行其工作時——據說您正在調用該函數。大多數函數在被調用時會返回值;然後PHP的行為就像您實際上只是在代碼中鍵入了該返回值一樣。在echo 'rand(1, 10)';示例中,我們的echo語句包含對rand函數的調用,該函數將隨機數作為文本字符串返回。然後,echo語句輸出函數調用返回的值。

PHP中的每個函數都可以有一個或多個參數,這些參數允許您使函數以略微不同的方式運行。 rand函數採用兩個參數:最小隨機數和最大隨機數。通過更改傳遞給函數的值,您可以更改其工作方式。例如,如果您想要一個1到50之間的隨機數,您可以使用以下代碼:




    
    测试页面


    

<?php echo '这是一个<strong>测试</strong>!'; ?>

登入後複製
登入後複製

您可能想知道為什麼我們需要用括號((1, 50))括起參數。括號有兩個作用。首先,它們表示rand是一個您想要調用的函數。其次,它們標記參數列表的開始和結束——您希望提供的PHP語句——以便告訴函數您希望它做什麼。對於rand函數,您需要提供最小值和最大值。這些值用逗號分隔。

稍後,我們將查看採用不同類型參數的函數。我們還將考慮根本不採用任何參數的函數。即使它們之間沒有任何內容,這些函數仍然需要括號。

(以下為FAQ部分,由於篇幅限制,我將只保留問題和簡短的回答概要。完整的FAQ回答請參考原文。)

PHP代碼常見問題解答 (FAQ)

  • PHP分隔符的意義是什麼? <?php?> 用於標記PHP代碼塊的開始和結束,服務器據此解析PHP代碼。

  • 如何編寫我的第一個PHP程序? 創建.php文件,在<?php ?>內編寫PHP代碼,例如echo "Hello, World!";

  • PHP在Web開發中的作用是什麼? PHP用於創建動態交互式網頁,處理數據庫、用戶會話、表單等。

  • PHP如何與HTML交互? PHP代碼嵌入HTML的<?php ?>中,服務器處理後將結果輸出為HTML。

  • PHP代碼初學者常犯的錯誤有哪些? 忘記關閉字符串或括號,分號使用不當,函數語法錯誤等。

  • 如何調試PHP代碼? 使用echoprint輸出變量值,或使用Xdebug等調試工具。

  • 如何保護PHP代碼安全? 驗證和清理用戶輸入,使用安全哈希算法存儲密碼,更新PHP版本,使用HTTPS連接等。

  • PHP可以與其他編程語言一起使用嗎? 可以,例如與HTML、CSS、JavaScript和SQL數據庫。

  • 如何提高PHP代碼的性能? 使用高效算法和數據結構,最小化數據庫查詢,使用緩存技術等。

  • 有哪些學習PHP的資源? PHP官方網站(php.net),在線課程,書籍和教程等。

以上是您的第一個PHP代碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板