Yii - स्वरूपण

पढ़ने योग्य प्रारूप में डेटा प्रदर्शित करने के लिए, आप इसका उपयोग कर सकते हैं formatter अनुप्रयोग घटक।

Step1 - जोड़ें actionFormatter करने की विधि SiteController

public function actionFormatter(){
   return $this->render('formatter');
}

उपरोक्त कोड में, हम अभी प्रस्तुत करते हैं formatter राय।

Step 2 - अब, एक बनाएँ formatter.php अंदर फ़ाइल देखें views/site folder

<?php
   $formatter = \Yii::$app->formatter; // output: January 1, 2016 echo $formatter->asDate('2016-01-01', 'long'),"<br>";
   // output: 51.50%
   echo $formatter->asPercent(0.515, 2),"<br>"; // output: <a href = "mailto:[email protected]">[email protected]</a> echo $formatter->asEmail('[email protected]'),"<br>";
   // output: Yes
   echo $formatter->asBoolean(true),"<br>"; // output: (Not set) echo $formatter->asDate(null),"<br>";
?>

Step 3 - पर जाएं http://localhost:8080/index.php?r=site/formatter, आप निम्न आउटपुट देखेंगे।

formatter घटक दिनांक और समय से संबंधित निम्नलिखित स्वरूपों का समर्थन करता है -

आउटपुट स्वरूप उदाहरण
दिनांक 01 जनवरी 2016
समय 16:06
दिनांक और समय 01 जनवरी, 2016 16:06
TIMESTAMP 1512609983
relativeTime एक घंटे पहले
अवधि 5 मिनट

Step 4 - संशोधित करें formatter इस तरह से देखें।

<?php
   $formatter = \Yii::$app->formatter;
   echo $formatter->asDate(date('Y-m-d'), 'long'),"<br>"; echo $formatter->asTime(date("Y-m-d")),"<br>";
   echo $formatter->asDatetime(date("Y-m-d")),"<br>"; echo $formatter->asTimestamp(date("Y-m-d")),"<br>";
   echo $formatter->asRelativeTime(date("Y-m-d")),"<br>";
?>

Step 5 - टाइप करें http://localhost:8080/index.php?r=site/formatter आपके वेब ब्राउज़र के एड्रेस बार में, आपको निम्न आउटपुट दिखाई देगा।

दिनांक प्रारूप

चार दिनांक प्रारूप शॉर्टकट भी हैं: short, medium, long, and full

Step 1 - संशोधित करें formatter इस तरह देखें फाइल।

<?php
   $formatter = \Yii::$app->formatter; echo $formatter->asDate(date('Y-m-d'), 'short'),"<br>";
   echo $formatter->asDate(date('Y-m-d'), 'medium'),"<br>"; echo $formatter->asDate(date('Y-m-d'), 'long'),"<br>";
   echo $formatter->asDate(date('Y-m-d'), 'full'),"<br>";
?>

Step 2 - अगर आप वेब ब्राउजर में जाते हैं और टाइप करते हैं http://localhost:8080/index.php?r=site/formatter, आप निम्न आउटपुट देखेंगे।

संख्या स्वरूप

formatter घटक संख्याओं से संबंधित निम्नलिखित स्वरूपों का समर्थन करता है -

आउटपुट स्वरूप उदाहरण
पूर्णांक 51
दशमलव 105.51
प्रतिशत 51%
वैज्ञानिक 1.050000E + 2
मुद्रा $ 105
आकार 105 बाइट्स
shortSize 105 बी

Step 1 - संशोधित करें formatter इस तरह से देखें।

<?php
   $formatter = \Yii::$app->formatter;
   echo Yii::$app->formatter->asInteger(105),"<br>"; echo Yii::$app->formatter->asDecimal(105.41),"<br>";
   echo Yii::$app->formatter->asPercent(0.51),"<br>"; echo Yii::$app->formatter->asScientific(105),"<br>";
   echo Yii::$app->formatter->asCurrency(105, "$"),"<br>";
   echo Yii::$app->formatter->asSize(105),"<br>"; echo Yii::$app->formatter->asShortSize(105),"<br>";
?>

Step 2 - पर जाएं http://localhost:8080/index.php?r=site/formatter, आप निम्न आउटपुट देखेंगे।

अन्य प्रारूप

Yii अन्य स्वरूपों का भी समर्थन करता है -

  • text - मान HTML- एन्कोडेड है।

  • raw - मान आउटपुट के रूप में है।

  • paragraphs- मान को HTML पाठ पैराग्राफ के रूप में स्वरूपित किया जाता है, जो पी टैग में लिपटा होता है ।

  • ntext - मान को HTML सादा पाठ के रूप में स्वरूपित किया जाता है, जहाँ नई रेखाएँ लाइन ब्रेक में परिवर्तित हो जाती हैं।

  • html - XSS हमलों से बचने के लिए HtmlPurifier का उपयोग करके मूल्य को शुद्ध किया जाता है।

  • image - मान को एक छवि टैग के रूप में स्वरूपित किया जाता है।

  • boolean - मूल्य को बूलियन के रूप में स्वरूपित किया जाता है।

  • url - मान को लिंक के रूप में स्वरूपित किया जाता है।

  • email - मान को एक मेल-लिंक के रूप में स्वरूपित किया जाता है।

किसी विशिष्ट देश के लिए मान का प्रारूपण करने के लिए फ़ॉर्मेटर वर्तमान में सक्रिय लोकेल का उपयोग कर सकता है।

निम्न उदाहरण दिखाता है कि विभिन्न स्थानों के लिए दिनांक प्रारूप कैसे करें।

<?php
   Yii::$app->formatter->locale = 'ru-RU'; echo Yii::$app->formatter->asDate('2016-01-01'); // output: 1 января 2016 г.
   Yii::$app->formatter->locale = 'de-DE'; // output: 1. Januar 2016 echo Yii::$app->formatter->asDate('2016-01-01');
   Yii::$app->formatter->locale = 'en-US'; // output: January 1, 2016 echo Yii::$app->formatter->asDate('2016-01-01');
?>