En iyi Uygulamalar: uzun çalışma, PHP çok satırlı dizeleri? | Netgez.com
SORU
4 Aralık 2009, Cuma


En iyi Uygulamalar: uzun çalışma, PHP çok satırlı dizeleri?

Eğer bu son derece basit bir soru ise özür dilerim ama benim kod biçimlendirme üzerinde obsesif kompulsif oldum biraz. not:

Bir e-posta gövde metnini oluşturacak bir dize döndüren bir işlevi olan bir sınıf var. Bu metin doğru görünüyor biçimlendirilmiş e-posta istiyorum, ama aynı zamanda bu yüzden benim kod funky göstermiyor. Demek istediğim şey şu:

class Something
{
    public function getEmailText($vars)
    {
        $text = 'Hello ' . $vars->name . ",

The second line starts two lines below.

I also don't want any spaces before the new line, so it's butted up against the left side of the screen.";
        return $text;
    }
}

ama aynı zamanda olarak yazılabilir:

public function getEmailText($vars)
{
    $text = "Hello {$vars->name},\n\rThe second line starts two lines below.\n\rI also don't want any spaces before the new line, so it's butted up against the left side of the screen.";
    return $text;
}

ama yeni hatları ve satırbaşları ile anlaşma nedir? Ne fark eder? \n\n \r\r \n\r eşdeğerdir? Hangi satırlar arasında bir satır boşluk yaratıyorum ne zaman kullanmalıyım?

Sonra çıktı tamponlama ve heredoc sözdizimi seçeneği var.

Nasıl nesneleri uzun çok satırlı dizeleri kullanarak başa çıkıyorsunuz?

CEVAP
4 Aralık 2009, Cuma


HEREDOC NOWDOC ya da kullanmalısınız.

$var = "some text";
$text = <<<EOT 
  Place your text between the EOT. It's
  the delimiter that ends the text
  of your multiline string.
  $var
EOT;

Heredoc ve Nowdoc arasındaki fark, bu bir php kodu içinde gömülü heredoc Nowdoc php kodu olarak yazdırılır iken idam alır.

$var = "foo";
$text = <<<'EOT'
  My $var
EOT;

Metin bu durumda $değere sahip olacaktır: My $var.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:
Php

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • 1881 Animation

    1881 Animati

    5 EKÄ°M 2013
  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • boogie2988

    boogie2988

    6 NÄ°SAN 2006