php常數(shù)和變數(shù)之用常數(shù)限制使用者跳過某些文件
常-漢語字面為:長久,經(jīng)久不變。
常數(shù)就好翻譯了:長久不變的值。
【重點(diǎn)知識】知識層級我們定義為:默寫級
常數(shù)的使用範(fàn)圍非常廣泛。我們在以後,定義我們的工作目錄、定義一些特點(diǎn)的帳戶密碼、版本號碼等我們都會使用到常數(shù)。所以這一塊的知識,非常重要。
常數(shù)在程式碼中的定義、書寫方式:
define(常數(shù)名,常數(shù)值)
##註: 1.常數(shù)值只能為上一章我們講到的標(biāo)量。 ????2.常數(shù)名可以小寫,但是通常大寫????3.常數(shù)名可以不加引號,但通常加上引號。 ????4.在字串中呼叫常數(shù)的時候,必須在引號外????5.常數(shù)名建議只用字母和底線我們用程式碼來實(shí)驗(yàn)一下: 1.定義並呼叫一次常數(shù)試試看<?php define('MY_NAME','PHP中文網(wǎng)'); echo MY_NAME; //下面是錯誤的調(diào)用方式 echo '我的名字是MY_NAME'; //正確的調(diào)用方式該這么寫 echo '我的名字是' . MY_NAME; ?>2.注意專案實(shí)驗(yàn)
<?php //其實(shí)可以小寫,但是不好區(qū)分,所以我們規(guī)定通常大寫 define('xiaoxie',true); echo xiaoxie; //常量可以在外面不加引號 define(YH,'不要對未來迷茫,迷茫的時候靜下心來coding'); echo YH; //只能用標(biāo)量,我在后面用了一個數(shù)組,大家學(xué)一下就行,會報(bào)錯的喲 define('BIAO',array(1,2,3)); ?>此外,系統(tǒng)也為我們準(zhǔn)備了一些內(nèi)建的常數(shù)。這些常量都是規(guī)定好的。我們先熟悉幾個,還有更多的系統(tǒng)常數(shù)我們學(xué)習(xí)完上冊,入門後再慢慢的增加和學(xué)習(xí)。
說明 | |
---|---|
#LINE | #目前所在的行 |
FILE | #目前檔案在伺服器的路徑 |
FUNCTIOIN | 目前函數(shù)名稱 |
#CLASS | ##目前類別名稱|
METHOD | 目前成員方法名稱 |
PHP_OS | PHP運(yùn)行的作業(yè)系統(tǒng) |
PHP_VERSION | 目前PHP的版本|
TRAIT | Trait 的名字,php5.4新加|
DIR | #檔案所在的目錄
defined()函數(shù)來做安全機(jī)制
這裡知識,可以眼前不用掌握。學(xué)習(xí)完函數(shù)後,再來看本部程式碼也可以。
defined()我們來學(xué)習(xí)這種用法,主是為了防止其他人繞過安全檢查檔案。
函數(shù):defined(常數(shù))
功能:向函數(shù)的括號後面?zhèn)魅氤?shù),如果常數(shù)定義了就回傳true,否則回傳false
【情境模擬】假設(shè),我們的這套線上電子商城的軟體需要付錢,檢查是否付費(fèi)是透過對軟體授權(quán)檢查來完成的,而文件version.php中就有檢查授權(quán)的功能,我們在軟體中規(guī)定,沒有授權(quán)檢查文件version. php就不能使用這個軟體。所有的程式碼都包含了version.php。而且為了防止有人盜版,我還可以把version.php的程式碼進(jìn)行了加密。
我們有兩個檔案:
1.一個檔案中間有版本號,版本宣告和授權(quán)宣告。檔案名稱為version.php
2.一個檔案中有具體的業(yè)務(wù)功能。例如:使用者註冊、登陸等,檔案名稱為users.php
我們該怎麼做呢? ——也就是說不包含 version.php檔案就不讓,執(zhí)行users.php之後的程式碼。
我們來進(jìn)行實(shí)驗(yàn):
version.php檔案
<?php //此處是檢查是否是否授權(quán)的業(yè)務(wù)部份代碼xxxx define('AUTH',true); //略過模擬代碼xxx行 ?>
users.php
<?php //嘗試將include 'version.php'這一行代碼注釋后再執(zhí)行看看,對比結(jié)果 include 'version.php'; if(!defined('AUTH')){ echo '非法!非法!你嘗試跳過授權(quán)文件'; exit; } //模擬后面用戶注冊和用戶登陸的代碼xxx行 echo '用戶注冊'; ?>
實(shí)驗(yàn)結(jié)果可知:version.php必須包含,不然不會顯示後面的echo '用戶註冊';
include
讀音:[?n?klud]
解釋:包含
version
讀音:[?v?:?n]
解釋:版本
user
讀音:[?juz?]
解釋:使用者
複數(shù):users
define
讀音:[d??fa?n]
解釋:規(guī)定
函數(shù):include('傳入檔案路徑和檔案名稱')
功能:這個函數(shù)的功能是傳入指定路徑的文件,讓PHP包含進(jìn)來執(zhí)行
注意:在後面的章節(jié)中會特別解說和實(shí)驗(yàn)include