में वैरिएबल मौजूद है, तो मैं ब्लेड निर्देश बनाने की कोशिश कर रहा हूं जो वैरिएबल को प्रतिबिंबित करता है (यदि परिवर्तनीय परिभाषित) या परिवर्तनीय अपरिभाषित होने पर "डेटा नहीं" गूंजता है।जांचें कि क्या लैरवेल के ब्लेड निर्देश
यह AppServiceProvider.php
में मेरे कोड है:
<?php
namespace App\Providers;
use Blade;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Blade::directive('p', function($ex) {
error_log(print_r($ex,true));
return '<?php $defined_vars = get_defined_vars(); if(array_key_exists(\''. $ex .'\', $defined_vars)): echo ' . $ex . ' ; else: echo \'no data\'; endif;?>';
});
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
यहाँ मेरी index.blade.php है:
<p class="lead">@p($myvar)</p>
लेकिन मेरे निर्देश "पी" देता है "कोई डेटा" यदि चर को परिभाषित किया। यदि मैं जारी त्रुटि त्रुटि का उपयोग करता हूं: Cannot use isset() on the result of an expression (you can use "null !== expression" instead)
परिवर्तनीय परिभाषित किए गए मैं निर्देशों के अंदर कैसे जांच सकता हूं?
जांच कर सकता है तो तुम कह रहे हो अगर (isset ($ myVar)) काम नहीं करता है? –