CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

18 August, 2022

Render files from the command line with Blade

 Programing Coderfunda     August 18, 2022     Laravel, Packages     No comments   

 With the Laravel Blade CLI package, you can use the Blade engine to render files from the command line. This package doesn't support 100% of all Blade directives you might be familiar with in Laravel but does support common ones like @if, @else, @foreach, @forelse, @while, etc.

Give the following example file from the readme:

1name: {{ $name }}
2relationship: {{ $relationship }}
3favorite_food: {{ $favoriteFood }}
4@if($includeAddress)
5address: "123 example lane"
6@endif

You can render that file using the CLI:

1blade render ./person.yml \
2 --name="Bob" \
3 --relationship="Uncle" \
4 --favorite-food="Pizza" \
5 --include-address \
6 --save-directory="build/"

Which will save the file at ./build/person.yml

Installing this project globally via composer gives you access to the blade CLI command. However, you can also use the code directly from this package:

1use BladeCLI\Blade;
2use Illuminate\Container\Container;
3use Illuminate\Filesystem\Filesystem;
4 
5$blade = new Blade(
6 container: new Container,
7 filesystem: new Filesystem,
8 filePath: '/path/to/file/to/render',
9 options: [
10 'force'=> true, // force overwrite existing rendered file
11 'save-directory'=>'save-to-dir' // optional directory to save rendered file to. Default is current directory.
12 ]
13);
14 
15// render the file with this data/vars
16$blade->render([
17 'var'=>'example'
18]);

You can also pass data to the template via JSON using the --from-json flag, which accepts a path to a JSON file. Finally, you can use this package to process an entire directory of templates:

1php blade render templates/ --some-data=foo --force

You can learn about this package, get full installation instructions, and view the source code on GitHub.

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Manage navigational elements in Laravel apps

 Programing Coderfunda     August 18, 2022     Laravel, Packages     No comments   

 Laravel Navigation is a package by Spatie to manage menus, breadcrumbs, and other navigational elements in Laravel apps.

While the Spatie Laravel Menu package is a Html menu generator for Laravel, think of this package as a "renderless component" for navigation components:

1app(Navigation::class)
2 ->add('Home', route('home'))
3 ->add('Blog', route('blog.index'), function (Section $section) {
4 $section
5 ->add('All posts', route('blog.index'))
6 ->add('Topics', route('blog.topics.index'));
7 })
8 ->addIf(Auth::user()->isAdmin(), function (Navigation $navigation) {
9 $navigation->add('Admin', route('admin.index'));
10 });
11 
12// Render to tree
13app(Navigation::class)->tree();
14 
15/*
16 
17[
18 { "title": "Home", "url": "/", "active": false, "children": [] },
19 {
20 "title": "Blog",
21 "url": "/blog",
22 "active": false,
23 "children": [
24 { "title": "All posts", "url": "/blog", "active": false, "children": [] },
25 { "title": "Topics", "url": "/blog/topics", "active": true, "children": [] }
26 ],
27 },
28 { "title": "Admin", "url": "/admin", "active": false, "children": [] }
29]
30 
31*/

With this package you and also generate breadcrumbs from navigation using the following method:

1// Append additional pages in your controller
2app(Navigation::class)->activeSection()->add($topic->name, route('blog.topics.show', $topic));
3 
4// Render to breadcrumbs
5app(Navigation::class)->breadcrumbs();
6 
7/*
8[
9 { "title": "Blog", "url": "/blog" },
10 { "title": "Topics", "url": "/blog/topics" },
11 { "title": "Laravel", "url": "/blog/topics/laravel" }
12]
13*/

You can learn about this package, get full installation instructions, and view the source code on GitHub. Thanks to Sebastian De Deyne and the Spatie team for this package, and all the fantastic open-source PHP and Laravel packages like this one 👏

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Newer Posts Older Posts Home

Meta

Popular Posts

  • Vue.js Events
      In Vue.js, Events are used to respond to an action. Suppose, you have to build a dynamic website using Vue.js then you'll most likely ...
  • Is there a way to use awk to count the number of rows between 2 flags and input that number into a specific field?
    I have a set of data that consists of seismic wave travel times and their corresponding information (i.e. source that produced the wave and ...
  • Use Leaflet.js and Google Maps Blade Components in Laravel
      Laravel Maps   is a package to easily create maps using   Leaflet.js   or Google Maps and Blade components. The main features that work wi...
  • How to use Filament 3 with Laravel 11 | Beginner Course
    How to install filament 3 from scratch with Laravel 11. submitted by /u/Tilly-w-e [link] [comments]
  • How to Run a Python File on a Specific Virtual Desktop Only?
    I want to run a Python script on a specific virtual desktop without affecting other desktops. Currently, when I execute my Python file us...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (69)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • July (4)
  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

Loading...

Laravel News

Loading...

Copyright © CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda