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

Reload Your Laravel Tinker Session with Tinx

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

 Reload Your Laravel Tinker Session with Tinx

Reload Your Laravel Tinker Session with Tinx

Laravel Tinx is a new package by Anders Jürisoo that allows you to reload a Laravel Tinker shell from inside of tinker and gives you automatic shortcuts for things like first(), find(), and search().

After installing the package, you use Tinx with an artisan command:

php artisan tinx

The highlight feature of Tinx is the ability to update your Tinker session with the re() command:

$ php artisan tinx
Tinx - something awesome is about to happen.

>>> re()
Reloading your tinker session.
>>>

Tinx also prepares shortcut methods by sniffing your models and preparing some shortcuts. Here’s the shortcut ($u) for getting the first user (after you create at least one):

$ php artisan tinx

>>> factory('App\User', 10)->create();
=> App\User {#959
name: "Florine Herzog",
email: "schowalter.rowan@example.net",
updated_at: "2017-10-24 03:10:11",
created_at: "2017-10-24 03:10:11",
id: 1,
}
...
>>> $u
=> {#919
+"name": "example",
+"email": "you@example.com",
}

If you want to get a specific user based on ID, you can pass the id to the u() function:

$ php artisan tinx
>>> u()
=> "App\User"

>>> u(3)
=> App\User {#773
id: 3,
name: "Alicia Grant",
email: "veda.koepp@example.net",
created_at: "2017-10-24 03:13:47",
updated_at: "2017-10-24 03:13:47",
}

Here are more examples of how it works from the readme:

Example usageEquals
`$u``App\User::first()`
`$c``App\Models\Car::first()`
`u(3)``App\User::find(3)`
`u("gmail")``Where "gmail" is found in any column.`
`u()``"App\User"`
`u()::where(...)``App\User::where(...)`

If you have more than one model starting with the same letter, for example, Pictures and Players, Tinx will give you $pi and $pl as the first record for each respective model. The accompanying helper functions for Pictures and Players would be pi() and pl().

Start using Tinx by visiting the official repository for more information and get some excellent additional abilities in a Laravel tinker session.

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

Continuous Testing Dashboard for Laravel

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

Continuous Testing Dashboard for Laravel


Tests Watcher is a continuous testing dashboard made with Laravel by Antonio Carlos Ribeiro. According to the author, think of it as “Laravel Horizon for all of your tests.” It supports PHPUnit, Laravel Dusk, PhpSpec, Behat, Atoum, and any test framework executed in the terminal. This project isn’t only for PHP, you could integrate this dashboard with Jest or Rake tests, for example.

If you want to try it out with Laravel Valet, here’s a quick start example:

laravel new ci
cd ci
composer require pragmarx/ci
php artisan vendor:publish --provider="PragmaRX\TestsWatcher\Package\ServiceProvider"
valet link ci

# configure database on your .env
php artisan migrate
php artisan ci:watch & php artisan ci:work &
open http://ci.dev/tests-watcher/dashboard

There are two commands responsible for updating the CI dashboard: Watcher and Tester.

The Watcher watches for test changes. If a file in your project changes, the whole test suite will run. If you change a test file, only that specific test will run.

The Tester takes the tests from the run queue, executes the tests, and logs the results.

At the time of writing, this package is known to work with the following out-of-the-box:

  • Codeception
  • PHPUnit
  • phpspec
  • behat
  • atoum
  • Nette Tester

Check out the official repo for more information on Tests Watcher and give it a try with a Laravel project.

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

Vessel is a Lightweight Docker Environment for Laravel

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

Vessel is a Lightweight Docker Environment for Laravel


Vessel is a new package by Chris Fidao—the author of Server for Hackers and Shipping Docker—that makes working with Docker in your Laravel projects a breeze.

Why Vessel?

According to Chris Fidao, Vessel is the result of his workflow used to make working Docker and Laravel in development simpler:

Vessel started as a bash script I put together to make working with Docker easier.

It all started because Docker commands are cumbersome to type. You end up in the CLI pretty often when hacking on Laravel projects – a typical workflow in Laravel involves creating controllers or models, creating and running migrations, running queue workers, adding more packages, and more!

I developed this workflow from my own daily use, and even created a free video series about it. However, I wanted to make something more official that everyone could easily use.

This goal of this project is to be as simple as possible while also giving people a glimpse into how Docker works. I hope you find Docker a really neat way to compartmentalize your projects, and make hacking on projects (on any machine) a breeze.

What’s Included with Vessel?

Vessel includes a Laravel service provider that makes it easy to get going, and allows you to start experimenting with Docker. Behind the scenes Vessel uses a Docker Compose file and a bash script that you use to issue easy commands to stop, start, and remove containers; the vessel bash script also enables you to easily run commands for Composer, Artisan, PHPUnit, and NPM.

At the time of writing, the Docker setup includes:

  • PHP 7.1
  • MySQL 5.7
  • Redis
  • NodeJS with NPM, Yarn, and Gulp

Getting Started

Vessel has good documentation that covers everything you need to know to get started and more advanced usage, including getting around Linux volume issues.

This is all you need to do in order to start using Vessel with your Laravel project:

# Install Vessel into your project
composer require shipping-docker/vessel:~1.0

# Publish the `vessel` command and Docker files
php artisan vendor:publish --provider="Vessel\VesselServiceProvider"

If you run Laravel Valet or different local setup that uses port 80, you will need to add a few variables to your .env file. Vessel (through Docker Compose) binds port 3306 and 80 by default:

APP_PORT=8080
MYSQL_PORT=33060

Or you can run Vessel like this:

APP_PORT=8080 MYSQL_PORT=33060 ./vessel start
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

A Package for Laravel Blade Extension Classes

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

A Package for Laravel Blade Extension Classes


I created a Blade Extension package that allows you to register Blade extension classes in the service container that automatically get registered with the Blade compiler. You can also easily create new Blade extension classes with the provided php artisan make:blade command (auto-registered package commands FTW).

The concept isn’t revolutionary by any means, but I like how it organizes my project-specific blade extensions into service container classes.

Let’s say, for example, that you have some custom directives around working with a shopping cart. Here’s a quick example of how it might look using my Blade Extensions package:

<?php

namespace App\Blade;

use BitPress\BladeExtension\Contracts\BladeExtension;

class CartExtension implements BladeExtension
{
public function getDirectives()
{
return [
'cartcount' => [$this, 'getCartCount']
];
}

public function getConditionals()
{
return [
'cartempty' => [$this, 'isCartEmpty']
];
}

public function getCartCount()
{
// logic to return cart count
}

public function isCartEmpty()
{
// logic for empty cart
}
}

The above extension would provide the following directives in blade:

{{-- Conditional --}}
@cartempty
<p>The cart is empty</p>
@else
<p>The cart is not empty</p>
@endcartempty

{{-- Directive --}}
<span class="count">@cartcount</span>

It’s nothing special—it’s just PHP callables—but I like the feel of a dedicated class that can benefit from injecting services (i.e. a cart service) and keeping these related extensions grouped in one file.

If I need to add additional directives for the shopping cart, all I need to do is update the getDirectives() method and define the associated callable.

You might find it interesting how this package’s service provider hooks into the Blade compiler. It’s pretty simple: the boot() method just gets all services tagged with blade.extension and registers the directives in the compiler.

// In the BladeExtensionServiceProvider::boot() method
foreach ($this->app->tagged('blade.extension') as $extension) {
if (! $extension instanceof BladeExtension) {
throw new InvalidBladeExtension($extension);
}

foreach ($extension->getDirectives() as $name => $callable) {
$this->app['blade.compiler']->directive($name, $callable);
}

foreach ($extension->getConditionals() as $name => $callable) {
$this->app['blade.compiler']->if($name, $callable);
}
}

The Blade Extensions package makes it easy to both create and register blade extensions in the service container:

php artisan make:blade Cart

And this is how you register it (it also tags the service) with the provided BladeRegistrar class:

use App\Blade\CartExtension;
use BitPress\BladeExtension\Container\BladeRegistrar;

// ...

BladeRegistrar::register(CartExtension::class, function () {
return new CartExtension();
});

You can also use a provided helper method instead if you prefer:

blade_extension(CartExtension::class, function () {
return new CartExtension();
});

Essentially this is what the BladeRegistrar does for you:

$this->app->singleton(CartExtension::class);
$this->app->tag(CartExtension::class, 'blade.extension');
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Bootstrap 4 Laravel Preset for Laravel 5.5

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

 

Bootstrap 4 Laravel Preset for Laravel 5.5

You can start using Bootstrap 4 beta with Laravel 5.5 with our new Bootstrap 4 frontend preset. The preset includes scaffolding for SCSS files, and imports Bootstrap 4 JavaScript plugins, jQuery, and Popper.js. As of this writing, we keep the jQuery dependency that ships with Laravel, but according to the Bootstrap documentation the jQuery slim version could be used instead.

The Bootstrap 4 preset resembles the current Bootstrap 3 scaffolding that ships with Laravel by default, with Bootstrap 4 variables and markup that give you a good starting point. When the final version of Bootstrap 4 is released, you will be able to update your project (relatively) smoothly.

How Does the Preset Work?

Laravel 5.5 ships with a preset command that gives you the ability to change frontend scaffolding or even delete it. Our package registers two presets, bootstrap4, and bootstrap4-auth, to provide you with more flexibility if you don’t want the auth views.

When you run the Bootstrap 4 preset command, it will remove the bootstrap-sass node module, and add bootstrap and popper.js node modules. Our preset bootstrap.js is the same as the default, except for a global Popper.js import, which is a new dependency for various Bootstrap 4 JavaScript plugins.

The app.scss file keeps the Raleway Google font, and imports an updated _variables.scss file that gives you a good starting point for your custom CSS.

// Fonts
@import url("https://fonts.googleapis.com/css?family=Raleway:300,400,600");

// Variables
@import "variables";

// Bootstrap
@import "~bootstrap/scss/bootstrap";

I’ve gone through the _variables.scss file and ported over some of the variables from the default Laravel version, and removed variables that are no longer relevant. For example, the panel component no longer exists in Bootstrap 4, and we’ve removed the associated variables. The variables file is a starting point that you can easily modify, and I’d recommend you learn more from Bootstrap’s theming documentation.

Installing the Bootstrap 4 Frontend Preset

With the new package auto-discovery installing the Laravel Bootstrap 4 preset couldn’t be simpler:

composer require laravelnews/laravel-twbs4
php artisan preset bootstrap4-auth
yarn && yarn dev

If you don’t need the auth views, you can install the preset like the following:

composer require laravelnews/laravel-twbs4
php artisan preset bootstrap4
yarn && yarn dev

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

A Zero-config Purgecss Wrapper for Laravel Mix

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

A Zero-config Purgecss Wrapper for Laravel Mix


Sebastian De Deyne over at Spatie is working on a Purgecss package for Laravel Mix. The package provides zero-config Purgecss for your average Laravel project:

let mix = require('laravel-mix');
require('laravel-mix-purgecss')();

// ...

mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css')
.purgeCss();

All HTML, JS, PHP, and Vue files in the app and resource folders get scanned for selectors, and Purgecss is only enabled in production.

Most project shouldn’t need it, but if you need to go beyond the basics, you can configure Purgecss options and three options provided by the laravel-mix-purgecss package:

mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css')
.purgeCss({ /* My options */ });

Check the readme for more information on how to configure Purgecss and the additional custom options this package provides Laravel Mix.

If you are not familiar with Purgecss:

Purgecss is a tool to remove unused CSS. It can be used as part of your development workflow. Purgecss comes with a JavaScript API, a CLI, and plugins for popular build tools.

This package gives you Purgecss for free on your Laravel projects, so you can install it and benefit from smaller CSS files in production. Boom!

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