If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
Laravel के experienced developers को framework के in-depth understanding और advanced concepts की need होती है। इस blog में hum कुछ ऐसे interview questions और answers cover करेंगे जो experienced Laravel developers के लिए काफी useful हो सकते हैं। इन questions को समझने से आप interview में confident और well-prepared रहेंगे।
Laravel एक MVC (Model-View-Controller) architecture को follow करता है। इसका request lifecycle कुछ इस तरह से होता है -
Entry Point : Public directory के अंदर index.php
file सबसे पहले execute होती है।
Service Providers : Application bootstrap hone के लिए सभी service providers को load और configure किया जाता है।
Routing : Request URL को route file से match किया जाता है और appropriate controller और method को call किया जाता है।
Middleware : Request को handle करते वक्त middleware execute होता है जो request को filter और modify कर सकता है।
Controller : Business logic controller में execute होता है और view को data provide करता है।
Response : Controller से response client को send किया जाता है।
Service Container एक powerful tool है जो dependencies को resolve करने और objects को manage करने के लिए use होता है। इसका internal working कुछ इस तरह से होता है -
Binding : Container में classes या interfaces को bind किया जाता है।
Resolving : जब किसी class को resolve किया जाता है, container उस class के लिए bind की गयी dependency को inject करता है।
Automatic Resolution : अगर कोई class container में bind नहीं है, तो container automatically उस class को resolve करने की कोशिश करता है।
Example :
// Binding a class to an interface
$app->bind('App\Contracts\Logger', 'App\Services\FileLogger');
// Resolving a class
$logger = $app->make('App\Contracts\Logger');
●●●
Eloquent ORM का use database के साथ interact करने के लिए होता है और इसमें काफी advanced features हैं -
Eager Loading : Related models को optimize way में preload करना।
Mutators & Accessors : Attribute values को set और get करने के लिए methods define करना।
Global Scopes : Eloquent queries पर global constraints लगाना।
Soft Deleting : Records को delete किये बिना उन्हें trash में रखना।
Polymorphic Relations : Single relation का multiple models से relation establish करना।
// Eager loading posts with their comments
$posts = App\Models\Post::with('comments')->get();
Laravel Nova एक beautiful admin panel framework है , जो Laravel applications के लिए बनाया गया है. यह developers को application data को manage करने के लिए interactive interface provide करता है।
Use Cases :
Quickly create admin dashboards.
Manage application resources with ease.
Perform CRUD operations without writing custom code.
Use metrics and custom tools for data insights
namespace App\Nova;
use Laravel\Nova\Resource;
class Post extends Resource
{
public static $model = 'App\Models\Post';
public function fields(Request $request)
{
return [
ID::make()->sortable(),
Text::make('Title')->sortable(),
Textarea::make('Content'),
];
}
}
●●●
Laravel Task Scheduling के through आप easily CRON
jobs को schedule कर सकते हैं. यह Kernel.php
file के अंदर schedule method में define किया जाता है।
Steps to implement :
1. Define a scheduled task in app/Console/Kernel.php
:
protected function schedule(Schedule $schedule)
{
$schedule->command('emails:send')->daily();
}
2. Register the task runner in the server's crontab :
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
3. Create the command
php artisan make:command SendEmails
// Inside the command class
public function handle()
{
// Send emails logic
}
Laravel Cache optimization से application की performance को enhance किया जा सकता है, कुछ techniques हैं -
Database Query Caching : Heavy queries को cache करना।
Route Caching : Routes को cache करना ताकि response time reduce हो।
View Caching : Blade views को compile और cache करना।
Config Caching : Configuration files को cache करना।
$users = Cache::remember('users', 60, function() {
return DB::table('users')->get();
});
●●●
Laravel Horizon एक dashboard और configuration tool है जो Redis queue monitoring और management के लिए design किया गया है। यह real-time metrics और insights provide करता है queues के health और performance पर।
Features :
Job Metrics : Real-time job metrics और analytics .
Failed Jobs : Failed jobs को track और retry करना।
Concurrency Management : Queue workers का concurrency manage करना।
Tagging : Jobs को tag करने की capability .
Laravel Echo और Pusher
का use real-time web applications develop करने के लिए होता है। यह WebSockets के through real-time events और data push करने की facility provide करते हैं।
Steps for integration :
1. Install Pusher package
composer require pusher/pusher-php-server
2.
Configure Pusher credentials in .env
file
PUSHER_APP_ID=your-app-id PUSHER_APP_KEY=your-app-key PUSHER_APP_SECRET=your-app-secret PUSHER_APP_CLUSTER=your-app-cluster
3. Broadcast an event
event(new \App\Events\MyEvent('data'));
4. Listen to the event in JavaScript
import Echo from 'laravel-echo';
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
cluster: process.env.MIX_PUSHER_APP_CLUSTER,
forceTLS: true
});
Echo.channel('my-channel')
.listen('MyEvent', (e) => {
console.log(e);
});
●●●
Advanced Eloquent Queries complex database interactions को simplify करने के लिए powerful tools provide करते हैं।
Subqueries :
$latestPosts = Post::select('id', 'title')
->whereIn('id', function($query) {
$query->select(DB::raw('MAX(id)'))
->from('posts')
->groupBy('category_id');
})->get();
Chunking Results :
Post::chunk(100, function($posts) {
foreach ($posts as $post) {
// Process each post
}
});
Aggregate Functions :
$maxPrice = Product::where('category_id', 1)->max('price');
Laravel Telescope एक debugging assistant है जो developers को application के requests, exceptions, database queries और logged data को monitor करने की facility देता है।
यह real-time monitoring और debugging tools provide करता है जो application के internal workings को visualize करने में मदद करते हैं।
Features :
Request Monitoring : HTTP requests और responses को monitor करना।
Exception Tracking : Exceptions और errors को track करना।
Query Logging : Database queries का log maintain करना।
Event Listening : Fired events को listen और inspect करना।
●●●
Loading ...