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

03 May, 2022

Laravel Themer package: add multi-theme support for Laravel application

 Programing Coderfunda     May 03, 2022     Laravel, Packages     No comments   

 This Laravel Themer package adds multi-theme support to your Laravel application. It also provides a simple authentication scaffolding and presets for Bootstrap, Tailwind, Vue, and React as a starting point for building a Laravel application.

In my opinion, this Laravel Themer package is a better alternative to the official laravel/ui & laravel/breeze packages because of the following features:

  • Any number of themes
  • Fallback theme support (WordPress style); It allows creating a child theme to extend any theme
  • Provides authentication scaffolding similar to laravel/ui & laravel/breeze
  • Exports all auth controllers, tests, and other files similar to laravel/breeze
  • Provides frontend presets for Bootstrap, Tailwind, Vue 2, Vue 3, and React

If you don't want to use this package's auth scaffolding, instead, you want to use Laravel Fortify, no problem with that. You can use Laravel Themer with Fortify as well. Laravel Fortify is a frontend agnostic authentication backend for Laravel, and it does not provide views or frontend presets. So, use Fortify for backend authentication and Laravel Themer for your views, presets, and for multi-theme support.

Video Tutorial

Installation

Install via composer

1composer require qirolab/laravel-themer

Publish a configuration file:

1php artisan vendor:publish --provider="Qirolab\Theme\ThemeServiceProvider" --tag="config"

Creating a theme

Use the following command to create a theme:

1php artisan make:theme

Create theme

Middleware to set a theme

Register ThemeMiddleware in app\Http\Kernel.php:

1protected $routeMiddleware = [
2 // ...
3 'theme' => \Qirolab\Theme\Middleware\ThemeMiddleware::class,
4];

Examples for middleware usage:

1Route::get('/dashboard', 'DashboardController@index')
2 ->middleware('theme:dashboard-theme');

Theme methods:

1// Set active theme
2Theme::set('theme-name');
3 
4// Get current active theme
5Theme::active();
6 
7// Get current parent theme
8Theme::parent();
9 
10// Clear theme. So, no theme will be active
11Theme::clear();
12 
13// Get theme path
14Theme::path($path = 'views');
15// output:
16// /app-root-path/themes/active-theme/views
17 
18Theme::path($path = 'views', $themeName = 'admin');
19// output:
20// /app-root-path/themes/admin/views
21 
22Theme::getViewPaths();
23// Output:
24// [
25// '/app-root-path/themes/admin/views',
26// '/app-root-path/resources/views'
27// ]

webpack.mix.js Configuration

After creating a new theme, it creates a separate webpack.mix.js file for that theme. So, to compile the theme's webpack.mix.js file it should be included in the app's webpack.mix.js that is located in the root path.

1// add this in the root `webpack.mix.js`
2require(`${__dirname}/themes/theme-name/webpack.mix.js`);

In the case of multiple themes, If you add multiple webpack.mix.js of different themes. Then webpack may not compile these correctly. So, you should modify the root webpack.mix.js with the following code:

1let theme = process.env.npm_config_theme;
2 
3if(theme) {
4 require(`${__dirname}/themes/${theme}/webpack.mix.js`);
5} else {
6 // default theme to compile if theme is not specified
7 require(`${__dirname}/themes/theme-name/webpack.mix.js`);
8}

Now, you can use the following command to compile assets for a particular theme:

1npm run dev --theme=theme-name
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

02 May, 2022

Laravel ETag and Conditionals Package

 Programing Coderfunda     May 02, 2022     Laravel, Packages     No comments   

 Laravel ETag and Conditionals is a package that provides a set of middleware for ETags and HTTP conditional requests. The goal of this package is to provide tools for better client-side caching for Laravel apps.

Using the techniques supported by this middleware, browsers can handle the caching provided automatically based on ETag headers in HTTP responses.

ETag Support

At the heart of this package, the setEtag middleware will set the ETag header on responses. The value of this header is the MD5 hash of the content. This package also supports HEAD requests (see the readme for details).

HTTP Conditional Requests

This package's middleware currently supports two HTTP Conditional requests: If-Match and If-None-Matched. To give a high-level understanding of how this can be useful to your app, when the If-None-Match header in the request matches the Etag, then a 304 response is returned, and the browser will use cached content instead. If the If-None-Match header doesn't match the newly created ETag value, then a 200 response is returned. This applies to GET and HEAD requests only.

Learn More

You can learn more about this package, get full installation instructions, and view the source code on GitHub. It's also advisable to learn more about the ETag header and HTTP conditional requests to understand how the HTTP specification works to support browser caching.

The author of the package also wrote an article that explains how to write the middleware in this package: Caching your Laravel API with ETag and Conditional Requests.

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

01 May, 2022

Friendly Prefix IDs for Eloquent Models

 Programing Coderfunda     May 01, 2022     Laravel, Packages     No comments   

 Laravel Prefixed IDs is a package by Spatie that automatically adds a friendly prefixed ID to Laravel models. As Freek Van der Herten describes in his introductory post about this package, it provides human-readable prefixes to otherwise random IDs. For example, you might give a token ID that contains a friendly prefix:

1token_sandbox_FKdleMEKfiemsiDSMEODL

The token_sandbox prefix could indicate that it's a token for your sandbox environment, which would otherwise look like a random ID.

Here's an example model from Freek's article that illustrates how you use this package to indicate the model has a prefixed column:

1namespace App\Models;
2 
3use Illuminate\Database\Eloquent\Model;
4use Spatie\PrefixedIds\Models\Concerns\HasPrefixedId;
5 
6class YourModel extends Model
7{
8 use HasPrefixedId;
9}

If you follow the installation instructions, you'll need a table column for your model that contains the prefixed id, which defaults to prefixed_id.

Here are a few examples of how you might use this package with a model containing a prefixed ID:

1$model = ApiToken::create();
2$model->prefixed_id
3 
4ApiToken::findByPrefixedId('token_sandbox_fekjlmsme39dmMS'); // returns model
5ApiToken::findByPrefixedId('invalid-id'); // null

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

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

Meta

Popular Posts

  • 25 PHP Interview Questions and Answers You Must Know
    Here are some PHP questions and answers for experienced developers (with some beginner concepts covered).   Do you need to test a developer...
  • Laravel Media Uploader
      The   Laravel Media Uploader   package by   Ahmed Fathy   uploads files using Spatie’s media library package before saving a model. You ca...
  • How to Customize Product Page Layout in Magento
      How to Customize Product Page Layout in Magento As you might know, each product requires a particular page layout based on its unique feat...
  • Node.js OS
    Node.js OS Node.js OS provides some basic operating-system related utility functions. Let's see the list generally used functions or me...
  • SRK's King eyes record-breaking Rs 50 crore music rights deal
    image/jpeg https://timesofindia.indiatimes.com/entertainment/hindi/bollywood/news/shah-rukh-khans-king-eyes-record-breaking-rs-50-crore-musi...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1018)
  • 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

  • ▼  2026 (205)
    • ▼  08/30 - 09/06 (87)
      • Anshula hits back at body shaming on social media,...
      • Antony Varghese reveals why he missed Thalapathy V...
      • Kunal Kemmu opens up on directing Sharmila Tagore ...
      • ‘Vishwanath And Sons’ actor Suriya’s EXPENSIVE car...
      • ' Toxic': Yash starrer misses major milestones on ...
      • Kareena regrets leaving education after Class 11, ...
      • Amid Deepika row, Preity opens up on her own 18-ho...
      • Priyanka Chopra rewinds romance with Nick Jonas - ...
      • Princess Diana's godson Prince Philippos and Princ...
      • 'Dad, I'm not feeling OK': Haitian student who app...
      • California condo owners were suddenly handed a $26...
      • Meet the 18-year-old whose junk hauling business e...
      • China's Xi tells Middle East to be ‘masters of the...
      • Is Texas accepting gold, silver as payment from Se...
      • US nurse found dead with 2 sons in suspected doubl...
      • Teacher's welding dream turns into North Dakota's ...
      • In 1947, Houston opened a 700-seat Art Deco theate...
      • Dad who won a cabbage in 1977 scoops £4m Bath mans...
      • Indian H-1Bs hiring other Indians, giving them bes...
      • Indiana Dunes lodge reopens after 50 years, with a...
      • Indian-origin CEO says it's pathetic victim mental...
      • Meet the 19-year-old who made 7,000 bow ties to he...
      • Vanessa Trump spotted at court as Tiger Woods lose...
      • California could unlock $100M-$200M in annual wate...
      • Six months of Trump's Iran war: America won battle...
      • After their brother died, two siblings inherited 2...
      • Five Indiana engineering students built a 12-hour ...
      • A stormwater pond in Calgary appears filled with P...
      • Swara reacts to backlash after her comment on 'Jau...
      • Is Rajinikanth’s ‘Jailer 2’ to be postponed? Here’...
      • Darshan breaks silence on estranged wife Apara's c...
      • Scarlett Johansson net worth in 2026
      • Bollywood stars help Sudhir Dalvi of 'Sai Baba' fa...
      • 'Toxic': Yash, Kiara Advani, Nayanthara film cross...
      • Mukesh Khanna reacts to trolling over ad with Sama...
      • Julie Andrews reveals fitness routine at 90: ‘I fe...
      • Zeenat Aman reveals why she stayed in her turbulen...
      • ‘Mandaadi’ actor Soori recalls painful set inciden...
      • Dolly Parton cradled newborn Emma in 2007; now 18,...
      • RGV defends Allu Aravind's comment on Yash: 'Only ...
      • Anjali Patil’s ‘Selvi’ trailer unveiled ahead of B...
      • R Madhavan recalls son Vedaant's honest film reviews
      • Vijay Deverakonda shares first reaction to Rashmik...
      • Who is Aishwarya Rai Bachchan’s brother Aditya Rai?
      • 'The One About Matthew Perry' Docuseries set for O...
      • Aditya Dhar lauds Yash for 'Toxic', amid the film ...
      • Ariana changes 'Thank U, Next' lyric for Ricky - W...
      • 'Sardar 2' stars Karthi, SJ Suryah and Ashika visi...
      • In 1937, Pittsburgh built a 102-foot water tank th...
      • Meet Ingrid Alexandra: 22-year-old heir as King Ha...
      • Built in 1881 and closed in 2004, a $55 million Sm...
      • A Staten Island deli manager started paying kids f...
      • Hammer-wielding Ohio man who smashed windows of JD...
      • Hollywood actor Joel McCrea bought a California ra...
      • 40+ Tennessee Tiny-home owners sue over ‘zombie HO...
      • In 2023, buyers paid $87,000 for a crumbling 1979 ...
      • Israeli PM Netanyahu’s son urgently evacuated from...
      • In 1943, two Jewish refugees bought a LA mansion f...
      • WWII-era plane packed into boxes in 1953 moved wit...
      • Los Angeles theatre reopens after a 15-year, $40 m...
      • In 2008, Allen University moved a 1903 house and p...
      • In 1944, Polish priest Henry Denis endured Nazi ma...
      • Texas volunteers began a cleanup 40 years ago; now...
      • Florida couple spent 41 years preserving a 1908 ho...
      • A 19-year-old's girlfriend fell onto train tracks;...
      • In 2001, 880 tiny weevils were released to fight T...
      • 16th-century English longhouse restored into build...
      • Howling from a California water tank leads rescuer...
      • India Post GDS recruitment 2026: Applications open...
      • UGC NET June 2026 re-exam city intimation slip rel...
      • Google Antigravity explained: How it differs from ...
      • Gujarat schools hit by heavy rain can hold classes...
      • SSC Stenographer Grade C, D exam 2026 dates revise...
      • IBPS RRB 2026 registration begins for over 13,000 ...
      • IGNOU July 2026 admissions: Last date to apply for...
      • UGC invites applications from HEIs for ODL, online...
      • IIT JAM 2027 brochure released, registration dates...
      • IOB SO recruitment 2026: Indian Overseas Bank invi...
      • India makes IST the sole official time reference: ...
      • WB NEET UG round 1 seat allotment result 2026 out ...
      • Dehradun schools, Anganwadi centres closed today a...
      • What’s on your work desk? Books, plants or a cute ...
      • CTET 2026 September registration window closes tod...
      • ₹10 lakh extra salary, but no bigger savings? Beng...
      • DU fourth year rollout sparks teacher workload con...
      • IIT Kanpur-ISKCON MoU on student well-being sparks...
      • HTET 2025 result declared for all three levels; ch...
    • ►  08/16 - 08/23 (1)
    • ►  08/02 - 08/09 (8)
    • ►  07/26 - 08/02 (108)
    • ►  06/28 - 07/05 (1)
  • ►  2025 (4)
    • ►  07/06 - 07/13 (2)
    • ►  06/29 - 07/06 (2)
  • ►  2024 (486)
    • ►  09/15 - 09/22 (30)
    • ►  09/08 - 09/15 (35)
    • ►  09/01 - 09/08 (35)
    • ►  08/11 - 08/18 (2)
    • ►  08/04 - 08/11 (33)
    • ►  07/28 - 08/04 (30)
    • ►  07/07 - 07/14 (11)
    • ►  06/30 - 07/07 (35)
    • ►  06/23 - 06/30 (5)
    • ►  06/02 - 06/09 (31)
    • ►  05/26 - 06/02 (20)
    • ►  05/05 - 05/12 (29)
    • ►  04/28 - 05/05 (26)
    • ►  04/07 - 04/14 (10)
    • ►  03/31 - 04/07 (34)
    • ►  03/24 - 03/31 (10)
    • ►  03/03 - 03/10 (35)
    • ►  02/25 - 03/03 (15)
    • ►  02/04 - 02/11 (22)
    • ►  01/28 - 02/04 (30)
    • ►  01/07 - 01/14 (8)
  • ►  2023 (484)
    • ►  12/31 - 01/07 (35)
    • ►  12/24 - 12/31 (10)
    • ►  12/03 - 12/10 (33)
    • ►  11/26 - 12/03 (20)
    • ►  11/05 - 11/12 (35)
    • ►  10/29 - 11/05 (20)
    • ►  10/22 - 10/29 (9)
    • ►  10/15 - 10/22 (7)
    • ►  10/08 - 10/15 (9)
    • ►  10/01 - 10/08 (10)
    • ►  09/24 - 10/01 (9)
    • ►  09/17 - 09/24 (9)
    • ►  09/10 - 09/17 (7)
    • ►  09/03 - 09/10 (9)
    • ►  08/27 - 09/03 (9)
    • ►  08/20 - 08/27 (8)
    • ►  08/13 - 08/20 (8)
    • ►  08/06 - 08/13 (8)
    • ►  07/30 - 08/06 (8)
    • ►  07/23 - 07/30 (7)
    • ►  07/16 - 07/23 (8)
    • ►  07/09 - 07/16 (7)
    • ►  07/02 - 07/09 (8)
    • ►  06/25 - 07/02 (7)
    • ►  06/18 - 06/25 (7)
    • ►  06/11 - 06/18 (7)
    • ►  06/04 - 06/11 (11)
    • ►  05/28 - 06/04 (7)
    • ►  05/21 - 05/28 (8)
    • ►  05/14 - 05/21 (11)
    • ►  05/07 - 05/14 (7)
    • ►  04/30 - 05/07 (7)
    • ►  04/23 - 04/30 (8)
    • ►  04/16 - 04/23 (9)
    • ►  04/09 - 04/16 (7)
    • ►  04/02 - 04/09 (4)
    • ►  03/26 - 04/02 (21)
    • ►  03/19 - 03/26 (2)
    • ►  03/12 - 03/19 (9)
    • ►  03/05 - 03/12 (26)
    • ►  02/26 - 03/05 (25)
    • ►  01/15 - 01/22 (7)
    • ►  01/08 - 01/15 (1)
  • ►  2022 (1037)
    • ►  12/11 - 12/18 (13)
    • ►  12/04 - 12/11 (1)
    • ►  11/27 - 12/04 (40)
    • ►  11/06 - 11/13 (1)
    • ►  10/16 - 10/23 (13)
    • ►  09/04 - 09/11 (5)
    • ►  08/21 - 08/28 (24)
    • ►  08/14 - 08/21 (24)
    • ►  07/03 - 07/10 (9)
    • ►  06/19 - 06/26 (3)
    • ►  05/29 - 06/05 (3)
    • ►  05/22 - 05/29 (3)
    • ►  05/15 - 05/22 (109)
    • ►  05/01 - 05/08 (7)
    • ►  04/24 - 05/01 (7)
    • ►  04/17 - 04/24 (64)
    • ►  04/10 - 04/17 (115)
    • ►  04/03 - 04/10 (73)
    • ►  03/27 - 04/03 (77)
    • ►  03/13 - 03/20 (2)
    • ►  03/06 - 03/13 (25)
    • ►  02/27 - 03/06 (18)
    • ►  02/20 - 02/27 (153)
    • ►  02/13 - 02/20 (187)
    • ►  01/30 - 02/06 (45)
    • ►  01/23 - 01/30 (15)
    • ►  01/16 - 01/23 (1)
  • ►  2021 (412)
    • ►  10/24 - 10/31 (2)
    • ►  07/25 - 08/01 (1)
    • ►  07/11 - 07/18 (10)
    • ►  06/13 - 06/20 (29)
    • ►  05/23 - 05/30 (1)
    • ►  05/02 - 05/09 (24)
    • ►  04/25 - 05/02 (24)
    • ►  04/18 - 04/25 (112)
    • ►  04/11 - 04/18 (1)
    • ►  04/04 - 04/11 (6)
    • ►  03/28 - 04/04 (86)
    • ►  03/21 - 03/28 (19)
    • ►  03/14 - 03/21 (2)
    • ►  03/07 - 03/14 (10)
    • ►  02/28 - 03/07 (1)
    • ►  02/21 - 02/28 (29)
    • ►  02/14 - 02/21 (13)
    • ►  02/07 - 02/14 (12)
    • ►  01/31 - 02/07 (6)
    • ►  01/17 - 01/24 (2)
    • ►  01/10 - 01/17 (8)
    • ►  01/03 - 01/10 (14)
  • ►  2020 (376)
    • ►  12/27 - 01/03 (37)
    • ►  12/20 - 12/27 (92)
    • ►  12/13 - 12/20 (29)
    • ►  12/06 - 12/13 (37)
    • ►  11/29 - 12/06 (4)
    • ►  11/15 - 11/22 (14)
    • ►  11/08 - 11/15 (8)
    • ►  11/01 - 11/08 (2)
    • ►  10/18 - 10/25 (14)
    • ►  10/11 - 10/18 (16)
    • ►  10/04 - 10/11 (10)
    • ►  09/20 - 09/27 (10)
    • ►  09/06 - 09/13 (19)
    • ►  08/30 - 09/06 (26)
    • ►  08/23 - 08/30 (4)
    • ►  08/16 - 08/23 (2)
    • ►  07/12 - 07/19 (48)
    • ►  05/17 - 05/24 (2)
    • ►  01/05 - 01/12 (2)
  • ►  2019 (74)
    • ►  07/07 - 07/14 (6)
    • ►  06/16 - 06/23 (6)
    • ►  02/10 - 02/17 (17)
    • ►  01/13 - 01/20 (37)
    • ►  01/06 - 01/13 (8)
  • ►  2018 (376)
    • ►  12/30 - 01/06 (24)
    • ►  12/16 - 12/23 (8)
    • ►  12/09 - 12/16 (98)
    • ►  12/02 - 12/09 (16)
    • ►  11/18 - 11/25 (36)
    • ►  11/04 - 11/11 (18)
    • ►  10/28 - 11/04 (10)
    • ►  10/21 - 10/28 (26)
    • ►  10/14 - 10/21 (52)
    • ►  10/07 - 10/14 (4)
    • ►  09/30 - 10/07 (2)
    • ►  09/23 - 09/30 (68)
    • ►  09/16 - 09/23 (4)
    • ►  09/09 - 09/16 (4)
    • ►  08/26 - 09/02 (6)

Data Publish News

Loading...

Al Jazeera – Breaking News, World News and Video from Al Jazeera

Loading...

Laravel News

Loading...

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