Hi everyone,
New week, new edition of PHPWeekly. This week we have new releases from PHP 8.2 and 8.3. Filament and CakePHP also released their latest versions. Speaking of releases, No Compromises discusses the hype behind launches and whether one should switch whenever a new tool or package comes out. Over at North Meets South, Filament is one of the topics this week. At MaintainableRobby and Andrew delve into the intricate world of software development and database maintenance. We also have insightful articles this week on Features that make PHP move forward, as well as a practical guide to cleaner Laravel controllers. Finally in our Reading section, we have task management with Symfony scheduler, and empowering Concurrent excellence using Fiber class in PHP. We have all that and more, so we do hope you enjoy this week's newsletter. If you're a student or developer on the move and want the latest PHP news and updates in one place, then subscribe to PHPWeekly.
If you have an article, tutorial or podcast that you would like to be featured in our newsletter, feel free to reach out to us at [email protected].
Do follow us on our social media channels on Twitter and Facebook.
All the best,
Adrian
|
Please help us by clicking to our sponsor:
Get Reliable, Fast & Quality Proxies, Without the Tradeoffs
Scrape or crawl any amount of data, without having to worry, settle or break the bank. Buy HTTP, SOCKS & UDP proxies you can set and forget. |
Articles
Using Interfaces In Third-Party Packages
I was recently working on a PR to make The OG more customizable, and I had some thoughts on using interfaces instead of concrete classes or enums in third-party packages.
How I Made It Impossible To Write Spaghetti Code
This is part 2 of a series of my static analyzer for PHP. If you did not read part 1, I suggest you to read it first.
Features that make PHP go forward
With the drop of older versions, (relatively) new features can be used to modernize the sources. These features are the ones that make PHP go forward: they are wanted and awaited.
Mastering Laravel Routes: A Comprehensive Guide for All Skill Levels
In this post, were going to keep things light and easy as we walk through the ins and outs of Laravel routes.
Practical Guide to Cleaner Laravel Controllers: Harnessing the Power of Accessors and Mutators
Now, let's explore an actual case that demonstrates the functioning of controllers.
Laravel: Get a better Seeder for free
The default seeder is too barebones for any developer.
|
Jobs
Web Scraping Specialists Wanted
If you're a skilled Web Scraping Specialist with a knack for creative problem-solving, join our remote team to gather data from e-commerce websites and enhance our data-driven solutions. Embrace challenging projects, overcome blocking technologies, and collaborate with a diverse global team in a flexible, fast-paced environment.
Junior PHP/Python Developer - Remote
We're looking for Full-Stack Developers to join our dynamic remote international team. As a developer, you'll work on a range of projects, including Business Intelligence systems, Legal SaaS, and cutting-edge online projects. You'll be responsible for improving legacy systems, monitoring technical systems, and delivering high-quality solutions. You should be proficient in front-end and back-end development, have strong problem-solving skills, and experience with Python, PHP, Postgres, MongoDB, and Linux servers. If you're a self-motivated team player, apply now.
Technical Support Manager - Remote
Are you interested in programming but don't have the experience yet to be a skilled developer? Join our team as a Technical Support Manager and be part of our SaaS company's success. You'll work closely with our customers to provide timely solutions, troubleshoot technical issues, and contribute to feature development. Using your skills, you'll quickly identify and resolve issues, while also working closely with our team to deliver an exceptional customer experience. You don't need to have programming experience to succeed in this role, but you should have a passion for technology and a desire to learn. You will help us enhance our products and deliver an outstanding customer experience.
|
Tutorials and Talks
Making sure Laravel's debug mode is always disabled in production
Recently, people started talking about a malware called “Androxgh0st” specifically targeting Laravel apps. In a recent edition of Securing Laravel, Stephen Rees-Carter wrote a good explanation of how it works.
Hosting Laravel applications statically
Earlier this week Spatie released a new package called laravel-export, which bundles your Laravel application into a statically host-able website.
Run Laravel in a subdirectory with Nginx (full, working config)
We get Laravel working in a subdirectory, using Nginx configuration. This is great for multiple Laravel installations, or when you just have a second Laravel running inside of any subdirectory.
Quickstart commands for setting up PHP 8.3 with Nginx on Ubuntu Server 22.04
This guide assumes that you are familiar with linux and the command line, and that you have an actual idea of what you are doing.
Automatically Hash Laravel Model Values Using the "Hashed" Cast
In this short article, we're going to take a look at how to automatically hash model values in our Laravel projects before they're stored in the database.
Building a Command Line Tool with PHP and Symfony Console
In this article, we'll explore how to create a simple command line tool in PHP using the Symfony Console (symfony/console) package.
Building a Command Line Tool with PHP and Symfony Console
In this article, we'll explore how to create a simple command line tool in PHP using the Symfony Console (symfony/console) package. |
News and Announcements
CakePHP 4.5.3 RELEASED
Improvements include: Fixed dev error page rendering in PHP8.3, CI matrix now includes PHP8.3, Improve assertion failure message of EventFiredWith constraint + more.
PhpStorm 2024.1 Early Access Program Is Now Open
Today, we’re opening the Early Access Program (EAP) for the next version of PhpStorm!
Free and Discounted Licenses for PhpStorm: Who Is Eligible?
For PHP developers seeking an enriched coding experience, PhpStorm by JetBrains offers a range of discounted and free versions.
Introducing Filament v3.2
We're only 15 days into January, and Filament v3.2 has already launched! This release is packed with a bunch of really exciting updates, so let's dive right in and take a look!
PHP 8.3.2 & PHP 8.2.15 Released!
The PHP development team announces the immediate availability of PHP 8.2.15. This is a bug fix release.
A Week of Symfony #890 (15-21 January 2024)
This week, we celebrated the SymfonyOnline January 2024 conference with great success. The development activity was less intense than usual because of the online conference and mostly focused on fixing bugs of stable Symfony versions.
|
Podcasts and Vlogs
PHP Ugly: 368: Doing lines of PHP
This week on the podcast, Eric and John talk about Crypto Hits the Stockmarket, Getting Fired on TicTok, php[tek], and more...
Laravel News Podcast: A three-week rapid recall
Jake and Michael discuss all the latest Laravel releases, tutorials, and happenings in the community.
The Stack Overflow: Hacking the hamburger: How a pentester exposed holes in hundreds of fast-food chains
Ben and Ryan talk about the hacker who exposed a security vulnerability in AI-powered software, security risks of smart devices, symbolic deduction engines in AI, and the programming language that features time travel.
No Compromises Podcast: Is it worth switching to another tool?
When new tools and packages come out, there is usually some buzz around the launch, and how it solves all the problems of the old tool. Should you switch?
North Meets South Podcast: The one with the keyboards and Filament
Jake and Michael discuss their new keyboards, as well as Jake's somewhat secret usage of Filament for building out some of the user-facing aspects of his main work application.
Maintainable Podcast: Andrew Atkinson - Maintainable... Databases?
Robby engages with independent consultant and author, Andrew Atkinson, delving into the intricate world of software development and database maintenance.
Software Engineering Radio: SE Radio 599: Jason C. McDonald on Quantified Tasks
Jason C. McDonald, author of the book Dead Simple Python, speaks with host Samuel Taggart about leveraging quantified tasks to improve estimation, particularly across projects.
Shoptalk Show: Fighting the Algorithm With RSS, Blogging, and the IndieWeb
Dave and Chris discuss indie web culture, the role of social media in today's society, and the challenges and strategies of freelancing.
WP Builds: 357 – No Script Show, Episode 2 – The big picture
So we’re back with another ‘podcast hijack’, in which the WP Builds podcast is temporarily taken over by a new podcast that I’m doing with David Waumsley.
WP Briefing: Episode 71: New Year, New Blog!
In the latest WordPress Briefing, Executive Director Josepha Haden Chomphosy revisits our roots in blogging and breaks down the essentials of starting your first WordPress blog.
|
Exploring Laravel Login Link
Here's a cool Laracasts video made by Christoph Rumpel that demostrates our spatie/laravel-login-link package.
Keycode Event Helper
I built this small little helper tool that makes it easy to see information about key presses inside of JavaScript events.
How to Serve LLM Completions in Production
To start, you need to compile llama.cpp. You can follow their README for instructions.
Fiber in PHP: Empowering Concurrent Excellence
As you know, we have always written code synchronously in PHP, and PHP itself did not have the capability to write asynchronous code unless we used existing libraries such as amphp, ReactPHP, or Guzzle for this purpose.
PHP: The first rule of the output buffering is you do not talk about the output buffering
PHP provides built-in helpers to manipulate the output buffering, but it can be tricky to debug.
How to Manage Tasks with the Symfony Scheduler Component: A Deep Dive
Tasks such as emailing, monitoring, health checks for services, cache invalidation, backups, log rotation, and others can greatly benefit from the implementation of a scheduling system to ensure their regular execution.
|
Interesting Projects, Tools and Libraries
tomatophp/tomato-translations
Database Base Translations Keys with Google Translations API Integration.
eappointment/mellon
Validator for parameters and validation helper.
protonemedia/laravel-form-components
A set of Blade components to rapidly build forms with Tailwind CSS (v1.0 and v2.0) and Bootstrap 4/5.
profideo-ci/phpexcel
PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine.
cma/cma-captcha
The cma Captcha Package.
evaldobarbosa/charon
A little ORM with a simple syntax.
miladtech/combination-generate
Generate combinations of items in multiple arrays.
peroks/guzzle-file-cache
A lightweight file cache for Guzzle 7+ implementing the PSR-16 Caching Interface.
kirde/yii2-multiple-input
Widget for handling multiple inputs for an attribute of Yii2 framework model.
phroggyy/discover
A vastly simplified ElasticSearch integration for Laravel.
|
Please help us by clicking to our sponsor:
Protect your PHP Code
Why not try SourceGuardian 14. Click here to download a 14 Day Trial copy. Protect your code using Windows, Linux or Mac and run everywhere with our free Loaders. |
So, how did you like this issue?
|
|
|
|