php bu koşulları yazmak nasıl

2 Cevap php

Hey guys, im ben bu şekilde bir durum bildiri yazmak nasıl merak bir sınıf ve im yazma:

$this->referer= (!empty($_SERVER['HTTP_REFERER'])) ? htmlspecialchars((string) $_SERVER['HTTP_REFERER']) : '';

benim user_id bulmalıyız ve bu olağan condtion olduğunu:

    if(is_user($user)){ 
        $cookie=cookiedecode($user);
        $user_id=intval($cookie[0]);
    }

ve ben böyle bir şey olması gerektiğini düşünüyorum:

    $this->user_id = (is_user($user)) ? (cookiedecode($user)) : $cookie[0];

ama işe yaramadı

2 Cevap

ne bu yol hakkında:

    if(is_user($user)){ 
        $cookie=cookiedecode($user);
        $this->user_id =intval($cookie[0]);
    }

Üçlü operatör idareli kullanılması gerektiğini, sadece ve sadece mantık okunabilirliği korumak için yeteri kadar basit! Anlamak zor kalarak yararlılığını daha ağır basar çok karmaşık ve kestirme olsun.

Üçlü operatör bir seferde sadece tek bir değişken assignement ile çalışacaktır. İşte manual example olduğunu

<?php
// Example usage for: Ternary Operator
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// The above is identical to this if/else statement
if (empty($_POST['action'])) {
    $action = 'default';
} else {
    $action = $_POST['action'];
}

Sizin örnek

$this->user_id = (is_user($user)) ? (cookiedecode($user)) : $cookie[0];

{[(1)] true}, ya da $cookie[0] değilse dönerse cookiedecode($user) için user_id atar.

Bunun ışığında:

you should keep your existing code structure!!