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

24 April, 2021

Edit your environment files through the browser with Brotzka .env-Editor

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

Edit your environment files through the browser with Brotzka .env-Editor


When you’re working with Laravel, every installation includes a .env example file in your application’s root folder. This allows you to keep sensitive information out of version control and makes it easier to have different configurations based on the environment your application is running.

Brotzka .env-Editor is a third party package that aims to offer alternatives to the current manual way for editing Environment variables through .env file. It provides a graphical user interface to view, manage, backup and restore .env file. Plus it provides a lot of useful functions that can be used in your application to manage your .env file dynamically.

Let’s take a look at this package.

Installation

First, install Brotzka .env-Editor through Composer:

composer require brotzka/laravel-dotenv-editor

Then add its Service provider in config/app.php:

'providers' => [
...
Brotzka\DotenvEditor\DotenvEditorServiceProvider::class,

Add the following line to your config/app.php aliases:

'DotenvEditor' => Brotzka\DotenvEditor\DotenvEditorFacade::class,

Finally, you have to publish the config file and view so you can edit it as you want, run the following command in your terminal:

php artisan vendor:publish --provider="Brotzka\DotenvEditor\DotenvEditorServiceProvider"

Now you have everything you need to start using the Brotzka .env-Editor.

Overview

If you opened .env-Editor configuration file config/dotenveditor.php, you will find two groups of settings, the first group is Path configuration which you can edit to specify the path for your project .env file and your .env files backup path:

'pathToEnv'         =>  base_path() . '/.env',
'backupPath' => base_path() . '/resources/backups/dotenv-editor/',

The second setting group is GUI-Settings which you can choose to enable/disable editing .env via a graphical interface and the route that you can access this graphical user interface from:

// Activate or deactivate the graphical interface
'activated' => true,

// Set the base-route. All requests start here
'route' => '/enveditor',

Graphical User Interface

Now let’s access /enveditor via the browser to view Brotzka .env-Editor graphical user interface, you will see four different tabs:

1. Overview tab:

overview

After you click the Load button to import your .env file contents, you will see your current Environment variables as key/value pairs. On the right column, there are action buttons to edit or remove any variable from the list.

2. Add New tab:

add-new

In the Add New you can create a new variable in your .env file easily by filling the fields and clicking the Add button.

3. Backups tab:

backups

In the Backups tab, you can create a new backup of your .env file by clicking Create Backup button, bellow that there is a available backups list which have all your previous taken backups. And to the right of that list, you will find the action buttons which you can use to view, restore, download and delete a .env file backup.

4. Upload tab:

upload

And the last tab is Upload, which provide the ability to restore a previous .env file backup by uploading it from your storage, be aware that this will override your currently active .env file.

Managing .env files from your code

Brotzka .env-Editor provides a lot of useful functions that you can access through an instance of the DotenvEditor class. For example, there are functions for getting the value of a given key, checking if a key exists, adding the new key-value pair, changing a value of a variable, creating/restoring backups and more…
You can take a look at all available functions on .env-Editor docs.

Here is an example of utilizing .env-Editor functions to manipulate the .env file:

namespace App\Http\Controllers;

use Brotzka\DotenvEditor\DotenvEditor;

class EnvController extends Controller
{
public function editDotEnv(){
$env = new DotenvEditor();

// Adds APP_ENV key if not existed
if(!$env->keyExists("APP_ENV"){
$env->addData([
'APP_ENV' => 'production'
]);
}

// Changes the value of the Database name and username
$env->changeEnv([
'DB_DATABASE' => 'laravel-news',
'DB_USERNAME' => 'diaafares',
]);
}
}

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

Laravel Uptime Monitor

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

 

Laravel Uptime Monitor

The internet has become indispensable and the revenue source for a lot of people. It’s not acceptable for most web apps to be down even for a few seconds.

Spatie released a very handy package called Laravel Uptime Monitor, which aims to provide an easy and powerful way to monitor your website uptime and SSL certificate expiration date; it will notify you when your site is down using the flexible Laravel 5.3 notification system. Also, when your website goes up again, the package will kindly notify and inform you about the downtime period.

Let’s take a look at how this package can be set up and used.

Installation

First, install Laravel Uptime Monitor through Composer:

composer require spatie/laravel-uptime-monitor

Add its service provider in config/app.php:

'providers' => [
...
Spatie\UptimeMonitor\UptimeMonitorServiceProvider::class,
];

Then, to publish the config file, run the following command in your terminal:

php artisan vendor:publish --provider="Spatie\UptimeMonitor\UptimeMonitorServiceProvider"

Run the following command to migrate the monitors table to database:

php artisan migrate

Finally, open app/Console/Kernel.php file and schedule monitor:check-uptime and monitor:check-certificate commands like this:

protected function schedule(Schedule $schedule)
{
$schedule->command('monitor:check-uptime')->everyMinute();
$schedule->command('monitor:check-certificate')->daily();
}

Be sure you added the Laravel Cron entry to your server to enable Laravel Uptime Monitor commands to run repeatedly:

* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1

Usage

After installing the package, you can add the websites you want to monitor by using monitor:create command. If you add a URL beginning with https:// the package will also start monitoring the SSL certificate:

php artisan monitor:create https://laravel-news.com

Optionally, it will ask you if you want to look for a specific string in the response of the website. If the string does not appear, it will consider the uptime check as failed.

After few minutes, run php artisan monitor:list

Laravel Uptime Monitor

It will show a list of all the monitored websites and the result of the uptime and certificate checks with some details about the SSL certificate.

There are also monitor:delete, monitor:enable, and monitor:disable commands. The first is for deleting a website from the monitoring list, the other two commands are for enabling and disabling the monitoring for the provided website URL:

php artisan monitor:delete http://example.com
php artisan monitor:enable http://example.com
php artisan monitor:disable http://example.com

Overview

If you open the config/laravel-uptime-monitor.php configuration file, you will see the Laravel Uptime Monitor package has a lot of configurations and is highly customizable. Please take note of the following important options:

  • First, you can customize the notifications option to add your notifications channels for each event the Laravel Uptime Monitor package will fire (it provides six different event types). You can easily use any channel Laravel 5.3 notification system supports like Slack or mail, etc.
  • If you use Laravel Uptime Monitor from multiple locations, you can use the location option to distinguish between different locations, as the location will be sent with each notification.
  • The resend_uptime_check_failed_notification_every_minutes option is for specifying the delay time between the reminding notifications that will be sent when your website is down; the default is 60 minutes.
  • Then, there are two options; one is for specifying the mail that will be notified by the package, the second is for specifying the webhook_url for the Slack if you used the Slack notification channel.
  • The run_interval_in_minutes option is for specifying the delay time between uptime check. Note that if an uptime check fails the package will ignore this option and starts checking that site every minute.
  • The timeout_per_site option is for specifying the period in seconds that the check process should wait before giving up, the default is ten seconds.
  • The fire_monitor_failed_event_after_consecutive_failures determines the number of failed uptime checks before it fires the Spatie\UptimeMonitor\Events\MonitorFailed event, the default is two.
  • Then, you have options for fire_expiring_soon_event_if_certificate_expires_within_days, which will fire a SslExpiresSoon event when the remaining days in your SSL certificate are less than the number of days you specify for this option.


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

View your routes through the browser with the Pretty Routes package

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

 

View your routes through the browser with the Pretty Routes package

One nice Laravel feature is its routing, by visiting your routing file, you can get an eagle eye view of your application and a map that shows which URL is corresponding to which file.

By default, Laravel provides a handy Artisan command php artisan route:list that can be used to list your routes in a table in your terminal, Pretty Routes is a third party package that aims to offer an alternative way to view the routes through the browser.

Pretty Routes Installation

First, install Pretty routes through Composer:

composer require garygreen/pretty-routes

Then add its Service provider in config/app.php:

'providers' => [
...
PrettyRoutes\ServiceProvider::class,

Finally, you have to publish the config file so you can configure it to your needs, run the following command in your terminal:

php artisan vendor:publish --provider="PrettyRoutes\ServiceProvider"

Now you have everything you need to start using the Pretty routes.

Pretty Routes Overview

If you opened Pretty routes configuration file config/pretty-routes.php, you will see the following:

return [
/**
* The endpoint to access the routes.
*/
'url' => 'routes',

/**
* The methods to hide.
*/
'hide_methods' => [
'HEAD',
],
];

First, you can specify the route ‘url’ that you will access Pretty routes GUI through. Second, you can add the HTTP methods that you want to hide by adding them to ‘hide_methods’ array.

Now let’s access Pretty routes URL to view our routes through the browser, you will see nice looking list that displays HTTP method, Path, Name, Action and applied Middlewares for each route:

routes-list

The package does take into account your app.debug setting and will only display routes if your application is in debug mode.

The core

If you want to know how Pretty routes works, take a look at the following code inside pretty-routes/src/MainMiddleware.php file:


At line 18, there is a condition to check if requested URL equals the URL that you specify for accessing Pretty routes, If so, it reads all your routes and fill routes variable using getRoutes method, Then it responses with the Pretty routes view file and passes the routes variable with it. After that, the returned routes go through a series of foreach statements and formatting operations to structure the nice looking list that you see in the browser.


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

Meta

Popular Posts

  • Sitaare Zameen Par Full Movie Review
     Here’s a  complete Vue.js tutorial for beginners to master level , structured in a progressive and simple way. It covers all essential topi...
  • Tailwindcss best practices for responsive design
    Tailwind CSS provides powerful utilities for responsive design out of the box. To use it effectively and maintain clean, scalable code, here...
  • Crawl and Index Your Website with Laravel Site Search
      Laravel Site Search   is a package by Spatie to create a full-text search index by crawling your site. You can think of it as a private Go...
  • Tailwind CSS Tutorial (Beginner to Master)
    Here's a simple and complete Tailwind CSS tutorial designed for students and beginners , progressing step-by-step from beginner to mast...
  • Is there a way to write a JavaScript program that enables you to Search Words in Multiple PDF Files?
    I need to create a simple program/system/application using JavaScript that enables a user to search a certain word in multiple scanned PDF f...

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