आप ब्लेड को इस तरह बढ़ा सकते हैं:
Blade::directive('switch', function ($expression) {
return "<?php switch($expression): ?>";
});
Blade::directive('case', function ($expression) {
return "<?php case $expression: ?>";
});
Blade::directive('break', function () {
return "<?php break; ?>";
});
Blade::directive('default', function () {
return "<?php default: ?>";
});
Blade::directive('endswitch', function () {
return "<?php endswitch; ?>";
});
फिर आप निम्नलिखित का उपयोग कर सकते हैं:
@switch($test)
@case(1)
Words
@break
@case(2)
Other Words
@break
@default
Default words
@endswitch
हालाँकि चेतावनी में ध्यान दें: http://php.net/manual/en/control-structures.alternative-syntax.php
यदि स्विच () और पहले मामले के बीच कोई व्हाट्सएप है तो पूरा कोड ब्लॉक विफल हो जाएगा। यह एक ब्लेड सीमा के बजाय एक PHP सीमा है। आप सामान्य वाक्यविन्यास जैसे को मजबूर करके इसे बायपास करने में सक्षम हो सकते हैं:
Blade::directive('switch', function ($expression) {
return "<?php switch($expression) { ?>";
});
Blade::directive('endswitch', function ($) {
return "<?php } ?>";
});
लेकिन यह थोड़ा गलत लगता है।