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

Laravel Shareable Models Package

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

 

Laravel Shareable Models Package

The Laravel Shareable Models package allows you to generate shareable links from your Eloquent models. Think dynamic routes which only exist for models that have been shared.

The package author Kai Sassnowski described his use-case for the Shareable Models package as follows:

My initial use case was giving certain non-admin user access to a certain resource that is usually only accessible through the admin interface.

Instead of mucking around with special permissions I created this method to create a completely new link from the resource that I wanted to share, that I could then treat like any other route in my application. So a separate controller and separate views. In that route, you can then simply only expose the functionality that you want (make it read-only for example or only show certain fields).

This package reminds me of the “get shareable link” feature in Google Drive. You could use this package in a file sharing application to share a particular model to outside users, but also be selective about which files, and which information you expose.

You can also do things like setting a password and an expiration date on shareable links, which require the user to enter a secret password. The package also ships with a password view that you can customize.

A basic example of creating a shareable link looks like the following:

<?php

$article = Article::find(1);

$link = ShareableLink::buildFor($article)
->setActive()
->build();

When you call build() you create the shareable link in the database, which uses a Polymorphic relationship to associate an article with a shareable link.

A shareable route might look something like the following:

Route::get('shared/{shareable_link}', ['middleware' => 'shared', function (ShareableLink $link) {
return $link->shareable;
});

The shareable property is the associated model, so in the routing example above it would return a JSON version of the model.

Here’s an example of what a URL might look like using this package:

$ curl http://localhost:8000/shared/4aQQLDa525h8NVPGxLZ4hqx0l46

{
"id": 1,
"title": "The Raven",
"contents": "Once upon a midnight dreary, while I pondered, weak and weary...",
"created_at": "2017-05-31 19:35:28",
"updated_at": "2017-05-31 19:35:28"
}

To learn more about the Laravel Shareable Models package, check out the documentation and the GitHub repository.

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

Appstract Laravel Blade Directives

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

     

Appstract Laravel Blade Directives

With no shortage of excellent blade extensions circulating in the community, you should also check out the appstract/laravel-blade-directives package.

Whether you end up installing the package or copying a few that you like to your project, here are some notable directives from the project:

Quickly output a font-awesome icon:

@fa('address-book')

Check if the current route name matches:

@routeis('webshop.checkout')
Do something only on the checkout
@endrouteis

Only show when $variable isset and true.

@istrue($variable)
This will be echoed
@endistrue

Or you can do it inline:

@istrue($variable, 'This will be echoed')

@dump and @dd:

@dump($var)
@dd($var)

Load the contents of a CSS or js file inline in your view:

@inline('/js/manifest.js')

Create a <script/> element with or without a js path:

@script
alert('hello world')
@endscript


@script('/js/app.js')

Create a <style/> element or <link/> element with a css path:

@style
body { background: black }
@endstyle


@style('/css/app.css')

Same as @push but will include content one time only. Useful for repeatable blocks following the syntax “stack-name:group-name”:

@pushonce('js:foobar')

<script src="{{ asset('/js/foobar.js') }}"></script>

@endpushonce()

What’s Next?

To learn more about this package check out the GitHub Repository which includes all the instructions and everything you’ll need to get started. We’ve also covered Appstract’s Laravel OPCache package, which you should check out as well.

The framework itself has introduced some new convenient Blade features recently. In Laravel 5.5 LTS, the @auth and @guest directives were added. Another nice feature added to 5.5 is adding conditionals with Blade::if(). In 5.5.3, the @json directive was added to make outputting JSON objects in JavaScript easier.

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

Laravel Stats Code Statistics for your Laravel Projects

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

 

Laravel Stats Code Statistics for your Laravel Projects

Laravel Stats is a package inspired by rake stats that gives you code statistics for your Laravel projects:

Laravel Stats Code Statistics for your Laravel Projects

The output provides metrics grouped into Commands, Controllers, Migrations, Models, Seeders, and Service Providers. Inspired by rake stats (now rails stats), the goal is to provide code insights like lines of code, code to test ratio, and methods per class.

The artisan stats command is missing testing statistics, but the work so far looks promising. A quick glance at the issues shows some milestones in place to provide things like test statistics.

The package provides the following configuration options at the time of writing:

<?php

return [
/*
* Ever project is different and sometimes files
* and folders should be ignored and never
* count towards the project stats.
*/
'ignore' => [

/*
* Ignore the contents of an entire folder
*/
'folders' => [
// 'app/Http/Controllers'
],

/*
* Ignore certain file names or extensions
*/
'files' => [
// 'helpers.php'
// 'twig.php'
],

],
];

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

Protect your webhooks with Laravel Shield

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

 

Protect your webhooks with Laravel Shield

Laravel Shield is a new package by Ashley Clarke that implements a middleware to protect against unverified webhooks from 3rd party services. It currently supports GitHub, GitLab, Stripe, and Zapier with pull requests open to include a few more.

Once installed you can use it by using the middleware in your routes file. For example:

Route::middleware('shield:github')->post('/hooks/github', 'HooksController@github');

Any requests to the route will now run through the Shield GitHub service which runs the following checks:

<?php

namespace Clarkeash\Shield\Services;

use Illuminate\Http\Request;

class GitHub extends BaseService
{
public function verify(Request $request): bool
{
$generated = 'sha1=' . hash_hmac('sha1', $request->getContent(), config('shield.services.github.token'));

return hash_equals($generated, $this->header($request, 'X-Hub-Signature'));
}

public function headers(): array
{
return ['X-Hub-Signature'];
}
}

Check out the official repo for more information on Laravel Shield and easily start protecting your webhooks.

Update 10/23/2017

The package has moved to the Laravel Shield organization; the core package and service integrations are now broken up into separate repositories. You can find out more at laravel-shield.com.

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

Collision Is An Error Handler Framework for Console Applications

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

Collision Is An Error Handler Framework for Console Applications


Collision is a new package by Nuno Maduro that provides error handling for command line applications. It’s built on top of the Whoops package and provides adapters for both the Laravel artisan console and PHPUnit.

Once installed, this package will automatically work with Laravel through Laravel 5.5 package auto-discovery. Here’s an example of what Collision might look like with artisan:

Collision Is An Error Handler Framework for Console Applications

Collision supports PHPUnit by adding the following to your project’s phpunit.xml configuration:

<listeners>
<listener class="NunoMaduro\Collision\Adapters\Phpunit\Listener" />
</listeners>

You can also use Collision as a stand-alone error handler for CLI tools. You just need to register the error handler in your code manually:

(new \NunoMaduro\Collision\Provider)->register();

Check out the official repo for more information on Collision and learn how to start using it with Laravel artisan, PHPUnit, and PHP CLI projects.

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

Bootstrap Laravel 5 Packages with Bootpack

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

 

Bootstrap Laravel 5 Packages with Bootpack

Bootpack is a Laravel 5 package bootstraper by Erik Campobadal that helps you create new Laravel 5 packages with the following features:

  • Creates composer.json for a laravel package
  • Create a basic well-structured package directory
  • Adds the local autoloader to the project composer.json
  • Dumps the autoload
  • Adds the package service provider to the laravel project
  • Initiates a git repository

Once installed you can use it with the following command to create a new package:

php artisan bootpack:create LaravelNews/example

The Bootpack command will walk you through setting up your package, including adding a LICENSE, a starter README, translations, and migrations. You can remove and modify the folders that are relevant to your project.

Here’s an example starter project structure once you walk through the guided setup:

packages/LaravelNews
└── example
├── composer.json
├── LICENSE
├── README.md
└── src
├── Assets
│   └── README.md
├── Classes
│   ├── ExampleClass.php
│   └── README.md
├── Commands
│   ├── ExampleCommand.php
│   └── README.md
├── Config
│   └── example.php
├── Contracts
│   ├── ExampleContract.php
│   └── README.md
├── Controllers
│   ├── ExampleController.php
│   └── README.md
├── ExampleServiceProvider.php
├── Middleware
│   ├── ExampleMiddleware.php
│   └── README.md
├── Migrations
│   ├── 2017_08_11_171401_create_Example_table.php
│   └── README.md
├── Routes
│   ├── api.php
│   ├── README.md
│   └── web.php
├── Translations
│   ├── en
│   │   └── basic.php
│   └── README.md
└── Views
├── README.md
└── sample.blade.php

Check out the bootpack repository for more information on Bootpack to quickly start developing a new package in your Laravel 5 projects.

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