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

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

概念

常量可以理解為:長久不變的值,常量值被定義后,在腳本的其他任何地方都不能被改變。


一、常量組成

常量的書寫形式為 define(常量名,常量)

注:

  • ?常量名可以小寫,但是通常大寫

  • ?常量名可以不加引號,但是通常加上引號。

  • ?在字符串中調(diào)用常量的時候,必須在引號外面

  • ?常量名建議只用字母和下劃線

我們來定義和調(diào)用一個常量:

實例:

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

接下來,我們來驗證下關(guān)于常量的幾個說法

實例:

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

注1:常量定義是未加引號,可以正常輸出,但是PHP會提醒我們定義不規(guī)范,此處Ntice

可以通過修改PHP配置文件消除,各位有興趣的話,可以自己搜索,嘗試解決。

注2:前面提到的七種數(shù)據(jù)類型,還可以分為三大類

標量數(shù)據(jù)類型:布爾型、整型、浮點型、字符串

復(fù)合數(shù)據(jù)類型:數(shù)組、對象

特殊數(shù)據(jù)類型:NUll、資源型、回調(diào)函數(shù)

注3:常量在定義后,默認是全局變量,可以在整個運行的腳本的任何地方使用。


二、部分內(nèi)置常量

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


常量名

說明

__LINE__

當前所在的行

__FILE__

??

當前文件在服務(wù)器的路徑

__FUNCTIOIN__

當前函數(shù)名

__CLASS__

當前類名

__METHOD__

? ? ? ? ? ? ?

當前成員方法名

? ? ? ? ? ? ? ? ? ? ??

PHP_OS

PHP運行的操作系統(tǒng)

PHP_VERSION

當前PHP的版本

__TRAIT__

Trait 的名字,php5.4新加

__DIR__

文件所在的目錄

__NAMESPACE__

當前命名空間的名稱(區(qū)分大小寫)


實例:

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

注:其他幾個,大家可以嘗試輸出看看,有幾個還沒有學(xué)到,后面章節(jié)學(xué)到再詳細介紹


三、利用defined()函數(shù)來做安全機制

此處知識,暫時只做了解。學(xué)習(xí)完函數(shù)后,再來看本部份代碼也可以。

defined()我們來學(xué)習(xí)這種用法,主是是為了防止其他人繞過安全檢查文件。

函數(shù):defined(常量)
功能:向函數(shù)的括號后面?zhèn)魅氤A浚绻A慷x了就返回true,否則返回false

假設(shè)情況:

我們有一套在線電子商城的軟件需要付錢,檢查是否付費是通過對軟件授權(quán)檢查來完成的,而文件version.php中就有檢查授權(quán)的功能,我們在軟件中規(guī)定,沒有授權(quán)檢查文件version.php就不能使用這個軟件。所有的代碼都包含了version.php。并且為了防止有人盜版,我還可以把version.php的代碼進行了加密。

我們有兩個文件:

  • 一個文件中間有版本號,版本聲明和授權(quán)聲明。文件名為version.php

  • 一個文件中有具體的業(yè)務(wù)功能。例如:用戶注冊、登陸等,文件名為users.php

我們該怎么做呢?——也就是說不包含 version.php文件就不讓,執(zhí)行users.php之后的代碼。

我們來實驗:

1.version.php文件

代碼如下:

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

2.ser.php

代碼如下:

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

結(jié)果可知:version.php必須要包含 ,不然不會顯示后面的echo '用戶注冊';

注:

函數(shù):include('傳入文件路徑和文件名')
功能:這個函數(shù)的功能是傳入指定路徑的文件,讓PHP包含進來執(zhí)行

后面會詳細解釋inclde

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