中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
PHP特性

特性

1. 變量作用域

關(guān)于變量作用域這一點(diǎn),PHP 與絕大多數(shù)語(yǔ)言也都不同:默認(rèn)函數(shù)內(nèi)不能訪問(wèn)函數(shù)所在作用域的成員。在 JavaScript 中,我們可以在函數(shù)作用域中使用父級(jí)作用域中的成員:

var top = 'top variable'
function foo () {
var sub = 'sub variable'
console.log(top)

// => `top variable`

function bar () {
console.log(top)
// => `top variable` console.log(sub)
// => `sub variable`
}

bar()
}
foo()

而在 PHP 中:

<?php
$top = 'top variable';
function foo () {
$sub = 'sub variable';
echo $top;
// => 無(wú)法拿到
function bar () {
echo $top;
// => 無(wú)法拿到
echo $sub;
// => 無(wú)法拿到
}
bar();
}
foo();

如果需要訪問(wèn)全局變量,可以通過(guò) global 關(guān)鍵字聲明:

<?php
$top = 'top variable';

function foo () {
// 聲明在當(dāng)前作用域中獲取全局作用域中的 `$top`
global $top;
$sub = 'sub variable';
echo $top;
// => `top variable`

function bar () {
// 聲明在當(dāng)前作用域中獲取全局作用域中的 `$top` 和 `$bar`
global $top, $bar;
echo $top;
// => `top variable`
echo $sub;
// => 任然無(wú)法拿到,因?yàn)?`$sub` 不再全局范圍,而是在 `foo` 函數(shù)中定義
}
bar();
}
foo();

2. 超全局變量

http://www.w3school.com.cn/php/php_superglobals.asp

PHP 中的許多預(yù)定義變量都是“超全局的”,這意味著它們?cè)谝粋€(gè)腳本的全部作用域中都可用。在函數(shù)或方法中無(wú)需執(zhí)行 global $variable; 就可以訪問(wèn)它們。

這些超全局變量是:

  • $GLOBALS — 引用全局作用域中可用的全部變量
  • $_SERVER — 獲取服務(wù)端相關(guān)信息
  • $_REQUEST — 獲取提交參數(shù)
  • $_POST — 獲取 POST 提交參數(shù)
  • $_GET — 獲取 GET 提交參數(shù)
  • $_FILES — 獲取上傳文件
  • $_ENV — 操作環(huán)境變量
  • $_COOKIE — 操作 Cookie
  • $_SESSION — 操作 Session

本文會(huì)介紹一些超全局變量,并會(huì)在稍后的博客中講解其他的超全局變量。

2.1. $GLOBALS

$GLOBALS 這種全局變量用于在 PHP 腳本中的任意位置訪問(wèn)全局變量(從函數(shù)或方法中均可)。

PHP 在名為 $GLOBALS[index] 的數(shù)組中存儲(chǔ)了所有全局變量。變量的名字就是數(shù)組的鍵。

下面的例子展示了如何使用超級(jí)全局變量 $GLOBALS:

<?php
$x = 75;
$y = 25;
function foo () {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
foo(); echo $z; // => 100

3. 常量定義與使用

常量跟變量一樣也是一個(gè)數(shù)據(jù)容器,但是不同的是一旦申明過(guò)后就不允許被修改。

3.1. 定義常量

定義常量使用的是內(nèi)置的 define 函數(shù)
第一個(gè)參數(shù)是常量的名稱,建議采用全大寫(xiě)字母命名,多個(gè)單詞下劃線分隔
第二個(gè)參數(shù)是常量中存放的數(shù)據(jù),可以是任意類型
第三個(gè)參數(shù)是常量名稱是否區(qū)不分大小寫(xiě),默認(rèn) false 區(qū)分大小寫(xiě)

<?php
// 定義常量使用的是內(nèi)置的 `define` 函數(shù)
// 第一個(gè)參數(shù)是常量的名稱,建議采用全大寫(xiě)字母命名,多個(gè)單詞下劃線分隔
// 第二個(gè)參數(shù)是常量中存放的數(shù)據(jù),可以是任意類型
// 第三個(gè)參數(shù)是常量名稱是否區(qū)不分大小寫(xiě),默認(rèn) false 區(qū)分大小寫(xiě)
define('SYSTEM_NAME', '阿里百秀');
define('SYSTEM_ENABLE', true);

3.2. 使用常量

<?php

// 直接通過(guò)常量的名稱訪問(wèn)常量
// 與變量不同的是不需要用 $
echo SYSTEM_NAME; 
echo SYSTEM_ENABLE;

4. 載入其他文件

通常情況下,當(dāng)一個(gè)文件中的代碼過(guò)長(zhǎng),自然會(huì)想到要拆分到多個(gè)文件中。隨著開(kāi)發(fā)經(jīng)驗(yàn)的積累,慢慢的會(huì)發(fā)現(xiàn),

除了文件過(guò)程應(yīng)該拆分文件,更應(yīng)該做的事情是根據(jù)用途去劃分。

不管你是怎樣想的,核心問(wèn)題都是一樣:怎么將代碼拆分到多個(gè)文件中?

PHP 中引入其他 PHP 文件有四種方式:

  • require
  • require_once
  • include
  • include_once

四種方式的對(duì)比:

requirerequire_onceincludeinclude_once
被載入文件如果不存在是否影響繼續(xù)運(yùn)行YYNN
多次調(diào)用是否會(huì)重復(fù)執(zhí)行被載入的文件YNYn

總結(jié)來(lái)說(shuō):

  • 橫向分為兩類:require 和 include 兩種,區(qū)別在于 require 會(huì)因?yàn)檩d入文件不存在而停止當(dāng)前文件執(zhí)行,而include 不會(huì)。

  • 縱向分為兩類:xxx 和 xxx_once,區(qū)別在于代碼中每使用一次 xxx 就執(zhí)行一次載入的文件,而 xxx_once 只會(huì)在第一次使用是執(zhí)行。

使用層面:

  • include 一般用于載入公共文件,這個(gè)文件的存在與否不能影響程序后面的運(yùn)行

  • require 用于載入不可缺失的文件
    至于是否采用一次載入(once)這種方式取決于被載入的文件

案例:require

require.php

<?php

// // 類似 CSS 的 import 導(dǎo)入文件
// require 'config.php';
// // require 可以用于在當(dāng)前腳本中載入一個(gè)別的腳本文件并且執(zhí)行他
// // require 在每一次調(diào)用時(shí)都會(huì)載入對(duì)應(yīng)的文件

// echo SYSTEM_NAME;

// require 'config.php';

// echo SYSTEM_NAME;

// require_once ==================================
// require_once 如果之前載入過(guò),不再執(zhí)行(只執(zhí)行一次)
// 由于類似于 定義常量 定義函數(shù) 這種操作不能執(zhí)行多次
// 所以 require_once 更加合適載入這種文件

require_once 'config.php';

echo SYSTEM_NAME;

require_once 'config.php';

echo SYSTEM_NAME;

config.php

<?php

/**
 * 定義公共的配置信息
 * 1. 便于維護(hù)
 * 2. 公共使用
 */

define('SYSTEM_NAME', 'HELLO');
define('SYSTEM_VERSION', '1.0.0');
define('DB_HOST', '192.168.110.120');

案例:include

aside.php

<aside>
  這是側(cè)邊欄1111
</aside>

include.php

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <!-- require 特點(diǎn): 一旦被載入的文件不存在就會(huì)報(bào)一個(gè)致命錯(cuò)誤,當(dāng)前文件不再往下執(zhí)行 -->
  <!-- include 特點(diǎn): 載入文件不存在不會(huì)報(bào)錯(cuò)誤(會(huì)有警告,警告不用管),當(dāng)前文件繼續(xù)執(zhí)行 -->
  <?php include 'aside.php'; ?>
  <main>
    這是主要的區(qū)域
  </main>
</body>
</html>

5.php常用API

內(nèi)容太多,見(jiàn)鏈接:https://yangyongli.blog.csdn.net/article/details/111559480

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
php初學(xué)者基礎(chǔ)知識(shí)
php基礎(chǔ)
PHP Global變量定義當(dāng)前頁(yè)面的全局變量
每日一題(const全局變量的作用域)
深入了解Python變量:從基礎(chǔ)到高級(jí)
PHP入門(mén)教程(2)數(shù)組+函數(shù)+變量
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服