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

23 April, 2021

Laravel Log Enhancer Package

 Programing Coderfunda     April 23, 2021     Packages, php     No comments   

Laravel Log Enhancer Package


The Laravel Log Enhancer is a package for Laravel 5.6 adds additional data to your Laravel logs. Thanks to Laravel’s logging updates that ship with Laravel 5.6, this package utilizes the features to extend logging and add data like request headers, memory usage, and session data, among other data.

You configure this package by adding the LogEnhancer to the tap option in your log channel in config/logging.php:

'production_stack' => [
'driver' => 'stack',
'tap' => [Freshbitsweb\LaravelLogEnhancer\LogEnhancer::class],
'channels' => ['daily', 'slack'],
],

After configuring the logging channel, here’s an example log entry with the additional default information:

[2018-03-30 05:07:23] local.INFO: Testing log {"inputs":[],"session":{"_token":"bZXCPViCzmaULIO6GsdLBbveC1yd3BbyH31zfT8c","_previous":{"url":"http://log-enhancer-demo.test"},"_flash":{"old":[],"new":[]}},"url":"/","ip":"127.0.0.1","http_method":"GET","server":"","referrer":null}

Here are the options (also showing you the additional data that’s enabled by default) you can configure for enhanced logging:

<?php

return [
'log_request_details' => true,
'log_input_data' => true,
'log_request_headers' => false,
'log_session_data' => true,
'log_memory_usage' => false,
'log_git_data' => false,
// You can specify the inputs from the user that should not be logged
'ignore_input_fields' => ['password', 'confirm_password']
];

Take note of the ignore_input_fields to avoid accidentally logging sensitive user data like passwords or credit cards. Take extra care that private data doesn’t end up in your logs!

To customize the log enhancer, run artisan vendor:publish to interactively install the configuration file or run:

php artisan vendor:publish --tag=laravel-log-enhancer-config

You can install this package with composer by run the following command in a Laravel 5.6 project:

composer require freshbitsweb/laravel-log-enhancer

Thanks to Laravel’s automatic package discovery all you need to do is install the package and optionally configure it for your application.

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

Laravel Page Cache for Lightning Fast Page Loads

 Programing Coderfunda     April 23, 2021     Packages, php     No comments   

 

Laravel Page Cache for Lightning Fast Page Loads

Laravel Page cache is a plugin by Joseph Silber designed to cache HTTP GET responses as static files for lightning fast page loads. This plugin gives you the benefit of a full PHP application, with the benefits of full-page static file caching for all your routes or any specific routes that are static:

While static site builders such as Jekyll and Jigsaw are extremely popular these days, dynamic PHP sites still offer a lot of value even for a site that is mostly static. A proper PHP site allows you to easily add dynamic functionality wherever needed, and also means that there’s no build step involved in pushing updates to the site.

That said, for truly static pages on a site there really is no reason to have to boot up a full PHP app just to serve a static page. Serving a simple HTML page from disk is infinitely faster and less taxing on the server.

To accomplish static file caching, you need to configure your web server to check for the static files the plugin generates. The package readme contains instructions for setting up the necessary URL rewriting for both Apache and Nginx.

Using this Page Cache plugin for full page caching couldn’t be easier. If you want every HTTP GET request in your application to get cached you can add this plugin’s middleware to the web group:

protected $middlewareGroups = [
'web' => [
\Silber\PageCache\Middleware\CacheResponse::class,
/* ... keep the existing middleware here */
],
];

You can also define this middleware as an alias and apply it to individual routes or route groups:

protected $routeMiddleware = [
'page-cache' => Silber\PageCache\Middleware\CacheResponse::class,
/* ... keep the existing mappings here */
];

Then in an individual route, you can do the following:

Route::middleware('page-cache')->get('/example', 'ExampleController);

Avoiding the need to hit your PHP application means that your web server can serve the fastest response possible when you are serving static content.

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

HTTP Cache Packages for Laravel

 Programing Coderfunda     April 23, 2021     Laravel, Packages     No comments   

HTTP Cache Packages for Laravel


We wrote about Joseph Silber’s Laravel page cache package, which provides static HTTP response caching for Laravel. There are other open-source packages for caching HTTP responses in Laravel so we thought we’d gather a list of HTTP cache packages you should check out. These packages have unique features that make each of them useful with some functionality overlapping between them, so all of these plugins will be useful depending on your needs.

barryvdh/laravel-httpcache

The barryvdh/laravel-httpcache by Barry vd. Heuvel—initially released in 2013 as a package for Laravel 4.1—is an HTTP cache package for Laravel 5.

This packages uses barryvdh/laravel-stack-middleware to use StackPHP middleware with Laravel 5, allowing your Laravel app to utilize HTTPCache.

Using the package, you can set a TTL or MaxSharedAge in a response:

Route::get('my-page', function(){
return Response::make('Hello!')->setTtl(60); // Cache 1 minute
});

You can also use the provided middleware:

protected $routeMiddleware = [
// ...
'ttl' => \Barryvdh\HttpCache\Middleware\SetTtl::class,
];

Route::get('my-page', function(){
return 'Hello'
})->middleware('ttl:60'); // Cache 1 minute

Check out the barryvdh/laravel-httpcache GitHub repo for more information.

spatie/laravel-responsecache

Spatie’s laravel-responsecache package speeds up your Laravel app by caching the entire response. I like how this package leverages the existing cache drivers defined in the config/cache.php file (i.e. redis, file, memcached).

You can define a group of routes to be cached for a given time using a middleware:

Route::group(function() {
Route::get('/another-special-snowflake', 'AnotherSnowflakeController@index');

Route::get('/yet-another-special-snowflake', 'YetAnotherSnowflakeController@index');
})->middleware('cacheResponse:10');

Another nice feature is that you can programmatically clear the entire cache or specific URIs:

ResponseCache::clear();

// Forget several URIs
ResponseCache::forget(['/some-uri', '/other-uri']);

Or via the command:

php artisan responsecache:clear

The package also allows you to provide a custom caching profile which should implement the provided CacheProfile interface. Defining a custom caching profile gives you granular control on which requests get cached, and for how long.

silber/page-cache

The Laravel Page Cache package by Joseph Silber is another HTTP cache package that is an excellent alternative to static site builders. You can gain the benefit of the performance of a static site, without an extra build step, and without sacrificing the ability for a fully dynamic functionality through PHP.

This package works by using a middleware with your routes and generating static HTML files. Used in tandem with a web server like Nginx, your cached responses won’t touch the application server:

for truly static pages on a site there really is no reason to have to boot up a full PHP app just to serve a static page. Serving a simple HTML page from disk is infinitely faster and less taxing on the server.

The solution? Full page caching.

Using the middleware included in this package, you can selectively cache the response to disk for any given request. Subsequent calls to the same page will be served directly as a static HTML page!

Whether you want to cache all of your routes or a select few that never change, this package offers an excellent way to offload requests from your PHP application and let Nginx serve static files for lightning fast responses.

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

Cascading Soft Deletes with Laravel 5

 Programing Coderfunda     April 23, 2021     Packages, php     No comments   

 

Cascading Soft Deletes with Laravel 5

Laravel Soft Cascade is a package that makes it easy to perform soft cascade deletes and restores on related models using soft deleting.

Contributor to the package Will Bowman wrote about his package and what happens to the foreign key constraints you want to cascade delete related models, but you have configured soft deletes:

I’ve always used MySQL foreign key constraints to cascade delete related records. Laravel makes it easy to use foreign keys in migrations, set onDelete to cascade and walla, your relations will be deleted automatically.

But what happens when you enable SoftDeletes? Your database is never told to actually ‘delete’ a record, instead the deleted_at field is updated. So what happens to your cascading deletes? Nothing, your related records are left alone.

His post shows an overview of the approach he takes with his package, specifically making it easy to configure cascading deletes without a bunch of boilerplate code:

My solution was to use Events and an array in the Model to tell it what to cascade, this allows us to simply add 2 lines to a Model to enable cascade deleting and restoring:

Using the package, you can enable the SoftCascadeTrait and configure which relationships should soft cascade delete:

use \Askedio\SoftCascade\Traits\SoftCascadeTrait;

protected $softCascade = ['profiles'];

After defining your relations, you can trigger a delete or a restore on your model and related models will be restored or deleted (soft) along with the model:

User::first()->delete();
User::withTrashed()->first()->restore();
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Count Models With the Laravel Visits Package

 Programing Coderfunda     April 23, 2021     Packages, php     No comments   

Count Models With the Laravel Visits Package


Laravel Visits is a package by Bader Almutairi for attaching counters to any model to track visits with tags. The main features this package provides, include the following:

  • A model item can have many types of recorded visits (using tags).
  • It’s not limited to one kind of Model (like some packages that allow only User model).
  • Record per visitors and not by visits using IP detecting, so even with refresh visit won’t duplicate (can be changed from config).
  • Get Top/Lowest visits per a model.
  • Get most visited countries …
  • Get visits per a period like a month of a year of an item or model.

Counting Models

The basic usage for counting models includes the following methods for incrementing and decrementing among others:

visits($post)->increment();

// More than one
visits($post)->increment(10);

visits($post)->decrement();

// More than one
visits($post)->decrement(10);

// Only increment once every 30 seconds based on user's IP
visits($post)->seconds(30)->increment()

Getting Data

Once you’ve collected counter data for your model, you can retrieve and filter results with the following:

visits($post)->count();

visits($post)->period('day')->count();

// With the model class
visits('App\Post')->count();

You can also collect other interesting data about country and referrer if you want a quick analytics tool for tracking models:

visits($post)->countries();

// Referrers of visitors
visits($post)->refs();

The geo data for the country functionality is provided through the Torann/laravel-geoip package.

Integration with Eloquent

You can integrate this package directly into your Eloquent model by defining a method like visits:

public function visits()
{
return visits($this);
}

And then performing calls on the visits object:

$post = Post::find(1);
$post->visits()->increment();
$post->visits()->count();

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

Laravel View X-Ray

 Programing Coderfunda     April 23, 2021     Packages, php     No comments   

Laravel View X-Ray


Laravel View X-Ray is a package for Laravel 5.6 by Marcel Pociot which enables you to peek into your Laravel views and find out which template matches a specific part of the HTML output.

After installing the package it’s enabled by default in development, and then you can hit Cmd + Shift + X (Ctrl + Shift + X on Windows). Note, at the time of writing the View X-Ray package depends on jQuery.

Example of the Laravel View X-Ray Package

The result is a beautiful visual representation of your view, and it’s easy to understand the view hierarchy at a glance now with X-Ray enabled. You can hide the X-Ray UI by hitting the shortcut again or pressing the esc key.

You can disable X-Ray and exclude views with the following configuration options:

<?php

return [

/*
* Determines if the Xray package should be enabled.
*/
'enabled' => env('XRAY_ENABLED', true),

/*
* If you want to exclude certain views from being processed by Xray,
* you can list them here. Be aware that the check only applies to the
* root views that you add here. If these views include other views
* themselves, they need to be excluded manually.
*/
'excluded' => [
//
],

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

Meta

Popular Posts

  • Generate Migrations from an Existing Database With the Migration Generator Package
    Laravel Migration Generator Migration Generator for Laravel is a package by Bennett Treptow to generate migrations from existing database ...
  • Search Through Models with Laravel Searchable
      Laravel Searchable   is a package by   Spatie   to search through models and other sources pragmatically. Using this package, you can get ...
  • Laravel Razorpay Integration | Payment gateway integration Laravel in 30 mins | Laravel Razorpay
    1 Integration of Razorpay with Laravel. In this tutorial, I have taught how to integrate payment gateway with laravel with mini-project. If...
  • .Net 8 XUnit: Use an In-Memory DBConnection for testing as a replacement for the real MySqlConnection
    I'm creating tests for my .Net 8 API, and as I want to test with fake self created data (instead of using the real MySql connection) I...
  • Bagisto E-commerce Platform
      Bagisto is an open-source E-commerce platform built on top of Laravel and Vue.js by Webkul. Bagisto is an E-commerce ecosystem designed...

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

  • ▼  2026 (52)
    • ▼  07/26 - 08/02 (51)
      • Manoj Bajpayee on RGV reunion: 'Ramu doesn't need ...
      • Spider-Man: Brand New Day gets UA 13+ in India as ...
      • Priyanka gives a relatable peek into bedtime with ...
      • Adil reveals his nieces are stranded and their hom...
      • ‘The Walking Dead: Dead City’ Season 3: All about ...
      • 'Jana Nayagan' BO day 5: Vijay's film sees big Mon...
      • Justin Baldoni ordered to pay USD 171K in lawsuit
      • Kangana Ranaut praises PM Modi’s response to NEET-...
      • Inside Sonam Wangchuk’s sustainable ‘Tribal House’...
      • Feige claims Thanos was 'built up in people's head...
      • Tiger Shroff all set for professional football debut
      • Sunny Deol dedicates 'Batwara 1947' to his mother:...
      • Historian reveals why the royal life of Harry and ...
      • Somy Ali announces $5,000 reward to find missing a...
      • D4vd to stand trial in murder of 14-year-old: Judge
      • Ram Charan health update: Actor undergoes successf...
      • Delhi HC orders removal of Kala Hiran teaser, gran...
      • Ruchir Arun opens up on Vikrant Massey and 'Musafi...
      • Timothée Chalamet’s mother pays tribute to Kris Je...
      • Kourtney Kardashian pays tribute to her grandmother
      • Built in 1948, Mud Mountain Dam gets a $112 millio...
      • This 71-year-old US mayor goes to a homeless shelt...
      • Female African treefrogs mate with several males s...
      • D4vd murder case: Court reveals Celeste Rivas alle...
      • Quote of the day by Marco Rubio: 'American Dream i...
      • Quote by Andrei Tarkovsky: 'A book read by a thous...
      • Paramount-WB merger: Benedict Cumberbatch, Alan Cu...
      • Can ICE or CBP read your deleted messages? Attorne...
      • Quote of the day by Sun Tzu: 'If you know the enem...
      • Who is Luplupka? Russian Kick streamer involved in...
      • Hummingbird hawkmoths may have their own version o...
      • Quote by Bob Ross: 'The very fact that you're awar...
      • Who is HMBLZAYY? The Twitch streamer who walked 3,...
      • In 1802, an explorer released pigs on Kangaroo Isl...
      • For nearly 250 years, a notebook lay unnoticed unt...
      • Netflix executive reveals at company's trust-build...
      • Quote of the day by Taylor Swift's husband Travis ...
      • Seth Rogen’s blunt response to YouTuber Yung Mooch...
      • Iran's shadow oil billions vanish as trusties flee...
      • What is Tana Mongeau and Clavicular’s feud? Podcas...
      • 'The Odyssey' crosses USD 639.6 million globally
      • 'Ramayana' to have 'Baahubali'-style cliffhanger e...
      • Kim Kardashian remember late granny on 92nd heaven...
      • Emma Roberts weds Cody John in intimate Idaho cere...
      • 'Jana Nayagan' BO day 4: Film crosses Rs 100 Cr Net
      • 'Chennai Love Story' BO jumps 11.1%
      • China’s new hybrid rice can preserve its high-yiel...
      • Quote of the day by Thucydides: 'Self-control is t...
      • Quote of the day by Slavoj Žižek: 'The problem for...
      • A stormwater pond in Calgary appears filled with P...
      • Inside Kriti Sanon's duplex sea-facing penthouse w...
    • ►  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