Hi everyone,
We live in a world where things seem to be happening too fast. Blink and you'll miss it, and we seem to be in a constant cycle of trying to catch up. Fortunately here at PHPWeekly we've gathered all the news and updates in one convenient place so you can catch up on everything related to the world of PHP. This week we have a new update from CakePHP and Laravel 11. In Tutorials we have guides on removing duplicate characters in strings with Laravel, Boosting Laravel Livewire performance with the #[Isolate] Attribute, and how to parse currency in PHP. In Podcasts we have new episodes from the North Meets South guys and this week they talk about the environment config, while over at the Changelog Jimmy Miller talks about the best and worst codebase he's ever see. Finally in the Reading section we have an article on PHP and Web application and security that explores the common threats and protection methods. There's also an insightful article on mastering real-time validation in Laravel Livewire. 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
From MySQL to Typesense: Blazing-Fast Full-Text Search in Laravel
Search is everywhere: Finding the nearest gas station, looking up a tutorial on YouTube, or searching for an old message in a chat ... in-app search is there to help us quickly find what we’re looking for.
Variable by Reference & Variable by Value in PHP
In PHP, variables can be passed in two primary ways: by value and by reference. Understanding the difference between these two concepts is crucial for effective PHP programming.
10 Game-Changing Laravel 11 Features That Will Revolutionize Your Web Development
Let’s dive into the top 10 game-changing features that Laravel 11 has to offer!
Program to interface NOT implementation
Program to an Interface, Not an Implementation is a fundamental software design principle that enhances flexibility and maintainability. By coding to interfaces rather than specific implementations, developers decouple systems from their dependencies, making the code more modular, testable, and scalable.
7 Tools Worth Trying, Have You Used Them?
These tools will help you enhance efficiency, making your development work easier and giving you more time to relax. Whether you’re an experienced developer or just starting out, I hope you find tools in this article that suit your needs.
Laravel Debugging and Error Handling Techniques
Debugging and error handling are crucial aspects of web development, ensuring your application runs smoothly and errors are managed effectively.
PHP 8.4 at least
When I open sourced tempest/highlight, people asked me why PHP 8.3 was the minimum required version.
|
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
Remove Duplicate Characters in Strings With Laravel
If you need to remove string duplication in Laravel and PHP applications, Laravel v11.20 adds a new method named deduplicate to the String helpers, which allows you to quickly and easily remove duplicate characters.
Building Desktop Applications using Native PHP with Simon Hamp
In this episode of the Laravel Creator Spotlight, we are joined by Simon Hamp, the creator of Native PHP, to talk about the project and its potential. Native PHP is a tool that allows developers to build desktop applications using PHP and distribute them without requiring PHP on the user's machine.
Deployer: Build and Cache Frontend Assets once using GitHub Actions
When I joined Trenda earlier this year, one of the first tasks given to me was adding support for zero downtime deployments. I've written before how I use Deployer and how I trigger deployments using GitHub Actions.
Why use declare(strict_types=1) in PHP – Fast tips
In this tutorial, we'll explore what declare(strict_types=1) means, why PHP developers should use it and why not, and provide examples to illustrate its importance.
Building a Polymorphic Translatable Model in Laravel with Autoloaded Translations
When handling multilingual content, it’s often more efficient to store translations in a JSON column rather than individual rows for each attribute. This approach consolidates translations into a single column, simplifying data management and retrieval.
Boosting Laravel Livewire Performance with the #[Isolate] Attribute
Let’s dive into what this attribute does and how it can significantly enhance the efficiency of your Livewire components.
How to parse currency in PHP?
I received an array of prices from the front-end and my task was to sum them up. However, the prices were in string format instead of float, so I needed to convert them before performing the calculation. |
News and Announcements
CakePHP 5.0.1-RC2 Released
Improvements include: CakePHP base classes now compatible with PHPUnit 11. Replaced internal usage of md5 with xxh128. This impacts hashes used for group prefixes in Cache + so much more!
Laravel Log Files Support in PhpStorm
Today I want to look at a new feature in PhpStorm, one that I think many Laravel developers will find very interesting.
A New String Helper, Assert Enums in AssertableJson, and more in Laravel 11.20
The Laravel team released v11.20 this week, including a new collection method, a deduplicate string method, the ability to use Enums with AssertableJson, and more.
A Week of Symfony #919 (5-11 August 2024)
This week, the upcoming Symfony 7.2 version improved the hashing of assets in AssetMapper and added support for the RFC4122 format in the Ulid constraint. In addition, Symfony proposed some changes in config resources tracking.
SymfonyLive Berlin 2025: Save the date!
The next SymfonyLive Berlin 2025 will take place on April 3 - 4! Enjoy now the early bird registration ticket & the call for papers.
|
Podcasts and Vlogs
PHP Ugly: 392: PHPlight Delay
This week on the podcast, Eric and John talk about Flight delays, Dirty Hats, Filament, Figma, Blue Checkmarks, and more...
The Stack Overflow: Scaling systems to manage all the metadata ABOUT the data
On this episode, Ryan and Cassidy talk to Satish Jayanthi, CTO and co-founder of Coalesce, about the growth of metadata and how you can manage it, especially in systems using generative AI.
North Meets South Podcast: The one with environment config
In this episode, Jake and Michael discuss different approaches to configuring a Laravel app, for consistency, security, and shareability among a team and across environments.
Maintainable Podcast: Tekin Süleyman: Balancing Complexity and Team Size
Characteristics of Well-Maintained Software: Tekin emphasizes the importance of software that is easy to change and tailored to the team's needs.
Software Engineering Radio: SE Radio 628: Hans Dockter on Developer Productivity
Hans Dockter, the creator of the Gradle build tool and founder of Gradle Inc, the company behind the developer productivity platform Develocity, joins Giovanni Asproni to talk about developer productivity.
Developer Tea: Improve Your Chances In Your Engineering Job Search Using the Scientific Method with Brian Pulliam
In this discussion we'll talk a bit about coaching, and about how you can set yourself up to become a much better candidate in your job search as an engineering leader.
Shoptalk Show: Tending to RSS Feeds, Code Hike’s Fine Markdown, and Cloudflare R2
Doc told me to travel but there's COVID on the planes, Dave's got a 2x life update, how often do you manage or prune your RSS feed subscriptions, checking in on Code Hike and their fine grained Markdown approach, JavaScript decorators use case, and using Cloudflare R2 for image storage.
WP Builds: 384 – Surveying the WordPress industry: Revenue trends and challenges with Kyle Van Deusen
Today we have Kyle Van Deusen on the podcast. Kyle is not only the founder of the prominent community, The Admin Bar, but also a dedicated WordPress expert who has been deeply engrossed in the industry for years.
Frontmatter Podcast: Thad McIlroy, Author of The AI Revolution in Book Publishing
In this interview, Leanpub co-founder Len Epp talks with Thad about about his new book, and many of the important questions for both authors and books publishers in our current era of technological innovation in the area of artificial intellegence.
Mostly Technical: 47: Jank Free With Caleb Porzio
Aaron is joined this week by special guest Caleb Porzio (filling in for Ian) to talk about everything from solo parenting to Caleb's new project to rejuvenating Torchlight and a lot more.
Over Engineered: ReactPHP + Event Loops w/ Len Woodward
ReactPHP is a low-level library for event-driven programming in PHP. It lets you write code that's much closer to the async/await style of JavaScript in PHP. In today's episode, Chris and Len talk about our experiments with ReactPHP.
Syntax: CSS Components: Tailwind, Panda, Scoped, Modules, Classes, Variables, CSS-in-JS and Sprinkles!
Scott and Wes discuss different approaches to authoring component-scoped CSS, including class-based systems, BEM, CSS modules, utility classes, CSS-in-JS, and more.
The Changelog: The best, worst codebase
Jimmy Miller tells us about the best, worst codebase he’s ever seen, The Phylum Research Team follows up on the great npm garbage patch, Zach Leatherman logs his findings on sneaky serverless costs, David Cain wants you to go on quests instead of goals & Ashley Janssen gives us szeven rules for effective meeting culture.
|
How MySQL Tuning Can Improve PrestaShop Performance
Improving application performance with tuning is best achieved with a comprehensive approach that addresses the following areas.
The Essential Guide to Laravel’s .htaccess: Why, How, and What It Can Do for Your Application
In this blog post, we'll dive deep into why the .htaccess file is so important, what it does, how it works, and even provide you with a sample .htaccess file, complete with explanations to help you master this powerful tool.
Why I Like the Strategy Pattern
As a developer, one of the most powerful tools is the ability to write clean, maintainable, and extensible code. Design patterns play an important role in accomplishing this goal; among them, the Strategy pattern is particularly notable.
PHP and Web Application Security: Common Threats and Protection Methods
Applications written in popular languages like PHP can be exposed to serious security vulnerabilities if not properly protected. In this article, we’ll discuss the most common security threats and methods to protect against them.
Mastering Real-Time Validation in Laravel Livewire
In this post, we’ll explore how to implement real-time validation in your Livewire components.
Service and DTO pattern with Laravel
In this article, we see how we can use the service and DTO pattern to write more maintainable and loosely coupled code.
Please don’t: over complicating array translation in PHP
This code example based on a real case shows an attempt to solve a problem in a way that appears to anticipate a complication that wasn’t really there, and got half way complicating an implementation that could have been simple, although boring.
|
Interesting Projects, Tools and Libraries
open-telemetry/context
Context implementation for OpenTelemetry PHP.
chillerlan/php-qrcode
A QR Code generator and reader with a user-friendly API. PHP 8.2+
html2text/html2text
Converts HTML to formatted plain text.
codeception/phpunit-wrapper
PHPUnit classes used by Codeception.
filament/forms
Easily add beautiful forms to any Livewire component.
incenteev/composer-parameter-handler
Composer script handling your ignored parameter file.
beyondcode/laravel-dump-server
Symfony Var-Dump Server for Laravel.
swaggest/json-diff
JSON diff/rearrange/patch/pointer library for PHP.
politsin/jquery-ui-touch-punch
Extension to jQuery UI for mobile touch event support.
illuminate/encryption
The Illuminate Encryption package.
|
Please help us by clicking to our sponsor:
Protect your PHP Code
Why not try SourceGuardian 15. 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?
|
|
|
|