亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【PHP 擴(kuò)展開發(fā)】Zephir 基礎(chǔ)篇

wawor4827 / 2400人閱讀

摘要:變量作為函數(shù)返回值時(shí),必須聲明為動(dòng)態(tài)類型。動(dòng)態(tài)變量與中的變量基本完全相同支持在使用時(shí)改變類型。比較運(yùn)算符在運(yùn)算時(shí)考慮變量類型,如果是動(dòng)態(tài)變量與一致。與不一致,語(yǔ)句可以沒有,表示忽略所有異常。

上一篇 《Zephir 簡(jiǎn)介》 簡(jiǎn)單介紹了環(huán)境搭建,編寫了一個(gè)的簡(jiǎn)單示例。這一篇繼續(xù)介紹 Zephir 基礎(chǔ)。

基本語(yǔ)法
Zephir 中,每個(gè)文件都必須有且只有一個(gè)類,每個(gè)類都必須有一個(gè)命名空間,目錄結(jié)構(gòu)必須與所使用的類和命名空間的名稱相匹配,這一點(diǎn)和 PSR4 的約定一致,但是它是強(qiáng)制的。空間名和類名首字母大寫,文件名全部小寫。

變量
Zephir 支持動(dòng)態(tài)類型和靜態(tài)類型。變量作為函數(shù)返回值時(shí),必須聲明為動(dòng)態(tài)類型。

動(dòng)態(tài)變量與 PHP 中的變量基本完全相同,支持在使用時(shí)改變類型。

與 PHP 不一樣,變量名不需要帶$符號(hào),所有變量在使用前都需要先定義,動(dòng)態(tài)類型通過 var 關(guān)鍵字聲明。

var a = 10,b,c;
let b = 20;
let c = a + b;

與 PHP 不一樣,字符串文字只能使用雙引號(hào)指定,不能用單引號(hào),也不支持變量解析,比如這樣是不支持的。

var a = "變量解析{$test}"

靜態(tài)變量

靜態(tài)類型一旦被聲明,就不能更改。支持如下類型

給靜態(tài)類型變量賦值,會(huì)先嘗試自動(dòng)轉(zhuǎn)換,轉(zhuǎn)換失敗拋出異常

boolean a;
let a = 0; // a = false
let a = "string"; // 拋出異常

運(yùn)算符

Zephir 的運(yùn)算符與 PHP 基本一致。比較運(yùn)算符在運(yùn)算時(shí)考慮變量類型,如果是動(dòng)態(tài)變量與 PHP 一致。不支持太空船操作符、空合并運(yùn)算符。

特殊運(yùn)算符 - Fetch

PHP

if (isset($myArray[$key])) {
    $value = $myArray[$key];
    echo $value;
}

Zephir

if fetch value, myArray[key] {
    echo value;
}

控制結(jié)構(gòu)
Zephir 提供了 if/switch/while/loop/for 幾種語(yǔ)句,前三種與 PHP 基本一致。Zephir 控制語(yǔ)句中括號(hào)是非必選的。
loop 可以用來(lái)創(chuàng)建無(wú)限循環(huán),相當(dāng)于 while true

let n = 40;
loop {
    let n -= 2;
    if n % 5 == 0 { break; }
    echo x, "
";
}

for 和 PHP 一樣支持索引 value 和 key => value

for item in ["a", "b", "c", "d"] {
    echo item, "
";
}

let items = ["a": 1, "b": 2, "c": 3, "d": 4];

for key, value in items {
    echo key, " ", value, "
";
}

還非常友好的提供了反方向遍歷

let items = [1, 2, 3, 4, 5];

for value in reverse items {
    echo value, "
";
}

與 python 等語(yǔ)言一樣,遍歷一系列整數(shù)值,可以這么寫:

for i in range(1, 10) {
    echo i, "
";
}

異常處理

異常處理與 PHP 類似,在try 語(yǔ)句中拋出異常,在 catch 中捕獲。

var e;
try {

    throw new Exception("This is an exception");

} catch Exception, e {

    echo e->getMessage();
}

與 PHP 不一致,Zephir try 語(yǔ)句可以沒有 catch,表示忽略所有異常。

即,這是合法的

try {
    throw new Exception("This is an exception");
}

捕獲多個(gè)異常也非常方便

var e;
try {

    throw new Exception("This is an exception");

} catch RuntimeException|Exception, e {
    echo e->getMessage();
}

附件1
官方文檔

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/30185.html

相關(guān)文章

  • Zephir入門 —— Hello world

    摘要:概述是一個(gè)開源的用于簡(jiǎn)化擴(kuò)展的創(chuàng)建和維護(hù)的語(yǔ)言。它使得不擅長(zhǎng)的開發(fā)人員也能寫出擴(kuò)展。是縮寫,讀音為。然后我們?cè)诶镎{(diào)用方法正常的話會(huì)輸出。至此我們也完成了我們的第一個(gè)擴(kuò)展。 概述 Zephir是一個(gè)開源的用于簡(jiǎn)化PHP擴(kuò)展的創(chuàng)建和維護(hù)的語(yǔ)言。它使得不擅長(zhǎng)C/C++的PHP開發(fā)人員也能寫出PHP擴(kuò)展。Zephir是Zend Engine/PHP/Intermediate縮寫,讀音為zep...

    Vicky 評(píng)論0 收藏0
  • PHP 擴(kuò)展開發(fā)Zephir 簡(jiǎn)介

    摘要:什么是是一種中間語(yǔ)言,以接近的語(yǔ)法來(lái)編寫代碼,然后轉(zhuǎn)換編譯成擴(kuò)展,旨在簡(jiǎn)化擴(kuò)展的創(chuàng)建和可維護(hù)性。如果成功,會(huì)自動(dòng)生成文件到目錄你需要編輯填加擴(kuò)展測(cè)試一下就這樣,你也會(huì)擴(kuò)展開發(fā)了附附編譯擴(kuò)展的方法 什么是 Zephir Zephir 是一種中間語(yǔ)言,以接近 PHP 的語(yǔ)法來(lái)編寫代碼,然后轉(zhuǎn)換編譯成 PHP 擴(kuò)展,旨在簡(jiǎn)化 PHP 擴(kuò)展的創(chuàng)建和可維護(hù)性。利用編譯來(lái)提高性能和資源消耗,又不需...

    arashicage 評(píng)論0 收藏0
  • 使用 Zephir 輕松構(gòu)建 PHP 擴(kuò)展

    摘要:簡(jiǎn)介通過擴(kuò)展,我們可以在代碼中使用一些特定的方法大部分的擴(kuò)展都是用寫的。這個(gè)目錄與我們的擴(kuò)展同名。我們先來(lái)在擴(kuò)展中創(chuàng)建一個(gè)類,使用此類來(lái)渲染。接下來(lái)命令行執(zhí)行以下命令來(lái)編譯擴(kuò)展第一次運(yùn)行以上命令時(shí),會(huì)初始化一些東西。 showImg(https://segmentfault.com/img/remote/1460000018698586); 簡(jiǎn)介: 通過 PHP 擴(kuò)展, 我們可以在 p...

    gaosboy 評(píng)論0 收藏0
  • Zephir入門 —— 語(yǔ)法

    摘要:變量對(duì)象屬性數(shù)組靜態(tài)變量不支持全局變量,也不允許訪問用戶域的全局變量,但是可以訪問的超級(jí)全局變量變量類型支持動(dòng)態(tài)和靜態(tài)類型。雖然失去了動(dòng)態(tài)型變量的靈活性,但是在編譯時(shí)靜態(tài)變量能進(jìn)行更多的優(yōu)化。 概述 Zephir的語(yǔ)法跟PHP很相似,所以這里不會(huì)把官網(wǎng)的文檔照搬過來(lái)翻譯一遍,而是會(huì)把一些Zephir相較于PHP比較特別的語(yǔ)法挑出來(lái)講一下。如果想要要完整學(xué)習(xí)Zephir的語(yǔ)法,沒有比官...

    shiina 評(píng)論0 收藏0
  • Zephir--最簡(jiǎn)單的php擴(kuò)展開發(fā)工具

    摘要:更多關(guān)于的技術(shù)文章的擴(kuò)展是用語(yǔ)言編寫,是語(yǔ)言引擎,內(nèi)核。見提供了一種類似的高級(jí)語(yǔ)言語(yǔ)法的方式,來(lái)自動(dòng)生成擴(kuò)展的語(yǔ)言代碼,使編寫擴(kuò)展變得非常的簡(jiǎn)單。直接修改該文件的代碼,使用原擴(kuò)展的編輯方法也是可以滴。 更多關(guān)于PHP的技術(shù)文章http://www.codefrom.com/ php的擴(kuò)展是用c語(yǔ)言編寫,Zend是語(yǔ)言引擎,PHP內(nèi)核。在實(shí)際編寫php擴(kuò)展的時(shí)候,需要使用大量的...

    dinfer 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<