、PHP中的編碼規(guī)范
1. 表述
在PHP的正常表述中,每一句PHP語(yǔ)句都是以“;”結(jié)束。
<?php
echo “php是以分號(hào)表示語(yǔ)句的結(jié)束和執(zhí)行。”;
?>
2. 指令分隔符
在PHP代碼中,每個(gè)語(yǔ)句需要用分號(hào)結(jié)束。一段PHP代碼中的結(jié)束標(biāo)記隱含表示了一個(gè)分號(hào),所以在PHP代碼中的最后一行可以不用分號(hào)結(jié)束。、
<?php
echo “這是第一個(gè)語(yǔ)句”;
echo “這是第二個(gè)語(yǔ)句”;
echo “這是最后一個(gè)語(yǔ)句”
?>
3. 空白符
PHP對(duì)空格、回車造成的新行、tab等留下的空白的處理遵循編碼規(guī)范。PHP對(duì)他們都進(jìn)行了忽略。這跟瀏覽器對(duì)HTML語(yǔ)言中的空白處的處理一樣。
合理利用空白符可以增強(qiáng)代碼的可讀性和清晰性。
(1)下列情況總是使用兩個(gè)空白行:
a) 兩個(gè)類的聲明之間。
b) 一個(gè)源文件的兩個(gè)代碼片段之間。
(2)以下情況總是使用一個(gè)空白行
a)兩個(gè)函數(shù)聲明之間。
b)函數(shù)內(nèi)的局部變量之間和函數(shù)的第一個(gè)語(yǔ)句之間。
c)塊注釋和單行注釋之前。
d)一個(gè)函數(shù)內(nèi)的兩個(gè)邏輯代碼段之間。
(3)空格合理利用,提高代碼可讀性
a)空格通常使用與關(guān)鍵字與括號(hào)之間,但是函數(shù)名稱與左括號(hào)之間不能使用空格分開。
b)函數(shù)參數(shù)列表中的逗號(hào)后面通常會(huì)插入空格。
c)for語(yǔ)句的表達(dá)式應(yīng)該用逗號(hào)分開,后面添加空格。
4.注釋
為增強(qiáng)代碼的可讀性,我們需要用文字說(shuō)明,即注釋。
a)C語(yǔ)言風(fēng)格
/*
這是C語(yǔ)言風(fēng)格的注釋
*/
b)C++風(fēng)格
//這是C++語(yǔ)言風(fēng)格的注釋
c)shell風(fēng)格
#這是shell語(yǔ)言風(fēng)格的注釋
5. 與HTML語(yǔ)言混合搭配
PHP語(yǔ)言嵌入到HTML文檔中
<html>
<head>
<title>php與HTML混合</title>
</head>
<body>
<?php
echo “嵌入的PHP代碼”;
?>
</body>
</html>
二、常量
1.聲明和使用常量
在PHP中,常量一旦聲明就無(wú)法改變。
PHP通過(guò)define()命令來(lái)聲明常量,格式:
define(“常量名”,”常量值”);
常量名是一個(gè)字符串,通常在PHP的編碼規(guī)范指導(dǎo)下使用大寫英文字母表示,比如CLASS_NAME、MYAGE等。
常量值可以是很多種PHP的數(shù)據(jù)類型,可以是數(shù)組,可以是對(duì)象,也可以是字符串和數(shù)字。
常量就像變量一樣存儲(chǔ)數(shù)值,但是與變量不同的是,常量的值只能設(shè)定一次,并且不能改動(dòng),常量聲明后具有全局性,在函數(shù)內(nèi)外都可以訪問(wèn)。
實(shí)例:定義常量,并輸出
輸出結(jié)果
2.內(nèi)置常量
PHP內(nèi)置常量,是PHP在系統(tǒng)建立之初就定義好的一些量。例如:
(1)_FILE_:默認(rèn)常量是文件的完整路徑和文件名。若引用文件(include和require),則在引用文件內(nèi)的該常量為引用文件名,而不是引用它的文件名。
(2)_LINE_:這個(gè)默認(rèn)常量是PHP程序行數(shù)。若引用文件(include和require),則在引用文件內(nèi)的該常量為引用文件的行,而不是引用它的文件行。
(3)PHP_VERSION:這個(gè)內(nèi)置常量是PHP程序的版本。如7.1.27
(4)PHP_OS:這個(gè)內(nèi)置常量是執(zhí)行PHP解析器的操作系統(tǒng)名稱,如winnt。
(5)TRUE:這個(gè)常量是真值。
(6)FALSE:這個(gè)常量是假值。
(7)E_ERROR:這個(gè)常量指到最近的錯(cuò)誤處。
(8)E_WARNING:這個(gè)常量指到最近的警告處。
(9)E_PARSE:這個(gè)常量指到解析語(yǔ)法有潛在的問(wèn)題處。
(10)E_NOTICE:這個(gè)常量為發(fā)生不尋常但不一定是錯(cuò)誤處。如,存取一個(gè)不存在的變量。
(11)__DIR__:這個(gè)常量為文件所在目錄。
(12)__FUNCTION__:這個(gè)常量為函數(shù)的名稱。從PHP5開始,此常量返回該函數(shù)被定義時(shí)的名字,并且區(qū)分大小寫。
(13)__CLASS__:這個(gè)常量為類的名稱。從PHP5開始,此常量返回該類被定義時(shí)的名字,并且區(qū)分大小寫。
示例:執(zhí)行結(jié)果是按照以上順序
執(zhí)行結(jié)果
天小編給大家?guī)?lái)的是html表單提交教程,非常簡(jiǎn)單!
話不多說(shuō)直接進(jìn)入教程
首先要注意的事項(xiàng):
第一:因?yàn)檫@節(jié)課涉及到了php所以本地要安裝php
在這里小編用的是phpStudyphpStudy(特點(diǎn)簡(jiǎn)單很適合本地開發(fā)測(cè)試)
phpStudy界面
第二:在php編碼里一定要注意不要編寫錯(cuò)誤
<?php //為開頭 //為結(jié)尾?>
<?php 這里寫php代碼 ?>
要切記php代碼要以分號(hào)未結(jié)束 “;”
首頁(yè)我們到我們剛剛安裝的軟件根目錄下,找到www這個(gè)文件夾
雙擊打開建立一個(gè)新文件夾(在這我命名為了表單的拼音你們可以自己命名為你們想命名的名字,切記不能用中文)
在打開剛剛建立好的文件夾創(chuàng)建兩個(gè)文件分別命名為orderform.html和processorder.php(當(dāng)然你也可以自己取名)
我們用編程軟件打開這兩個(gè)新建文件(這里我用的是Sublime Text 3)
我們首先給orderform.html寫下如下代碼
然后我們開始寫建立表單
我們?cè)L問(wèn)本地連接看一下效果
我們?cè)诮ophp寫入代碼
以下為注意事項(xiàng)
<!--<?php //為php代碼 eoch為輸出代碼 $_POST為接收html提交過(guò)來(lái)的數(shù)據(jù) $tireqty=$_POST['tireqty']
//$sj=$_POST['sj']
//$dz=$_POST['dz'] 為給建立的變量賦值? echo "$tireqty";為輸出這個(gè)變量-->
首先我們寫入和html一下的html代碼
在寫入php接收函數(shù)
完成效果
以下是html里的代碼
<!DOCTYPE html>
<html>
<head>
<!--這里編碼為utf-8國(guó)際編碼-->
<meta charset="utf-8">
<!--這里為網(wǎng)站標(biāo)題-->
<title>表單</title>
</head>
<body>
<!--action為提交的頁(yè)面 method為提交類型 分為兩種一種為post還一種為get -->
<form action="processorder.php" method="post">
<!--border="0"為邊框粗細(xì)-->
<table border="0">
<!-- bgcolor="#cccccc"為表格背景顏色這里為灰色 -->
<tr bgcolor="#cccccc">
<td>參數(shù)</td>
<!-- aligan="center"為表格居中 -->
<td align="center">數(shù)據(jù)</td>
</tr>
<tr>
<td>姓名</td>
<!-- <input type="text" name="tireqty" size //這里為type為提交類型
text為文本類型 name為名稱和class一樣 size為字體大小-->
<td align="center"><input type="text" name="tireqty" size="3"/></td>
</tr>
<tr>
<td>手機(jī)</td>
<td align="center"><input type="text" name="sj" size="3"/></td>
</tr>
<tr>
<td>地址</td>
<td align="center"><input type="text" name="dz" size="3"/></td>
</tr>
<tr>
<!-- <input type="text" value="提交" value為input 元素的值 colspan為合并-->
<td colspan="0" align="center"><input type="submit" value="提交"/></td>
</tr>
</table>
</form>
</body>
</html>
以下是php中代碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>接收</title>
</head>
<body>
<form>
<?php
$tireqty=$_POST['tireqty'];
$sj=$_POST['sj'];
$dz=$_POST['dz'];
?>
<table border="0">
<tr>
<td>參數(shù)</td>
<td align="center">數(shù)據(jù)</td>
</tr>
<tr>
<td>姓名</td>
<td align="center"><?php echo "$tireqty"; ?></td>
</tr>
<tr>
<td>手機(jī)</td>
<td align="center"><?php echo "$sj"; ?></td>
</tr>
<tr>
<td>地址</td>
<td align="center"><?php echo "$dz"; ?></td>
</tr>
</table>
</form>
</body>
</html>
謝謝觀看,喜歡的就收藏加關(guān)注吧!
家好,這一章就是講關(guān)于創(chuàng)建幫助函數(shù)的問(wèn)題。思考這樣一個(gè)問(wèn)題,可能有一些公共的函數(shù)需要在全局調(diào)用,這個(gè)地方也要調(diào),那個(gè)地方也要調(diào),這樣的函數(shù)應(yīng)該怎么創(chuàng)建?涉及到今天創(chuàng)建幫助函數(shù)文件。
首先習(xí)慣性的是在APP下面創(chuàng)建一個(gè),這里面就是放全局運(yùn)用的函數(shù)。這邊一個(gè)小細(xì)節(jié),從學(xué)APP基礎(chǔ)都是這樣的。為什么現(xiàn)在很多人后面下面的不寫?這樣寫有一個(gè)前提條件,就是php文件必須要是純php文件,不能插html這種超文不連接或者是html、css、gs這種混在一起寫的,這樣寫不行,就是文件必須要是純php文件。
為什么不這樣寫?這樣寫有壞處,比如有人不規(guī)范,很多空格,實(shí)際代碼就寫了幾行,留了很多空格。實(shí)際在計(jì)算機(jī)服務(wù)器端運(yùn)算的時(shí)候會(huì)把這些空格也并入運(yùn)算的,雖然沒有什么任何結(jié)果,但也會(huì)運(yùn)算,這樣就會(huì)導(dǎo)致腳本運(yùn)行變慢,性能變差。
這樣不加小問(wèn)號(hào),不加結(jié)尾標(biāo)簽,到最后一個(gè)冒號(hào)結(jié)束的時(shí)候整個(gè)這段就運(yùn)行結(jié)束了,這樣反而運(yùn)行效率更高。所以在純文本的APP文件里面,現(xiàn)在比較好的寫法就是后面不寫B(tài),就是標(biāo)簽關(guān)閉的符號(hào)不寫,就直接這樣寫。
小問(wèn)題給大家嘮叨一下,假設(shè)在這邊命名了一個(gè)函數(shù),返回一個(gè)叫hello word,就是返回一個(gè)字符串。現(xiàn)在比如想在外部漏油里面調(diào)用,比如要調(diào)用打贏勾勾,能打贏嗎?來(lái)試一下,BS.test,不行,格格是一個(gè)未定義的函數(shù),因?yàn)樗鼪]有找到函數(shù),找到原因就是它還不是全局的輔助函數(shù),所以要把它必要把文件里面的函數(shù)定義為全區(qū)的,就涉及到自動(dòng)加載的問(wèn)題。
就在composer jason里面有一個(gè)outload,默認(rèn)是ps24加載這些,比如name space什么的都相應(yīng)的,這個(gè)就自動(dòng)引導(dǎo)到這邊,a b大學(xué)APP的name space就自動(dòng)引導(dǎo)到APP文件夾上面,類似的,大家能看懂。
在下面添加一行,就是按配置的冒號(hào)逗號(hào),配置的fire s也會(huì)自動(dòng)加載APP下面的help,ph重點(diǎn),它也會(huì)自動(dòng)加載outload,再加載完了就好了,刷新一下,原來(lái)不行,還差一步,要把它重新引導(dǎo)一下,就回到虛擬機(jī)里面,重新引導(dǎo)一下,引導(dǎo)完了,刷新一下,說(shuō)明已經(jīng)是全局的輔助函數(shù)了,可以調(diào)用。
再考慮一個(gè)問(wèn)題,這邊定了一個(gè)go,這么一個(gè)函數(shù),如果外部有一個(gè)庫(kù),也叫哥哥,不就壞了嗎?如果導(dǎo)入就把導(dǎo)入外部庫(kù)的哥哥內(nèi)涵處給覆蓋掉了,就會(huì)造成很多程序運(yùn)行上的錯(cuò)誤,所以在上面要判斷一下,如果函數(shù)不存在的時(shí)候,才運(yùn)行,加載運(yùn)行,這里面的函數(shù)做判斷是比較嚴(yán)謹(jǐn)?shù)模@樣也不影響運(yùn)行,也是正常的運(yùn)行的。
這些歌就講到這里。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。