PHP網站開發實例教程(第3版) 課件匯 第1-5章 初識PHP-PHP操作MySQL_第1頁
PHP網站開發實例教程(第3版) 課件匯 第1-5章 初識PHP-PHP操作MySQL_第2頁
PHP網站開發實例教程(第3版) 課件匯 第1-5章 初識PHP-PHP操作MySQL_第3頁
PHP網站開發實例教程(第3版) 課件匯 第1-5章 初識PHP-PHP操作MySQL_第4頁
PHP網站開發實例教程(第3版) 課件匯 第1-5章 初識PHP-PHP操作MySQL_第5頁
已閱讀5頁,還剩489頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章初識PHP《PHP網站開發實例教程(第3版)》學習目標/Target

熟悉PHP的概念,能夠描述PHP的作用。

熟悉PHP的特點,能夠歸納PHP的5個特點。

熟悉網站的概念,能夠說出網站發展經歷的3個時代。

熟悉網站的訪問,能夠說出網站的訪問流程。

掌握VisualStudioCode的安裝,能夠獨立安裝和配置VisualStudioCode。學習目標/Target

掌握ApacheHTTPServer的安裝,能夠獨立安裝和配置ApacheHTTPServer。

掌握PHP的安裝,能夠獨立安裝和配置PHP。

掌握虛擬主機的配置,能夠根據需求配置虛擬主機。

掌握訪問權限的設置,能夠根據需求設置虛擬主機的訪問權限。章節概述/SummaryPHP自發布以來,因其能夠快速開發Web應用,具有豐富的函數并且開放源代碼,故在Web應用開發中迅速占據了重要位置。為了使讀者對PHP有初步的認識,本章將對PHP和網站的概念、VisualStudioCode編輯器的安裝、開發環境的搭建和Web服務器的配置進行詳細講解。目錄/Contents1.11.21.3PHP簡介網站簡介搭建開發環境1.4配置Web服務器PHP簡介1.1

先定一個小目標!熟悉PHP的概念,能夠描述什么是PHP。1.1.1PHP概述PHP是一種跨平臺、開源、免費的腳本語言,其語法風格融合了C、Java和Perl的特點。PHP語法簡單、易學,對初學者而言,可以快速入門。1.1.1PHP概述表單解釋器PHP/FIPHP7、PHP8PHP8為了展示個人履歷和統計網頁流量編寫的表單解釋器提供更好的性能和更低的內存消耗,性能顯著提升使用C語言重新編寫表單解釋器,實現對數據庫的訪問1.1.1PHP概述010203123由Windows、ApacheHTTPServer、MySQL以及PHP組成WAMP環境LAMP環境LNMP環境PHP常見的運行環境:由Linux、ApacheHTTPServer、MySQL以及PHP組成由Linux

、Nginx、MySQL以及PHP組成1.1.1PHP概述

先定一個小目標!熟悉PHP的特點,能夠歸納PHP的5個特點。1.1.2PHP的特點1.1.2PHP的特點開源免費跨平臺性面向對象支持多種數據庫快捷性PHP是開源軟件,且擁有龐大的開源社區支持,開發者可以免費使用PHP的跨平臺性很好,方便移植,在Linux平臺和Windows平臺上都可以運行隨著PHP版本的更新,PHP面向對象編程有了顯著改進,能更好支持大型項目開發PHP支持ODBC,使用PHP可以連接任何支持ODBC的數據庫,如MySQL、Oracle、SQLServer和DB2等PHP中可以嵌入HTML,編輯簡單、實用性強、程序開發快網站簡介1.2

先定一個小目標!熟悉網站的概念,能夠說出網站發展經歷的3個時代。1.2.1網站概述1.2.1網站概述網站(Website)是指在因特網上根據一定的規則,使用超文本標記語言(HyperTextMarkupLanguage,HTML)制作的用于展示特定內容的相關網頁集合。常見的網站類型有新聞、視頻、購物、微博、論壇等。1.2.1網站概述網站的發展經歷的3個時代:Web2.0時代也稱為用戶交互時代,以用戶為核心。網站根據用戶的選擇和需求,將數據動態展示給用戶,被稱為動態網站。后端語言用于對后臺邏輯和數據進行處理。Web1.0時代也稱為數據展示時代,以數據為核心。網站主要展示信息,和用戶沒有交互,被稱為靜態網站。靜態網站通過HTML、CSS和JavaScript搭建。Web3.0時代以用戶為主導。系統更加智能,自動匹配用戶所需要的數據。如大數據、人工智能。

先定一個小目標!熟悉網站的訪問,能夠說出網站的訪問流程。1.2.2網站的訪問1.2.2網站的訪問網站的訪問流程:輸入網站地址訪問服務器中的某個資源通過超文本傳輸協議或超文本傳輸安全協議返回給用戶用戶在瀏覽器的地址欄中輸入的訪問地址稱為統一資源定位符(URL)。服務器中每個資源都有URL,用于標識它的位置,通過URL可以快速訪問某個資源。URL的組成:1.2.2網站的訪問在網絡中傳輸數據的協議,常見的有HTTP或HTTPS網絡協議://主機地址:端口資源路徑?參數主機地址:網站服務器的訪問地址,可以通過IP地址或域名訪問端口:訪問服務器的端口,HTTP默認端口80,HTTPS默認端口443資源路徑:服務器中的資源對應的路徑參數:瀏覽器提供的參數信息,形式是“名字=值”,多個參數使用“&”分隔搭建開發環境1.3

先定一個小目標!掌握VisualStudioCode的安裝,能夠獨立安裝和配置VisualStudioCode。1.3.1安裝VisualStudioCodeVisualStudioCode(簡稱VSCode)是由微軟開發的一款代碼編輯器,具有免費、開源、輕量級、高性能、跨平臺等特點。下面講解如何下載、安裝和使用VSCode編輯器。1.3.1安裝VisualStudioCode①打開瀏覽器,訪問VSCode編輯器的官方網站:1.3.1安裝VisualStudioCode單擊該按鈕,會自動識別當前的操作系統并下載相應的安裝包單擊該按鈕,可以下載其他系統的安裝包②查看其他系統版本的下載:1.3.1安裝VisualStudioCode③下載VSCode編輯器的安裝包后,在下載目錄中找到該安裝包:1.3.1安裝VisualStudioCode雙擊安裝包,啟動安裝程序,按照程序提示操作安裝VSCode④啟動VSCode編輯器,進入VSCode編輯器的初始界面:1.3.1安裝VisualStudioCode⑤將VSCode編輯器切換為中文:1.3.1安裝VisualStudioCode⑥重新啟動VSCode編輯器,中文語言擴展才生效。VSCode編輯器的中文界面:1.3.1安裝VisualStudioCode⑦創建D:\www文件夾作為項目的根目錄,在VSCode打開D:\www文件夾,在該文件夾中創建index.html,index.html在編輯器的顯示效果:1.3.1安裝VisualStudioCode

先定一個小目標!掌握ApacheHTTPServer的安裝,能夠獨立安裝和配置ApacheHTTPServer。1.3.2安裝ApacheHTTPServerApacheHTTPServer(簡稱Apache)是Apache軟件基金會發布的一款Web服務器軟件,因其具有開源、跨平臺和高安全性的特點而被廣泛使用。下面講解如何安裝Apache。1.3.2安裝ApacheHTTPServerApache的安裝步驟:1.3.2安裝ApacheHTTPServer獲取Apache準備工作解壓與配置安裝Apache服務啟動Apache服務123451.獲取Apache通常通過官方網站獲取軟件包,但Apache官方網站只提供源代碼,源代碼不能直接安裝,需要先手動編譯才能安裝。手動編譯比較麻煩,選擇從第三方網站獲取編譯好的Apache軟件包。在Apache官方網站中,找到適用于Windows系統的第三方編譯版本的超鏈接:1.3.2安裝ApacheHTTPServer提供的是Apache、MySQL、PHP等軟件的集成包單獨安裝Apache使用這兩個網站提供的軟件包1.獲取Apache以ApacheLounge網站為例,從該網站獲取軟件包:1.3.2安裝ApacheHTTPServer注意:Apache軟件包使用MicrosoftVisualC++2017進行編譯,在安裝Apache前需要先安裝MicrosoftVisualC++2017運行庫。1.3.2安裝ApacheHTTPServer2.準備工作在C盤根目錄下創建一個名稱為web的文件夾,作為開發環境的安裝位置,并在web文件夾中創建apache2.4子文件夾,用于存放Apache的文件。1.3.2安裝ApacheHTTPServer3.解壓與配置①將httpd-2.4.55-win64-VS17.zip中Apache24目錄下的文件解壓到C:\web\apache2.4中。解壓后的Apache目錄結構:1.3.2安裝ApacheHTTPServerbin是Apache的應用程序所在的目錄conf是配置文件目錄htdocs是默認的網站根目錄modules是Apache的動態加載模塊所在的目錄3.解壓與配置②配置服務器根目錄。使用VSCode編輯器打開Apache的配置文件conf\httpd.conf,找到第37行配置并修改:1.3.2安裝ApacheHTTPServerDefineSRVROOT"C:/web/apache2.4"③配置服務器域名。在VSCode編輯器中按“Ctrl+F”組合鍵搜索ServerName,修改配置:ServerName:80多學一招:Apache的常用配置項Apache的常用配置項配置項說明ServerRoot"${SRVROOT}"服務器的根目錄Listen80服務器監聽的端口號,例如80、8080LoadModule需要加載的模塊ServerAdminadmin@服務器管理員的郵箱地址ServerName:80服務器的域名DocumentRoot"${SRVROOT}/htdocs"網站根目錄ErrorLog"logs/error.log"用于記錄錯誤日志4.安裝Apache服務①在命令提示符窗口中,切換到Apache的bin目錄:1.3.2安裝ApacheHTTPServercdC:/web/apache2.4/bin②安裝Apache服務的命令:httpd-kinstall-nApache2.4httpd表示Apache的服務程序httpd.exe-kinstall表示將Apache安裝為Windows系統的服務-nApache2.4表示將Apache服務的名稱設置為Apache2.4Apache服務的安裝結果:1.3.2安裝ApacheHTTPServer卸載Apache服務的命令:httpd-kuninstall-nApache2.45.啟動Apache服務Apache的服務監視工具ApacheServiceMonitor,用于管理Apache服務的啟動和停止。該工具即bin目錄下的ApacheMonitor.exe,通過它可以啟動和停止Apache服務。1.3.2安裝ApacheHTTPServer啟動Apache服務后,通過瀏覽器訪問http://localhost,運行結果:1.3.2安裝ApacheHTTPServer“Itworks!”是htdocs/index.html的運行結果

先定一個小目標!掌握PHP的安裝,能夠獨立安裝和配置PHP。1.3.3安裝PHP若要解析和執行PHP腳本,需要先安裝PHP軟件。PHP既可以獨立運行,也可以作為Apache的模塊運行。下面講解如何將PHP安裝為Apache的模塊。1.3.3安裝PHPPHP的安裝步驟:獲取PHP準備工作解壓與配置在Apache中引入PHP模塊12341.3.3安裝PHP重新啟動Apache服務器測試PHP模塊是否安裝成功67配置索引頁51.獲取PHPPHP提供了ThreadSafe(線程安全)與NonThreadSafe(非線程安全)兩種軟件包,在與Apache搭配使用時,應選擇ThreadSafe軟件包。在下載頁面中找到php-8.2.3-Win32-vs16-x64.zip軟件包并下載。1.3.3安裝PHP2.準備工作在C盤的web目錄中創建php8.2文件夾,將PHP安裝到此文件夾中進行管理。3.解壓與配置①解壓下載的PHP軟件包,解壓后的文件保存到C:\web\php8.2目錄中。1.3.3安裝PHPext是PHP擴展文件所在的目錄php.exe是PHP的命令行應用程序php8apache2_4.dll是Apache的DLL模塊3.解壓與配置②復制php.ini-development文件,將復制而來的文件重命名為php.ini,作為PHP的配置文件。③配置PHP擴展的目錄,在配置文件中搜索文本extension_dir,修改配置:1.3.3安裝PHPextension_dir="C:/web/php8.2/ext"④配置PHP時區,搜索文本date.timezone,修改配置:date.timezone=PRC4.在Apache中引入PHP模塊在httpd.conf第186行(前面有一些LoadModule配置)的位置引入PHP模塊:1.3.3安裝PHPLoadModulephp_module"C:/web/php8.2/php8apache2_4.dll"<FilesMatch"\.php$">setHandlerapplication/x-httpd-php</FilesMatch>PHPIniDir"C:/web/php8.2"LoadFile"C:/web/php8.2/libssh2.dll"將PHP作為Apache模塊加載加載PHP安裝目錄中的libssh2.dll文件,確保PHP的cURL擴展能夠正確加載指定php.ini所在的目錄匹配以.php為擴展名的文件,將其交給PHP來處理5.配置索引頁在Apache配置文件httpd.conf中搜索DirectoryIndex,修改配置:1.3.3安裝PHP<IfModuledir_module>DirectoryIndexindex.htmlindex.php</IfModule>6.重新啟動Apache服務器修改Apache配置文件后,單擊Windows系統任務欄中的Apache服務器圖標,選擇Apache2.4,單擊Restart重新啟動Apache服務。7.測試PHP模塊是否安裝成功htdocs目錄中創建test.php文件:1.3.3安裝PHP<?phpphpinfo();?>配置Web服務器1.4

先定一個小目標!掌握虛擬主機的配置,能夠根據需求配置虛擬主機。1.4.1配置虛擬主機為什么配置虛擬主機?虛擬主機用來做什么?1.4.1配置虛擬主機實際開發中,可能會同時開發多個項目,為了同時管理多個項目,需要配置虛擬主機。虛擬主機能夠實現在一臺服務器中管理多個項目,每個項目都有獨立的域名和目錄。在Apache服務器中配置多個虛擬主機,可以實現通過域名訪問指定項目。1.4.1配置虛擬主機1.解析域名在Windows系統中以管理員身份打開命令提示符窗口,在命令提示符窗口中使用記事本打開hosts文件,具體命令如下:notepadC:\Windows\System32\drivers\etc\hostswww.php.test在hosts文件中配置IP地址和域名的映射關系:1.4.1配置虛擬主機2.配置虛擬主機Includeconf/extra/httpd-vhosts.conf在httpd.conf中搜索httpd-vhosts,刪除“#”

:1.4.1配置虛擬主機步驟2步驟1步驟3啟用虛擬主機配置文件2.配置虛擬主機<VirtualHost*:80>DocumentRoot"C:/web/apache2.4/htdocs"ServerNamelocalhost</VirtualHost><VirtualHost*:80>DocumentRoot"C:/web/apache2.4/htdocs/www.php.test"ServerNamewww.php.test</VirtualHost>在httpd-vhosts.conf添加localhost和www.php.test虛擬主機:1.4.1配置虛擬主機步驟2步驟1步驟3配置虛擬主機2.配置虛擬主機Welcomewww.php.test重啟Apache,創建htdocs\www.php.test\index.html:1.4.1配置虛擬主機步驟2步驟1步驟3訪問虛擬主機

先定一個小目標!掌握訪問權限的設置,能夠根據需求設置虛擬主機的訪問權限。1.4.2設置目錄訪問權限在Apache中,可以使用指令來設置目錄的權限,常用的目錄指令:指令作用常見可選值AllowOverride指定是否允許讀取分布式配置文件None:不允許讀取分布式配置文件All:允許讀取分布式配置文件Require指定訪問目錄的權限allgranted:允許所有訪問alldenied:阻止所有訪問local:允許本地訪問Options指定目錄的選項和功能Indexes:目錄瀏覽功能FollowSymLinks:使用符號鏈接1.4.2設置目錄訪問權限設置目錄訪問權限的兩種方式:設置目錄訪問權限通過httpd.conf配置文件進行設置通過分布式配置文件進行設置1.4.2設置目錄訪問權限1.通過httpd.conf配置文件進行設置httpd.conf中默認添加根目錄和htdocs目錄的配置。根目錄的配置<Directory/>AllowOverrideNoneRequirealldenied</Directory>htdocs目錄的配置<Directory"${SRVROOT}/htdocs">OptionsIndexesFollowSymLinksAllowOverrideNoneRequireallgranted</Directory>禁止讀取分布式配置文件,阻止所有訪問啟用目錄瀏覽功能,允許使用符號鏈接,允許所有訪問1.4.2設置目錄訪問權限啟用目錄瀏覽功能時,如果用戶訪問的目錄中沒有默認索引頁(如index.html、index.php),就會顯示文件列表。啟用目錄瀏覽功能可方便查看服務器上的文件,但是服務器上的重要文件也可以被隨意訪問,降低服務器的安全性。1.4.2設置目錄訪問權限2.通過分布式配置文件進行設置分布式配置文件是指分布在每個目錄下的配置文件,文件擴展名為.htaccess。Apache在讀取分布式配置文件時,會從磁盤根目錄一直查找到當前訪問的目錄,如果當前訪問的目錄下有.htaccess文件就會讀取。子目錄的配置文件會覆蓋父級目錄的配置文件。分布式配置文件的優缺點:不需要重啟Apache服務器配置就能生效增加服務器的負擔,降低服務器的性能1.4.2設置目錄訪問權限

先定一個小目標!掌握虛擬主機的配置,能夠根據案例需求配置虛擬主機。1.4.3【案例】根據需求配置虛擬主機配置域名為www.admin.test的虛擬主機,站點目錄為C:\web\www\www.admin.test,關閉目錄瀏覽功能,開啟分布式配置文件,只允許本地訪問。

案例需求1.4.3【案例】根據需求配置虛擬主機①在hosts文件中配置IP地址和域名的映射關系,虛擬主機www.admin.test映射的IP地址是。②在httpd-vhost.conf文件中配置虛擬主機www.admin.test,使用Options-Indexes關閉目錄瀏覽功能,使用AllowOverrideAll配置項開啟分布式配置文件,使用Requirelocal配置項允許本地訪問。③創建C:\web\www\www.admin.test\index.html文件,通過瀏覽器訪問該文件,查看虛擬主機是否配置正確。

1.4.3【案例】根據需求配置虛擬主機實現思路本章小結本章首先講解了PHP和網站的相關知識;然后講解了開發環境的搭建,主要包括VSCode編輯器的安裝、Apache和PHP的安裝;最后講解了如何配置Web服務器,主要包括配置虛擬主機和設置目錄訪問權限,并通過案例展示了如何根據需求配置虛擬主機。通過對本章的學習,讀者能夠對PHP有初步的認識,并能掌握如何搭建開發環境和配置Web服務器。本章小結第2章PHP語法基礎《PHP網站開發實例教程(第3版)》學習目標/Target

掌握PHP標記、注釋和輸出語句,能夠在程序中正確使用PHP標記和輸出語句。

熟悉標識符和關鍵字的使用方法,能夠在程序中正確使用標識符和關鍵字。

掌握變量、常量和表達式的使用方法,能夠在程序中正確使用變量、常量和表達式。

掌握數據類型的使用方法,能夠使用不同的數據類型操作數據。學習目標/Target

掌握運算符的使用方法,能夠在程序中使用運算符完成數據運算。

掌握PHP的流程控制方法,能夠使用分支結構、循環結構和跳轉語句控制程序的執行流程。

掌握文件包含語句的使用方法,能夠根據需求使用不同的文件包含語句。章節概述/Summary學習一門語言就像蓋大樓一樣,要想蓋一幢安全、穩固的大樓,必須要有一個堅實的地基。同樣地,要想熟練使用PHP語言編程,必須充分了解PHP語言的基礎知識。本章將對PHP語法基礎進行詳細講解。目錄/Contents2.12.22.3基本語法變量、常量和表達式數據類型目錄/Contents2.42.52.6運算符流程控制文件包含語句基本語法2.1

先定一個小目標!掌握PHP標記,能夠在程序中正確使用PHP標記。2.1.1PHP標記為了讓解析器解析PHP代碼,需要使用PHP標記對代碼進行標識。PHP標記的兩個使用場景:在HTML代碼中嵌入PHP代碼在全部是PHP代碼的文件中使用2.1.1PHP標記PHP支持的標記:2.1.1PHP標記標記類型開始標記結束標記標準標記<?php?>短標記<??>1.標準標記標準標記以“<?php”開始,以“?>”結束。在HTML代碼中使用標準標記:<body><p>HelloHTML</p><p>

<?php此處編寫PHP代碼

?></p></body>2.1.1PHP標記在全部是PHP代碼的文件中使用標準標記,PHP開始標記要頂格書寫,PHP結束標記可以省略。在全部是PHP代碼的文件中使用標準標記:<?php此處編寫PHP代碼開始標記位于文件的第1行省略了?>2.1.1PHP標記2.短標記短標記以“<?”開始,以“?>”結束。在HTML代碼中使用短標記時,結束標記不可以省略,在全部是PHP代碼的文件中使用短標記時,結束標記可以省略。在HTML代碼中使用短標記:<?此處編寫PHP代碼?>在php.ini中,通過short_open_tag配置項可以設置短標記的開啟或關閉。如果值為On,則可以使用短標記;如果值為Off,則不能使用短標記。2.1.1PHP標記注意:如果腳本中包含XML內容,應避免使用短標記。這是因為“<?”是XML解析器的一個處理指令,如果腳本中包含XML內容并使用了短標記,PHP解析器可能會混淆XML處理指令和PHP短標記。2.1.1PHP標記在全部是PHP代碼文件中,如果省略PHP結束標記,每條語句都要寫語句結束符“;”。如果沒有寫語句結束符,運行程序會報錯。在htdocs目錄下創建test.php,演示不添加語句結束符程序的運行結果:腳下留心:正確使用語句結束符<?phpecho'生命在于運動!'正確使用語句結束符Parseerror表示解析錯誤,syntaxerror表示語法錯誤

先定一個小目標!掌握注釋的使用,能夠在程序中正確使用注釋。2.1.2注釋為了方便開發人員閱讀和維護代碼,可以為代碼添加注釋,通過注釋對代碼進行解釋說明。PHP常用的注釋:2.1.2注釋單行注釋//單行注釋echo'生命在于運動!';#單行注釋echo'Hello,PHP';

多行注釋/*

多行注釋*/echo'生命在于運動!';通常使用“//”注釋“/*”和“*/”之間的內容為多行注釋的內容

先定一個小目標!掌握輸出語句的使用,能夠在程序中正確使用輸出語句。2.1.3輸出語句2.1.3輸出語句echoPHP常用的輸出語句printprint_r()var_dump()1.echoecho用于將數據以字符串形式輸出,輸出多個數據時使用逗號“,”分隔,示例代碼如下。echo'true'; //輸出結果:trueecho'result=','4'; //輸出結果:result=42.1.3輸出語句2.printprint與echo的用法類似,區別在于print一次只能輸出一個數據,示例代碼如下。print'生命在于運動!'; //輸出結果:生命在于運動3.print_r()print_r()一次輸出一個或多個數據,示例代碼如下。print_r('hello'); //輸出結果:helloprint_r(array(1,1.6)); //輸出結果:Array([0]=>1[1]=>1.6)2.1.3輸出語句4.var_dump()var_dump()一次輸出一個或多個數據,輸出結果中包含數據的類型和值,示例代碼如下。var_dump('hello'); //輸出結果:string(5)"hello"var_dump(array(1,1.6)); //輸出結果:array(2){[0]=>int(1)[1]=>float(1.6)}print_r()輸出的內容簡潔,易于閱讀var_dump()輸出的內容詳細,包含類型和長度,方便全面了解數據信息多學一招:echo語句的簡寫語法echo語句的簡寫語法語法格式<?=要輸出的內容?>示例代碼<?=是<?php和echo的簡寫?>是結束標記<?='apple'?>

先定一個小目標!熟悉標識符的使用,能夠在程序中正確使用標識符。2.1.4標識符編寫程序時,經常使用符號來標記某些實體,如變量名、函數名、類名、方法名等,這些符號被稱為標識符。定義標識符時要遵循的規則:標識符由字母、數字和下畫線組成。標識符必須以字母或下畫線開頭。標識符用作變量名時,區分大小寫。2.1.4標識符合法標識符非法標識符test_testtest8866test 123test *test

先定一個小目標!熟悉關鍵字的使用,能夠在程序中正確使用關鍵字。2.1.5關鍵字關鍵字是PHP預先定義好并賦予了特殊含義的單詞,也稱作保留字。使用關鍵字時,需要注意以下兩點:關鍵字不能作為常量、函數名或類名使用。關鍵字不推薦作為變量名使用,容易混淆。PHP常見關鍵字:__halt_compiler()abstractandarray()asbreakcallablecasecatchclasscloneconstcontinuedeclaredefaultdie()doechoelseelseifempty()enddeclareendforendforeachendifendswitchendwhileeval()exit()extends2.1.5關鍵字PHP常見關鍵字:finalfinallyfnforforeachfunctionglobalgotoifimplementsincludeinclude_onceinstanceofinsteadofinterfaceisset()list()matchnamespaceneworprintprivateprotectedpublicreadonlyrequirerequire_oncereturnstaticswitchthrowtraittryunset()usevarwhilexoryieldyieldfrom__CLASS____DIR____FILE____FUNCTION____LINE____METHOD____NAMESPACE____TRAIT__

2.1.5關鍵字

先定一個小目標!掌握PHP基本語法,能夠根據需求實現在網頁中嵌入PHP代碼。2.1.6【案例】在網頁中嵌入PHP代碼通常情況下,網頁文件以.html為擴展名,如果想要網頁中的內容動態變化,可以在網頁中嵌入PHP代碼。本案例將實現在網頁中嵌入PHP代碼,輸出“生命在于運動!”。

案例需求2.1.6【案例】在網頁中嵌入PHP代碼①使用VSCode編輯器創建demo01.php文件,在該文件中編寫一個簡單的網頁。②在demo01.php中嵌入PHP代碼,使用PHP標記和輸出語句輸出“生命在于運動!”。

實現思路2.1.6【案例】在網頁中嵌入PHP代碼變量、常量和表達式2.2

先定一個小目標!掌握變量的使用,能夠在程序中正確使用變量。2.2.1變量在程序運行期間,會產生一些臨時數據,這些數據可以通過變量保存。變量是保存可變數據的容器,變量的表示方式為“$變量名”,變量名遵循標識符的命名規則,例如“$num”就是一個變量。2.2.1變量在PHP中,不需要事先聲明就可以對變量進行賦值和使用。2.2.1變量變量賦值的兩種方式傳值賦值引用賦值1.傳值賦值傳值賦值是將“=”右邊的數據賦值給左邊的變量。傳值賦值的示例代碼:2.2.1變量$a=10; //定義變量$a,賦值為10$b=$a; //將$a的值賦值給$b$a=100; //將$a的值修改為100echo$b; //輸出$b的值,結果為10“$a=10;”“$b=$a;”“$a=100;”都是對變量的傳值賦值當變量$a的值修改為100時,變量$b的值依然是102.引用賦值引用賦值是在要賦值的變量前添加“&”符號。引用賦值后,如果其中一個變量的值發生改變,另一個變量的值也會發生改變。引用賦值的示例代碼:2.2.1變量$a=10; //定義變量$a,賦值為10$b=&$a; //將$a的值引用賦值給$b$a=100; //將$a的值修改為100echo$b; //輸出$b的值,結果為100$b相當于$a的別名,當變量$a的值修改為100時,變量$b的值也變成了100

先定一個小目標!掌握可變變量的使用,能夠在程序中正確使用可變變量。2.2.2可變變量在開發過程中,為了方便動態改變變量名稱,PHP提供了一種特殊的變量用法:可變變量。可變變量在變量前加“$”符號,將變量的值作為變量的名稱,實現動態改變變量的名稱。使用可變變量的示例代碼:$a='say';$say='Hello';$Hello='Lucy';echo$a; //輸出結果:sayecho$$a; //輸出結果:Helloecho$$$a; //輸出結果:Lucy可變變量$$a相當于使用變量$a的值作為$$a變量的名稱如果變量$a的值是數字,可變變量$$a就是非法標識符2.2.2可變變量

先定一個小目標!掌握常量的使用,能夠在程序中正確使用常量。2.2.3常量常量是保存不變數據的容器,常量一旦被定義就不能被修改或重新定義。2.2.3常量定義常量的兩種方式define()函數const關鍵字什么是函數:函數是一段可重復使用的代碼塊,用于完成指定的操作,調用函數時傳入參數,函數執行成功后返回處理結果。2.2.3常量1.define()函數使用define()函數的語法格式:2.2.3常量define($name,$value,$case_insensitive);$name是常量名稱,通常使用大寫字母$value是常量值$case_insensitive指定常量名稱是否區分大小寫,默認值false表示區分大小寫使用define()函數定義常量:define('PAI','3.14');獲取常量的值:echo'圓周率=',PAI; //輸出結果:圓周率=3.14echo'圓周率=',constant('PAI'); //輸出結果:圓周率=3.142.const關鍵字在const關鍵字后面跟上常量名稱,再使用“=”給常量賦值。給常量賦值時,除了使用具體的值外,還可以使用表達式,示例代碼如下。2.2.3常量constR=5;echo'半徑=',R; //輸出結果:半徑=5constD=2*R;echo'直徑=',D; //輸出結果:直徑=10

先定一個小目標!掌握預定義常量的使用,能夠使用預定義常量獲取系統信息。2.2.4預定義常量常用的預定義常量:2.2.4預定義常量預定義常量名功能描述PHP_VERSION獲取PHP的版本信息PHP_OS獲取運行PHP的操作系統信息PHP_INT_MAX獲取當前PHP版本支持的最大整型數字PHP_INT_SIZE獲取當前PHP版本的整數大小,以字節為單位E_ERROR表示運行時致命性錯誤E_WARNING表示運行時警告錯誤(非致命)E_PARSE表示編譯時解析錯誤E_NOTICE表示運行時提醒信息

先定一個小目標!掌握表達式的使用,能夠在程序中正確使用表達式。2.2.5表達式表達式是PHP的基石,任何有值的內容都可以理解為表達式。例如:“1”是一個值為1的表達式。“$a=1”表示將表達式“1”的值賦值給$a,“$a=1”也構成了一個表達式,該表達式的值為1;“1+4”示將1和4相加,表達式的值為5。2.2.5表達式通過代碼演示表達式的使用方法:echo$a=1;//輸出表達式“$a=1”的值echo$a+4;

//輸出表達式“$a+4”的值$a=$a+4;

//將表達式“$a+4”的值賦值給$a$b=$a=1;//將表達式“$a=1”的值賦值給$becho5,6; //輸出表達式“5”和表達式“6”的值var_dump($b);//輸出表達式“$b”的值var_dump($a+$b);//輸出表達式“$a+$b”的值2.2.5表達式

先定一個小目標!掌握變量和常量的使用,能夠根據需求實現顯示服務器信息。2.2.6【案例】顯示服務器信息在后臺項目的開發中,為了讓系統管理員更好地了解服務器的相關信息,通常會在后臺首頁顯示一些系統信息和統計數據。學習了變量與常量的知識后,下面通過“顯示服務器信息”的案例對所學的知識進行練習。本案例要求在表格中顯示PHP的版本號和操作系統類型。

案例需求2.2.6【案例】顯示服務器信息①使用VSCode編輯器創建demo02.php文件,在文件中編寫表格,顯示服務器信息。②在表格中使用預定義常量PHP_VERSION獲取PHP版本號,使用預定義常量PHP_OS獲取操作系統類型。

實現思路2.2.6【案例】顯示服務器信息數據類型2.3

先定一個小目標!掌握數據類型的分類,能夠在程序中正確使用數據類型。2.3.1數據類型分類2.3.1數據類型分類PHP的數據類型:1.布爾型布爾型有true和false兩個值,表示邏輯上的“真”和“假”,true和false不區分大小寫,通常使用布爾型的值進行邏輯判斷。定義布爾型變量:$flag1=true;$flag2=false;2.3.1數據類型分類2.整型整型用于表示整數,它可以是二進制數、八進制數、十進制數和十六進制數,且前面加上“+”或“-”符號,表示正數或負數。二進制數、八進制數和十六進制數的表示方式:二進制數由0和1組成,需要加前綴0b或0B。八進制數由0~7組成,需要加前綴0。十六進制數由0~9和A~F(或a~f)組成,需要加前綴0x或0X。定義整型變量:$bin=0b111011; //二進制數$oct=073; //八進制數$dec=59; //十進制數$hex=0x3b; //十六進制數2.3.1數據類型分類整數在32位操作系統中的取值范圍是-2147483648~2147483647,在64位操作系統中的取值范圍是-9223372036854775808~9223372036854775807。當定義的整數超出操作系統的取值范圍時,整數會被轉換為浮點數。以64位操作系統為例,演示整型數值超出取值范圍的情況:$number1=9223372036854775807;//正常取值范圍的整型數據var_dump($number1); //輸出結果:int(9223372036854775807)$number2=9223372036854775808;//超出取值范圍的整型數據var_dump($number2);

//輸出結果:float(9.223372036854776E+18)2.3.1數據類型分類3.浮點型浮點型用于表示浮點數,程序中的浮點數類似數學中的小數。浮點數的有效位數是14位,有效位數是指從最左邊第一個不為0的數開始,直到末尾數的個數,且不包括小數點。可以使用兩種方式表示浮點數,分別是標準格式和科學記數法格式。使用標準格式定義浮點型變量:2.3.1數據類型分類標準格式科學記數法格式$fnum1=1.759;$fnum2=-4.382;$fnum3=1.234E-2;//等同于1.234×10-2$fnum4=7.469E-4;//等同于7.469×10-4科學記數法表示一個數與10的n次冪相乘,一般使用E或e表示10的冪。例如,5×103可以寫成5E3或5e34.字符串型字符串型用于表示字符串,字符串是由連續的字符組成的字符序列,需要使用單引號或雙引號標注。定義字符串型變量:$str1='Hello';//單引號字符串$str2="PHP";//雙引號字符串2.3.1數據類型分類單引號字符串和雙引號字符串的區別:$country='中國';echo'張三來自$country';//輸出結果:張三來自$countryecho"張三來自$country";//輸出結果:張三來自中國單引號字符串的變量原樣輸出雙引號字符串中的變量解析為中國雙引號字符串中出現變量時,可能會出現變量名和字符串混淆的情況。為了能夠讓PHP識別雙引號字符串中的變量名,可以使用“{}”對變量名進行界定。$ap='ma';$apple='test';echo"$apple"; //輸出結果:testecho"{$ap}ple"; //輸出結果:maple2.3.1數據類型分類在雙引號字符串中使用雙引號時,使用“\"”表示雙引號。在單引號字符串中使用單引號時,使用“\'”表示單引號。echo"在雙引號字符串中使用\"雙引號\""; //輸出結果:在雙引號字符串中使用"雙引號"echo'在單引號字符串中使用\'單引號\''; //輸出結果:在單引號字符串中使用'單引號'2.3.1數據類型分類“\””“\'”又被稱為轉義字符。轉義字符是用于改變字符的解釋或含義的特殊字符序列,通常使用轉義字符表示一些特殊字符或執行指定的操作。當反斜線與特定的字母或字符組合在一起時,會產生特定的效果。在雙引號字符串中支持的常用轉義字符:2.3.1數據類型分類轉義字符含義\n換行(ASCII字符集中的LF)\r回車(ASCII字符集中的CR)\t水平制表符(ASCII字符集中的HT)\v垂直制表符(ASCII字符集中的VT)\eEscape(ASCII字符集中的ESC)\f換頁(ASCII字符集中的FF)\\反斜線\$美元符

先定一個小目標!掌握數據類型的檢測,能夠使用數據類型檢測函數檢測數據。2.3.2數據類型檢測當對數據進行運算時,數據類型不符合預期可能會導致程序出錯。例如,兩個數字相加,這兩個數字的數據類型應該是整型或浮點型,如果是其他數據類型,運算可能會出錯。為了檢測數據的數據類型是否符合預期,PHP提供了一組形式為“is_*()”的內置函數,函數的參數是要檢測的數據,函數的返回值是檢測結果,返回值true表示數據類型符合預期,返回值false表示數據類型不符合預期。2.3.2數據類型檢測數據類型檢測函數:2.3.2數據類型檢測函數功能描述is_bool(mixed$value)檢測是否為布爾型is_string(mixed$value)檢測是否為字符串型is_float(mixed$value)檢測是否為浮點型is_int(mixed$value)檢測是否為整型is_null(mixed$value)檢測是否為空值is_array(mixed$value)檢測是否為數組is_resource(mixed$value)檢測是否為資源is_object(mixed$value)檢測是否為對象is_numeric(mixed$value)檢測是否為數字或由數字組成的字符串使用var_dump()輸出數據類型檢測函數的結果:2.3.2數據類型檢測var_dump(is_bool('1')); //輸出結果:bool(false)var_dump(is_string('php')); //輸出結果:bool(true)var_dump(is_float(23)); //輸出結果:bool(false)var_dump(is_int(23.0)); //輸出結果:bool(false)var_dump(is_numeric(45.6)); //輸出結果:bool(true)

先定一個小目標!掌握數據類型的轉換,能夠對數據進行類型轉換。2.3.3數據類型轉換當參與運算的兩個數據的數據類型不同時,需要將這兩個數據轉換成相同的數據類型。數據類型轉換分為自動類型轉換和強制類型轉換。2.3.3數據類型轉換1.自動類型轉換自動類型轉換由PHP內部自動完成,開發人員無法干預。常見的自動類型轉換有3種,具體如下:(1)自動轉換成布爾型(2)自動轉換成整型(3)自動轉換成字符串型2.3.3數據類型轉換(1)自動轉換成布爾型運算時,整型0、浮點型0.0、空字符串和字符串0會被轉換為false,其他值被轉換為true。var_dump(0==false); //輸出結果:bool(true)var_dump(0.0==false); //輸出結果:bool(true)var_dump(''==false); //輸出結果:bool(true)var_dump('0'==false); //輸出結果:bool(true)var_dump(1==true); //輸出結果:bool(true)var_dump(3==true); //輸出結果:bool(true)var_dump(-5==true); //輸出結果:bool(true)var_dump(4.0==true); //輸出結果:bool(true)將整型0、浮點型0.0、空字符串、字符串0和false比較:將整型1、3、-5、浮點型4.0和true比較:2.3.3數據類型轉換(2)自動轉換成整型當布爾型數據自動轉換成整型時,true會被轉換成整型1,false會被轉換成整型0。var_dump(true+1); //輸出結果:int(2)var_dump(false+1); //輸出結果:int(1)當字符串型數據自動轉換成整型時,如果字符串是數字或以數字開頭,則直接轉換為該數值。var_dump('1'+1); //輸出結果:int(2)var_dump('1PHP'+1); //輸出結果:int(2)2.3.3數據類型轉換(3)自動轉換成字符串型當布爾型數據自動轉換成字符串型時,true被轉換成字符串“1”,false被轉換成空字符串。echo'true被轉換成字符串:'.true;//輸出結果:true被轉換成字符串:1echo'false被轉換成字符串:'.false;//輸出結果:false被轉換成字符串:當整型或浮點型數據自動轉換成字符串型時,數值直接被轉換成字符串。var_dump(1.'PHP'); //輸出結果:string(4)"1PHP"var_dump(3.14.'PHP'); //輸出結果:string(7)"3.14PHP"2.3.3數據類型轉換2.強制類型轉換強制類型轉換是指將某個變量或數據轉換成指定的數據類型,強制類型轉換的語法格式:2.3.3數據類型轉換(目標類型)變量或數據強制類型轉換中的目標類型:目標類型功能描述目標類型功能描述bool強制轉為布爾型float強制轉為浮點型string強制轉為字符串型array強制轉為數組int強制轉為整型object強制轉為對象對數據進行強制類型轉換:2.3.3數據類型轉換var_dump((bool)-5.9); //輸出結果:bool(true)var_dump((int)'hello'); //輸出結果:int(0)var_dump((float)false);//輸出結果:float(0)var_dump((string)12);//輸出結果:string(2)"12"運算符2.4

先定一個小目標!掌握算術運算符的使用,能夠使用算術運算符完成數學運算。2.4.1算術運算符算術運算符是用來對數值類型的數據進行數學運算的符號。常用的算術運算符的作用及示例:運算符作用示例結果+加echo5+5;10-減echo6-4;2*乘echo3*4;12/除echo5/5;1%取模(即算術中的求余數)echo7%5;2**冪運算echo3**4;812.4.1算術運算符使用算術運算符的過程的注意事項:①進行數學運算時,運算順序要遵循數學中的“先乘除、后加減”的原則。②進行取模運算時,運算結果的正負取決于被模數(%左邊的數)的正負,與模數(%右邊的數)的正負無關。例如,(-8)%7=-1,而8%(-7)=1。2.4.1算術運算符

先定一個小目標!掌握賦值運算符的使用,能夠使用賦值運算符給變量賦值。2.4.2賦值運算符賦值運算符用于對兩個操作數進行相應的運算,這兩個操作數可以是變量、常量或表達式。常用的賦值運算符的作用及示例:運算符作用示例結果=賦值$a=3;$b=2;$a=3;$b=2;+=加并賦值$a=3;$b=2;$a+=$b;$a=5;$b=2;-=減并賦值$a=3;$b=2;$a-=$b;$a=1;$b=2;*=乘并賦值$a=3;$b=2;$a*=$b;$a=6;$b=2;/=除并賦值$a=3;$b=2;$a/=$b;$a=1.5;$b=2;%=模并賦值$a=3;$b=2;$a%=$b;$a=1;$b=2;.=連接并賦值$a='abc';$a.='def';$a='abcdef';**=冪運算并賦值$a=2;$a**=5;$a=32;2.4.2賦值運算符在PHP中,一條賦值語句可以對多個變量進行賦值,示例代碼如下。$first=$second=$third=3;$a=5;$a+=4;//等同于$a=$a+4;“+=”“-=”“*=”“/=”“%=”“.=”“**=”表示先將運算符左邊的變量與右邊的值進行運算,再把運算結果賦值給左邊的變量。以“+=”為例,示例代碼如下。2.4.2賦值運算符

先定一個小目標!掌握算術運算符和賦值運算符的使用,能夠根據需求計算商品價格。2.4.3【案例】商品價格計算用戶在一個全場8折的網站中購買如下水果。

案例需求2.4.3【案例】商品價格計算7.99元/斤購買2斤6.89元/斤購買1斤3.99元/斤購買3斤如何使用PHP程序來計算此用戶實際需要支付的費用呢?①使用常量保存商品折扣,使用變量保存用戶購買的商品名稱、價格和購買數量。②計算用戶購買的每件商品的價格和所有商品的價格。③以表格的形式顯示用戶所購買的商品信息和該用戶實際需要支付的費用。

實現思路2.4.3【案例】商品價格計算

先定一個小目標!掌握錯誤控制運算符的使用,能夠對表達式的結果進行錯誤控制。2.4.4錯誤控制運算符錯誤控制運算符“@”適合在可能出現錯誤的代碼前使用。使用錯誤控制運算符后,代碼出現錯誤時,不會直接將錯誤顯示給用戶。錯誤控制運算符只針對就近的表達式,如果想要對整個表達式的結果進行錯誤控制,需要將整個表達式使用小括號“()”標注起來,示例代碼如下。$num1=$a+1; //運行此行代碼會出現警告$num2=@$a+1; //運行此行代碼不會出現警告2.4.4錯誤控制運算符

先定一個小目標!掌握比較運算符的使用,能夠對兩個數據進行比較。2.4.5比較運算符比較運算符用于對兩個數據進行比較,其結果是一個布爾型的true或false。常用的比較運算符的作用及示例:運算符作用示例結果==等于5==4false!=不等于5!=4true<>

不等于5<>4true===全等于5===5true!==不全等于5!=='5'true>

大于5>5false>=大于或等于5>=5true<

小于5<5false<=小于或等于5<=5true2.4.5比較運算符在使用比較運算符時的注意事項:①比較兩個數據類型不同的數據時,PHP會自動將其轉換成相同的數據類型后再比較,例如,將3與3.14比較時,會先將3轉換成浮點型3.0,再與3.14比較。②“===”與“!==”運算符在進行比較時,不僅要比較數值是否相等,還要比較其數據類型是否相同。而“==”和“!=”運算符在比較時,只比較數值是否相等。2.4.5比較運算符

先定一個小目標!掌握合并運算符的使用,能夠進行數據存在性的判定。2.4.6合并運算符合并運算符“??”用于簡單的數據存在性判定,使用合并運算符的表達式的語法格式:<條件表達式>??<表達式>$age=NULL;echo$age??18; //輸出結果:18$age=20;echo$age??18; //輸出結果:20合并運算符的使用:2.4.6合并運算符

先定一個小目標!掌握三元運算符的使用,能夠根據條件表達式結果返回不同的值。2.4.7三元運算符三元運算符又稱為三目運算符,它是一種特殊的運算符,使用三元運算符的表達式的語法格式:<條件表達式>?<表達式1>:<表達式2>echo$age>=18?'已成年':'未成年';三元運算符的使用:2.4.7三元運算符

先定一個小目標!掌握邏輯運算符的使用,能夠對數據進行邏輯判斷。2.4.8邏輯運算符邏輯運算符是用于邏輯判斷的符號,表達式返回值類型是布爾型。邏輯運算符的作用及示例:運算符作用示例結果&&與$a&&$b$a和$b都為true,則結果為true,否則為false||或$a||$b$a和$b中至少有一個為true,則結果為true,否則為false!非!$a若$a為false,則結果為true,否則為falsexor異或$axor$b$a和$b一個為true,一個為false,則結果為true,否則為falseand與$aand$b與“&&”運算符的作用相同,但優先級較低or或$aor$b與“||”運算符的作用相同,但優先級較低2.4.8邏輯運算符對于“與”操作和“或”操作,在實際開發中需要注意以下兩點:①當使用“&&”和“and”連接兩個表達式時,如果運算符左邊表達式的值為false,則整個表達式的結果為false,運算符右邊的表達式不會執行。②當使用“||”和“or”連接兩個表達式時,如果運算符左邊表達式的值為true,則整個表達式的結果為true,運算符右邊的表達式不會執行。2.4.8邏輯運算符

先定一個小目標!掌握遞增與遞減運算符的使用,能夠對數據進行遞增或遞減運算。2.4.9遞增與遞減運算符遞增與遞減運算符也稱為自增與自減運算符,它可以被看作一種特定形式的復合賦值運算符。遞增與遞減運算符的作用及示例:運算符作用示例結果++遞增(前)$a=2;$b=++$a;$a=3;$b=3;遞增(后)$a=2;$b=$a++;$a=3;$b=2;--遞減(前)$a=2;$b=--$a;$a=1;$b=1;遞減(后)$a=2;$b=$a--;$a=1;$b=2;2.4.9遞增與遞減運算符

先定一個小目標!掌握位運算符的使用,能夠對數據進行位運算。2.4.10位運算符位運算符是針對二進制位進行運算的符號。位運算符的作用及示例:運算符作用示例結果&按位與$a&$b$a和$b各二進

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論