99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

如何編寫不同的PHP?

PHP是開發(fā)界討論最多的編程語言之一。有人將其稱為無效的編程語言,有人將其稱為令人討厭的編程語言,沒有約定或體系結(jié)構(gòu),我同意其中的一些觀點,因為他們有公平的觀點。但是,在這里,我將分享我這些年來用PHP進行編程的經(jīng)驗。其中一些技巧僅在最新的PHP版本中可用,因此它們在舊版本中可能無法使用。

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供韶山網(wǎng)站建設(shè)、韶山做網(wǎng)站、韶山網(wǎng)站設(shè)計、韶山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、韶山企業(yè)網(wǎng)站模板建站服務(wù),10多年韶山做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

類型提示和返回類型

就數(shù)據(jù)類型而言,PHP并不是一種完美的語言,但是您可以使用類型提示和返回類型來提高代碼質(zhì)量并防止進一步的類型沖突。使用PHP的這些功能的人并不多,并不是所有的PHP程序員都知道這是可能的。

<?php
function greet_user(User $user, int $age): void {
    echo "Hello" . $user->first_name . " " . $user->last_name;
    echo "\\nYou are " . $age . " years old";
}

可以在參數(shù)變量之前使用類型的名稱或類聲明類型提示,并在冒號后的函數(shù)簽名之后聲明返回類型。

在像Laravel這樣的框架中設(shè)計控制器時,可以更高級地使用它:

<?php
class UserController extends Controller
{
    // User sign up controller
    public function signUp(Request $request): JsonResponse
    {
        // Validate data
        $request->validate([
            'plateNumber' => 'required|alpha_num|min:3|max:20|unique:users,plate_number',
            'email' => 'required|email|unique:users',
            'firstName' => 'required|alpha',
            'lastName' => 'required|alpha',
            'password' => 'required|min:8',
            'phone' => 'required|numeric|unique:users'
        ]);
        // Create user
        $new_user = new User;
        $new_user->plate_number = trim(strtoupper($request->input('plateNumber')));
        $new_user->email = trim($request->input('email'));
        $new_user->first_name = trim($request->input('firstName'));
        $new_user->last_name = trim($request->input('lastName'));
        $new_user->password = Hash::make($request->input('password'));
        $new_user->phone = trim($request->input('phone'));
        $new_user->save();
        return response()->json([
            'success' => true,
        ]);
    }
}

三元運算符

三元運算符是幾乎70%的程序員都知道并廣泛使用的東西,但是如果您不知道三元運算符是什么,請參見以下示例:

<?php
$age = 17;
if($age >= 18) {
    $type = 'adult';
} else {
    $type = 'not adult';
}

可以使用三元運算符將此代碼簡化為以下代碼:

<?php
$age = 17;
$type = $age >= 18 ? 'adult' : 'not adult';

如果滿足條件,則不將第二部分分配給該變量。

如果要使用條件的值(如果它被評估為真實值),則還有一種更短的方法。

<?php
$url = 'http://example.com/api';
$base_url = $url ? $url : 'http://localhost';

如您所見$url,既用作條件又用作條件為真的結(jié)果。在這種情況下,可以轉(zhuǎn)義左側(cè)操作數(shù):

<?php
$url = 'http://example.com/api';
$base_url = $url ?: 'http://localhost';

空合并運算符

就像三元運算符一樣,您可以使用空合并運算符來查看值是否存在,請注意,因為false本身就是值,所以現(xiàn)存值與錯誤值不同。

<?php
$base_url = $url ?? 'http://localhost';

現(xiàn)在$base_url等于,http://localhost但是如果我們將其定義$url為false,則$base_url變量將等于false。

<?php
$url = false;
$base_url = $url ?? 'http://localhost';

使用此運算符,您可以檢查以前是否定義了變量,以及是否未為其分配值:

<?php
$base_url = 'http://example.com';
$base_url = $base_url ?? 'http://localhost';

您可以使用空合并分配運算符來縮短此代碼

<?php
$base_url = 'http://example.com';
$base_url ??= 'http://localhost';

所有這些nall合并技術(shù)都可以在數(shù)組值上實現(xiàn)。

<?php
$my_array = [
    'first_name' => 'Adnan',
    'last_name' => 'Babakan'
];
$my_array['first_name'] ??= 'John';
$my_array['age'] ??= 20;

上面的數(shù)組將具有first_nameas,Adnan因為它已經(jīng)被定義,但是將定義一個名為的新鍵,age并為其指定編號20,因為它不存在。

飛船運算符

當(dāng)您想知道哪個操作數(shù)更大而不是僅知道一側(cè)是否更大時,太空飛船算符是一個非常有用的運算符。

飛船操作者將返回的一個1,0或-1值時,左邊的操作數(shù)較大時,當(dāng)兩個操作數(shù)是相等的,并且當(dāng)右操作數(shù)分別是較大的。

<?php
echo 5 <=> 3; // result: 1
echo -7 <=> -7; // result: 0
echo 9 <=> 15; // result: -1

很簡單,但非常有用。

當(dāng)您意識到太空飛船操作員也可以比較其他事物時,這將變得更加有趣:

<?php
// String
echo 'c' <=> 'b'; // result: -1
// String case
echo 'A' <=> 'a'; // result: 1
// Array
echo [5, 6] <=> [2, 7]; // result: 1

箭頭函數(shù)

如果您曾經(jīng)編寫過JavaScript應(yīng)用程序,尤其是使用其最新版本進行編程,則應(yīng)該熟悉箭頭功能。箭頭函數(shù)是一種定義沒有范圍的函數(shù)的較短方法。

<?php
$pi = 3.14;
$sphere_volume = function($r) {
    return 4 / 3 * $pi * ($r ** 3);
};
echo $sphere_volume(5);

上面的代碼將引發(fā)錯誤,因為$pi未在此特定函數(shù)的范圍內(nèi)定義變量。如果我們想使用它,我們應(yīng)該稍微改變一下我們的功能:

<?php
$pi = 3.14;
$sphere_volume = function($r) use ($pi) {
    return 4 / 3 * $pi * ($r ** 3);
};
echo $sphere_volume(5);

因此,現(xiàn)在我們的函數(shù)可以使用$pi在全局范圍內(nèi)定義的變量。

但是做這些事情的更短的方法是使用箭頭功能。

<?php
$pi = 3.14;
$sphere_volume = fn($r) => 4 / 3 * $pi * ($r ** 3);
echo $sphere_volume(5);

如您所見,它非常簡單整潔,默認情況下可以訪問全局范圍。

推薦教程:《PHP》

本文名稱:如何編寫不同的PHP?
鏈接地址:http://www.yijiale78.com/article22/cppscc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、軟件開發(fā)、網(wǎng)站改版、品牌網(wǎng)站制作、ChatGPT、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司