Hi everyone,
New PHP updates, news and guides collected and published in a weekly newsletter. It's all here at PHPWeekly. This week we have new releases from CakePHP. Laravel 11 and PHP8. We also have a major release from Statamic 5, and the announcement of a bigger Laravel AU event to be hosted in Brisbane. If you are new to programming head on to our Reading section for a primer on PHP. You may also want to check out how to prevent cross-site scripting in PHP and read up on the concept of observers, their implementation, and best practices, particularly focusing on the newly released Laravel 11. Finally in our Podcast section, we have new episodes from Laravel news on Anonymous broadcasts, sorted elements and more. No Compromises have crossed their 100th podcast this week, so do check their latest topic on why you may want to consider not letting an admin have access to every single feature in your app. 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
How we stopped a DDoS attack at Laracon
It is the first day of Laracon EU 2024. Flare was sponsoring the confererence for the first time and we were present with almost the whole Spatie team to promote it. The clock ticks 10:30, and inside the Bimhuis auditorium, Kévin Dunglas talk about how he built the awesome FrankenPHP server is almost over.
PHP[TEK] 2024: Pioneering the Future of Web Development in Chicago
PHP[TEK] is the longest-running PHP-focused conference in the US. This year, around 400 participants came from all over the world to talk about open source, frameworks, and how we can build more securely and incur less technical debt.
Enum Best Practices in PHP 8.3
In this blog post, I want to address my experience so far with enums and give some advices, after having a little recap of how to use enums.
Making Life Difficult For Intruders: Installing PHP Intrusion Detection System
Today we will learn how to install and configure PHPIDS on a LAMP server. It is simple to use and adds an additional security brick to your application.
Boost Your Laravel Performance: The Ultimate Guide Laravel Caching
Unlock the full potential of your Laravel applications by mastering caching techniques. Learn how to implement and optimize cache strategies to enhance speed and efficiency.
A Big Step for PHP Developers: NativePHP’s Windows Support
Here are the exciting details of this development and a guide on how to use it.
|
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
Transforming API requests and responses in Laravel 11 - The easy way
I've been working on an application using Next.js on the front-end and Laravel on the back-end as a traditional REST API. As you may know, snake_case is the naming convention for variable and function names in PHP.
Building Dynamic Forms with PHP: A Comprehensive Tutorial
In this tutorial, we will walk you through the process of building PHP forms from scratch.
Laravel Relationship Recipes: Simplify Querying with hasManyThrough
In today's edition of Laravel Relationship Recipes, we'll explore the hasManyThrough relationship method, a powerful feature that simplifies querying related models through an intermediate model.
How to create Wireables in Livewire?
Use Wireable Objects (like DataTransferObject) in Livewire. Our example will be Laravel Settings (from Spatie’s package).
PHP - Creating a pretty printing JMS Serializer at runtime
I needed to create a pretty printing JMS Serializer for a unit test, and couldn't find a good example. So here's one for the next person.
Building a Secured User Authentication System with PHP, MySQL, PDO and hashed password
This tutorial will guide you through creating a user management system with a focus on security best practices and user experience.
How to Validate Emails in PHP: regex, filter_var(), and API Explained
Be it marketing or transactional emails, email address validation is a necessity, or you could risk the reputation of your email domain.
Protecting your email address via SVG instead of JS
Email addresses published on webpages usually need to be protected from email-harvesting spambots.
How to add dark mode in Laravel (with toggle button)
As a die-hard fan of dark mode from day one, I’ll show you how to use it in your Laravel project with a button that lets you switch between light and dark mode. |
News and Announcements
CakePHP 5.0.8 Released
Improvements include: Improved compatibility with 4.x finders. Error logs from fallback failures in WebExceptionRenderer now include stack traces making debugging easier + more.
Rule::array() and whereJsonOverlaps() for MySQL in Laravel 11.7
This week, the Laravel team released v11.7, with a Rule::array() validation method, a whereJsonOverlaps() method for MySQL, a Slack OpenID provider for Laravel Socialite, and more.
FrankenPHP Support in Laravel Octane is Out of Beta
The Laravel team released Octane v2.3.10, which removes the status of beta for FrankenPHP's Octane server option. FrankenPHP is a PHP application server written in Golang that supports modern HTTP features like early hints, Brotli compression, Zstandard compression, and more.
PHP 8.3.7 & PHP 8.2.19 Released!
The PHP development team announces the immediate availability of PHP 8.3.7 & PHP 8.2.19. This is a bug fix release.
Statamic 5 is released!
The Statamic team released Statamic 5 this week. This major release focuses on performance improvements, developer experience, and continued modernization of the code base.
A Week of Symfony #906 (6-12 May 2024)
This week, Symfony continued tweaking and polishing the new features of Symfony 7.1, which will be released at the end of May 2024. Meanwhile, we published some blog posts showcasing Symfony 7.1 features such as the new TypeInfo component, the IsCsrfTokenValid attribute, new constraints, the MapUploadedFile attribute and some WebProfiler improvements. Lastly, we published more talks for the SymfonyOnline June 2024 online conference.
Laracon AU 2024 is heading to Brisbane, Queensland
Laracon Australia will be bringing you more than ever before in a new city at a bigger venue; the QUT Gardens Theatre, situated at the Queensland University of Technology's Gardens Point Campus, right in the heart of the Brisbane CBD.
|
Podcasts and Vlogs
PHP Ugly: 382: Hearing != Listening
This week on the podcast, Eric and John talk about phptek.io, PHP Code Beautifier, GitButler, PHP RFCs, and more...
Laravel News Podcast: Anonymous broadcasts, sorted elements, and Moonshine
Jake and Michael discuss all the latest Laravel releases, tutorials, and happenings in the community.
The Stack Overflow: Between hyper-focus and burnout: Developing with ADHD
Eira and Ryan talk with Chris Ferdinandi, a front-end developer and ADHD advocate, about his diagnosis experience, the importance of accommodations for neurodivergent folks, and some advice for devs looking for the best tools and tactics for managing ADHD at work.
No Compromises Podcast: Should you let your admin do that?
Admins can do everything in the app, right? Today we discuss a couple reasons why you may want to consider not letting an admin have access to every single feature in your app.
Software Engineering Radio: SE Radio 615: Kent Beck on “Tidy First?”
Kent Beck, Chief Scientist at Mechanical Orchard, and inventor of Extreme Programming and Test-Driven Development, joins host Giovanni Asproni for a conversation on software design based on his latest book “Tidy First?”.
Developer Tea: Inverted Thinking As a Strategy To Combat Bias
In today's episode, we talk about inversion and inverted thinking. This is a mental model inspired by considering the "negative space" instead of the space occupied by the thing you are seeking.
Shoptalk Show: Dave Goes Windows For Real
Dave's got job news to share, as well as insight into the process of what applying for a job in tech is like in 2024. We also talk about styling, scoping, positioning, and floating UI.
WP Builds: Interview with Alex Borto and Nathan Wrigley.
In this episode, Alex will delve into his innovative project, WP Turbo Dev, which has been making waves by significantly enhancing the workflow for WordPress developers through the integration of AI technology.
WP Briefing: Episode 79: Why Start a WordPress Media Corps (and Why Now?)
There’s a new initiative in the WordPress community: the WordPress Media Corps. In today’s episode of the WordPress Briefing, you’ll find out how it came to be, first as a nugget of an idea during the pandemic and now as an active experiment. Learn how this shift in focus values the ongoing impact, and often…
Mostly Technical: 34: It's All Vibes
Ian & Aaron discuss Aaron's new SQLite course, identifiers in Laravel, New York City, and last but not least - socks.
Over Engineered: Building prompts w/ Jess Archer
Jess Archer took something that was quite good—the Symfony console output features—and built something that was absolutely great: Laravel Prompts.
Software Unscripted: Season 1 Episode 91 Comparing F#, Elm, and Haskell with Michael Newton
Richard talks to Michael Newton, a programmer working as a consultant and trainer who has used several different functional programming languages in professional settings. They talk about the differences Michael has found between using F sharp, Haskell, and Elm, and especially how those differences apply in the context of professional production programming.
Syntax: React Miami Live Show
The React Miami live podcast episode features special live segments like map/filter/reduce code challenges, JS or NAS audience voting games, and opportunities for the audience to participate.
The Changelog: Avoiding the soft delete anti-pattern
Tim Fisken explains the problem with soft deletion, a simple measure of software dependency freshness is proposed, a deep-dive on sound design in software, a web app with over 80 handy developer tools built in & Luke Plant reminds us that programming mantras are proverbs, not laws.
|
Optimize Your Eloquent Queries with AI
The Laravel Slower package is designed for Laravel developers who want to enhance the performance of their applications. This package identifies slow queries and suggests optimizations such as indexing and other improvements.
How Ahrefs Gets a Billion Dollar-Worth Infrastructure With a 90% Discount
The buzz around our $400 million savings over three years at the Singapore data center article was hard to ignore. The article laid out how 850 identical servers stacked up against their AWS counterparts based on a single month’s spending.
PHP Primer: A Beginner's Guide
Whether you're new to programming or looking to expand your skills, getting started with PHP can be an exciting journey. In this blog, I'll cover the basics of PHP, from understanding its syntax to handling data types.
Digging into Laravel's Conditionable trait
Conditionable is a trait that adds two methods to any class: when and unless. They are essentially syntactic sugar.
PHP Opcode caching for Laravel
Opcode caching in PHP is an optimisation method that enhances PHP’s performance by reducing the repetitive loading and parsing of scripts for each request.
Observers in Laravel 11
In this article, we will delve into the concept of observers, their implementation, and best practices, particularly focusing on the newly released Laravel 11.
PHP, Laravel and RubixML — Machine Learning Application Development for PHP Developers
Laravel’s intuitive API design and conventions make it easier to build RESTful APIs quickly. You can utilize Laravel’s API endpoints to send and receive data to and from your machine learning models, making predictions or performing training tasks.
How to Prevent Cross-Site Scripting in PHP
User input forms on our website can be vulnerable to cross-site scripting (XSS) attacks if we aren’t extremely careful.
|
Interesting Projects, Tools and Libraries
reinvanoyen/cmf
A flexible and extendable solution for all your content management needs.
weboftalent/creator-last-editor
Record which Member created or last edited a DataObject.
r4j4h/jspackager-html-tagger
Simple bare bones HTML tag generator for <script> and <link> tags.
magento/composer-dependency-version-audit-plugin
Validating packages through a composer plugin.
enjoys/dotenv
Registers environment variables from a .env file.
codeartlv/joona
A simple backend template for Laravel projects.
jleehr/meta_generator_eraser
Removes the generator meta tag from head and headers.
mean-cj/fastimage
Laravel Fastimage Helper Library inspired by tommoor.
innova/angular-ui-tinymce-bundle
Symfony 2 bundle which provides Angular JS directive to integrate TinyMCE.
devster/guzzle-wsse-plugin
Guzzle plugin to manage WSSE authentication.
|
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?
|
|
|
|