国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP開(kāi)發(fā)基礎(chǔ)教程之常量

概念

常數(shù)可以理解為:長(zhǎng)久不變的值,常數(shù)值被定義後,在腳本的其他任何地方都不能被改變。


一、常數(shù)組成

常數(shù)的書(shū)寫(xiě)形式為define(常數(shù)名,常數(shù))

註:

  • #?常數(shù)名稱(chēng)可以小寫(xiě),但通常大寫(xiě)

  • ?常數(shù)名稱(chēng)可以不加引號(hào),但通常加上引號(hào)。

  • ?在字串中呼叫常數(shù)的時(shí)候,必須在引號(hào)外

  • ?常數(shù)名建議只用字母和底線

#我們來(lái)定義和呼叫一個(gè)常數(shù):

實(shí)例:

<?php
//定義一個(gè)常量
define('Name','PHP.com');
//正確的調(diào)用方式
echo '我們是'.Name;
echo '<br/>';
//錯(cuò)誤的調(diào)用方式
echo '我們是Name';
?>

接下來(lái),我們來(lái)驗(yàn)證下關(guān)於常數(shù)的幾個(gè)說(shuō)法

實(shí)例:

<?php
//其實(shí)可以小寫(xiě),但是不好區(qū)分出來(lái),所以習(xí)慣上大家都大寫(xiě)
define('age',27);
echo age;
//常量可以在外面不加引號(hào)
define(A,'安徽省');
echo A;
//只能用于標(biāo)量,用于其他會(huì)報(bào)錯(cuò),例如數(shù)組
define('HF',array(1,2,3));
echo HF;
?>

註1:常數(shù)定義是未加引號(hào),可以正常輸出,但是PHP會(huì)提醒我們定義不規(guī)範(fàn),此處Ntice

可以透過(guò)修改PHP設(shè)定檔消除,各位有興趣的話,可以自己搜索,嘗試解決。

註2:前面提到的七種資料型,還可以分為三大類(lèi)

標(biāo)量資料型別:布林型、整數(shù)、浮點(diǎn)型、字串

複合資料型別:陣列、物件

特殊資料型別:NUll、資源型、回調(diào)函數(shù)

註3:常數(shù)在定義後,預(yù)設(shè)是全域變量,可以在整個(gè)運(yùn)行的腳本的任何地方使用。


二、部分內(nèi)建常數(shù)

系統(tǒng)也為我們準(zhǔn)備了一些內(nèi)建的常數(shù)。這些常量都是規(guī)定好的。我們先熟悉幾個(gè),還有更多的系統(tǒng)常數(shù)我們學(xué)習(xí)完上冊(cè),入門(mén)後再慢慢的增加和學(xué)習(xí)。


??PHP運(yùn)行的作業(yè)系統(tǒng)##目前PHP的版本__TRAIT__#Trait 的名字,php5.4新加#__DIR__檔案所在的目錄

常數(shù)名稱(chēng)

##__LINE__
目前所在的行

__FILE__
目前檔案在伺服器的路徑

#__FUNCTIOIN__###########目前函數(shù)名稱(chēng)## #

__CLASS__

目前類(lèi)別名稱(chēng)

__METHOD__

? ? ? ? ? ? ?

目前成員方法名稱(chēng)

? ? ? ? ? ? ? ?#??##?

#PHP_VERSION

##__NAMESPACE__

######### ########目前命名空間的名稱(chēng)(區(qū)分大小寫(xiě))################


實(shí)例:

<?php
//輸出當(dāng)前所在行
echo __LINE__;
echo "<br/>";
//輸出當(dāng)前文件所在服務(wù)器的路徑
echo __FILE__;
echo "<br/>";
//輸出當(dāng)前PHP運(yùn)行的操作系統(tǒng)
echo PHP_OS;
?>

註:其他幾個(gè),大家可以嘗試輸出看看,有幾個(gè)還沒(méi)學(xué)到,後面章節(jié)學(xué)到再詳細(xì)介紹


三、利用defined()函數(shù)來(lái)做安全機(jī)制

此處知識(shí),暫時(shí)只做了解。學(xué)習(xí)完函數(shù)後,再來(lái)看本部程式碼也可以。

defined()我們來(lái)學(xué)習(xí)這種用法,主是為了防止其他人繞過(guò)安全檢查檔案。

函數(shù):defined(常數(shù))
功能:向函數(shù)的括號(hào)後面?zhèn)魅氤?shù),如果常數(shù)定義了就回傳true,否則回傳false

假設(shè)情況:

我們有一套線上電子商城的軟體需要付錢(qián),檢查是否付費(fèi)是透過(guò)對(duì)軟體授權(quán)檢查來(lái)完成的,而文件version.php中就有檢查授權(quán)的功能,我們?cè)谲涹w中規(guī)定,沒(méi)有授權(quán)檢查文件version.php就不能使用這個(gè)軟體。所有的程式碼都包含了version.php。而且為了防止有人盜版,我還可以把version.php的程式碼進(jìn)行了加密。

我們有兩個(gè)檔案:

  • 一個(gè)檔案中間有版本號(hào),版本宣告和授權(quán)宣告。檔案名稱(chēng)為version.php

  • 一個(gè)檔案中有具體的業(yè)務(wù)功能。例如:使用者註冊(cè)、登陸等,檔案名稱(chēng)為users.php

我們?cè)撛觞N做呢? ——也就是說(shuō)不包含 version.php檔案就不讓?zhuān)瑘?zhí)行users.php之後的程式碼。

我們來(lái)實(shí)驗(yàn):

1.version.php檔案

程式碼如下:

<?php
//此處是檢查是否是否授權(quán)的業(yè)務(wù)部份代碼xxxx
define('AUTH',true);
//略過(guò)模擬代碼xxx行
?>

2.ser.php

程式碼如下:

<?php
//嘗試將include 'version.php'這一行代碼注釋后再執(zhí)行看看,對(duì)比結(jié)果
include 'version.php';
if(!defined('AUTH')){
    echo '非法!非法!你嘗試跳過(guò)授權(quán)文件';
    exit;
}

結(jié)果可知:version.php必須包含,不然不會(huì)顯示後面的echo '使用者註冊(cè)';

函數(shù):include('傳入檔案路徑與檔案名稱(chēng)')
功能:這個(gè)函數(shù)的功能是傳入指定路徑的文件,讓PHP包含進(jìn)來(lái)執(zhí)行

後面會(huì)詳細(xì)解釋inclde

繼續(xù)學(xué)習(xí)
||
<?php //定義一個(gè)常量 define('Name','PHP.com'); //正確的調(diào)用方式 echo '我們是'.Name; echo '<br/>'; //錯(cuò)誤的調(diào)用方式 echo '我們是Name'; ?>
提交重置程式碼