I'm currently organising the third edition Full Stack Europe. It's a conference in Antwerp, Belgium in October for developers who want to learn across the stack. We have a great line up with lots of familiar faces! Register your ticket now!

A Blade directive to export PHP variables to JavaScript

Original – by Freek Van der Herten – 1 minute read

Today we released our new package called laravel-blade-javascript. It provides you with a javascript Blade directive to export PHP variables to JavaScript. So it basically does the same as Jeffrey Way's popular PHP-Vars-To-Js-Transformer package but instead of exporting variables in the controller our package does it a view.

Here's an example of how it can be used:

@javascript('key', 'value')

The rendered view will output:

<script type="text/javascript">window['key'] = 'value';</script>

So in your browser you now have access to a key variable:

console.log(key); //outputs "value"

You can also use a single argument:

@javascript(['key' => 'value'])

Which will output the same as the first example.

You can also use the config file to set up a namespace where all exported JavaScript variables should reside in.

Want to learn more? Then take a look at the package on GitHub. You can find a list of packages we previously released on our site.

Stay up to date with all things Laravel, PHP, and JavaScript.

You can follow me on these platforms:

On all these platforms, regularly share programming tips, and what I myself have learned in ongoing projects.

Every month I send out a newsletter containing lots of interesting stuff for the modern PHP developer.

Expect quick tips & tricks, interesting tutorials, opinions and packages. Because I work with Laravel every day there is an emphasis on that framework.

Rest assured that I will only use your email address to send you the newsletter and will not use it for any other purposes.


What are your thoughts on "A Blade directive to export PHP variables to JavaScript"?

Comments powered by Laravel Comments
Want to join the conversation? Log in or create an account to post a comment.