The essential news about content management systems and mobile technology. Powered by Perfect Publisher and XT Search for Algolia.
The News Site publishes posts to the following channels: Facebook, Instagram, Twitter, Telegram, Web Push, Tumblr, and Blogger.
This week, the Laravel team released v11.5, with anonymous event broadcasting, Blade performance improvements, generating URLs with query parameters, and more.
Joe Dixon contributed anonymous broadcasts in Laravel for real-time applications using Laravel Echo:
Sometimes you may wish to broadcast an ad-hoc event.
An ad-hoc event is one where you don't need to hook into it anywhere else in your application. You just want to notify the frontend of something.
For this, you don't want to go to the trouble of creating a brand new event, you just want to fire off a message.
For this, we can use an anonymous broadcast using the Broadcast facade, which can be as simple as:
Broadcast::on('my-channel')->send();
// You may dispatch to multiple channels at the same time:
Broadcast::on([
'my-channel',
new PrivateChannel('my-channel'),
'presence-my-channel'
)->send();
// Broadcast the anonymous event on a private or presence channel
Broadcast::private('my-channel')->send();
Broadcast::presence('my-channel')->send();
To learn more about anonymous event broadcasting in Laravel, check out Laravel's Documentation.
Taylor Otwell shared a thought about supercharging Blade component rendering performance. Two pull requests were accepted and merged as part of Laravel 11.5, which collectively improved Blade rendering by 20%:
Steve Bauman contributed the ability to generate URLs
with query parameters via the new query()
method:
// https://localhost/products?sort=-name
url()->query('products', ['sort' => '-name']);
// https://localhost/products?columns[0]=name&columns[1]=price&columns[2]=quantity
url()->query('products', ['columns' => ['name', 'price', 'quantity']]);
// Overiding parameters:
// https://localhost/products?sort=-price
url()->query('products?sort=-name', ['sort' => '-price']);
// Appending parameters
// https://localhost/products?sort=-name&search=samsung
url()->query('products?sort=-name', ['search' => 'samsung']);
make:trait
and
make:interface
@milwad-dev contributed a default namespace for
make:trait
and make:interface
, which will
create these classes in the following paths if they exist:
App\Contracts
App\Interfaces
App\Concerns
App\Traits
If any of those folders exist in your project, Laravel will
create the file in that namespace. For example,
App\Contracts
would take precedence over
App\Interfaces
. Lastly, the file is created in the
App
namespace directly if either of the directories
are not found.
You can see the complete list of new features and updates below and the diff between 11.4.0 and 11.5.0 on GitHub. The following release notes are directly from the changelog:
make:trait
and
make:interface
command by @milwad-dev in
https://github.com/laravel/framework/pull/51083Cache\Store
by @GromNaN in https://github.com/laravel/framework/pull/51100laravel_through_key
when
replicating model, fixes #51097 by @levu42 in https://github.com/laravel/framework/pull/51098hashed
cast by @j3j5 in https://github.com/laravel/framework/pull/51112int
backed enums
to implicit Enum
route binding" by @driesvints in https://github.com/laravel/framework/pull/51119whereIn
route
constraints by @osbre in https://github.com/laravel/framework/pull/51121NULL
as default
on legacy MariaDB/MySQL by @hafezdivandari in https://github.com/laravel/framework/pull/51177getAuthPasswordName
instead
of hardcoded column name by @Daniel-H123
in https://github.com/laravel/framework/pull/51186The post Anonymous Event Broadcasting in Laravel 11.5 appeared first on Laravel News.
Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.
Read more https://laravel-news.com/laravel-11-5-0
With the power of block patterns you’ll be a WordPress superstar in no time, whether you’re an establish pro or just starting out. Block patterns are professionally designed layouts that you can add your site in a single click. What makes them especially powerful is that once they’re inserted, you can edit and customize every aspect. (Or, you can leave them be!)
In today’s Build and Beyond video, Jamie Marsland walks you through everything you need to go to become a block pattern expert, in under four minutes.
Get started on your site today with a free trial:
WordPress.com/JamieRead more https://wordpress.com/blog/2024/04/23/block-patterns-video/
The clarity-laravel package lets you easily integrate Microsoft Clarity into your Laravel application. I wasn't familiar with Clarity before seeing this package—it's a GDPR and CCPA-ready product that you embed in your application, and it can capture how people use your site:
The main features that Clarity offers your application include:
Integration is easy with this package: you set up a few environment variables and include the package's Blade component in your application's layout file:
<head>
<x-clarity::script />
</head>
This package will enable Clarity based on the
CLARITY_ENABLED
environment variable value in the
clarity.php
configuration file. If setting the
environment variable isn't flexible enough, you can set the
:enabled
property on the component with a variable
boolean value that you define:
<x-clarity::script :enabled="$enabled" />
While you could easily integrate the Clarity embed code in your application directly, this package takes care of it for you, and you can start collecting data in minutes. You can learn more about this package, get full installation instructions, and view the source code on GitHub. You can learn more about Clarity from the Microsoft Clarity documentation. You can also see a live demo
The post Microsoft Clarity Integration for Laravel appeared first on Laravel News.
Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.
Read more https://laravel-news.com/microsoft-clarity-laravel-package
Filterable is a Laravel package by Jerome Thayananthajothy that enhances Laravel queries with adaptable, customizable filters and intelligent caching to improve both performance and functionality.
The main features of this package include:
Defining Filter classes is at the center of this package, where
you can create methods that can apply filtering to Eloquent
queries. The package includes a make:filter
Artisan
command to generate a filter in your app's App\Filters
namespace. Here's an example of a filter from the package's
README:
namespace App\Filters;
use Filterable\Filter;
use Illuminate\Database\Eloquent\Builder;
class PostFilter extends Filter
{
protected array $filters = ['status', 'category'];
protected function status(string $value): Builder
{
return $this->builder->where('status', $value);
}
protected function category(int $value): Builder
{
return $this->builder->where('category_id', $value);
}
}
Given a PostFilter
, you can utilize this class in a
controller with the Post
model to filter models based
on the HTTP query params:
public function index(Request $request, PostFilter $filter)
{
// i.e., /posts?status=active&category_id=2
$query = Post::filter($filter);
$posts = $request->has('paginate')
? $query->paginate($request->query('per_page', 20))
: $query->get();
return response()->json($posts);
}
You can learn more about this package, get full installation instructions, and view the source code on GitHub.
The post Apply Dynamic Filters to Eloquent Models with the Filterable Package appeared first on Laravel News.
Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.
Read more https://laravel-news.com/laravel-filterable
Joomla is built by many talented individuals, carefully reviewing every code contribution made to the project to ensure that a secure system is built.
But what would happen if an attacker is able to manipulate the Joomla update server? Or if a successful attack is made against the CDN that Joomla uses for update distribution? Or to ask a more generic question: how can we be sure that an update presented in Joomla backend is actually legitimate?
Page 1 of 1311