Hi everyone,
This week we have a couple of articles sent in by our readers. The first one is an homage to the PHP community and an introduction to a genetic algorithm library and the second is a review on the book, 'Developing Extensions for Joomla! 5'. Do check them out in our Reading section. Videos from the recently concluded Laracon EU are now out and you can watch them all in one convenient playlist. In our Articles section, we have the third instalment of AI for PHP by Brent Roose, and an in-depth look at the results of the latest PHP Landscape report with highlights and trends. Finally in Podcasts We have a new episode from Maintainable with a discussion on the delicate balance between innovation and stability in software development. North Meets South have a chat about setting up review sites on Laravel Forge with Ryan Chandler's Forge Previewer along with other interesting topics. Mostly Technical covers PHP/Laravel origin stories, using ChatGPT to write blog posts, and much more, while Developer Tea explores the idea of treating your time as a product. 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
AI for PHP: How to Make AI Assistant Generate Test Implementations
We started this series by looking at how JetBrains AI Assistant can generate tests from an existing implementation. But what if we want to use AI Assistant the other way around?
Model Casts are moving to methods in Laravel 11
Model casts in Laravel 10 are defined via the $casts array property. However, in Laravel 11, you can define a casts() method, which opens the possibility to use static methods on built-in casters as well as define static methods for custom casters.
PhpStorm is getting a brand new terminal
Coming to PhpStorm 2024.1 is a new redeveloped terminal that includes everything from visual changes to each ran command being put in its own block, new command history, and more.
PHP Development Trends In 2024
The Zend 2024 PHP Landscape Report is now available! In this post I want to highlight several points from this report.
Understanding Laravel Seeder Resolution and Execution
As a Laravel developer, I’ve recently found myself writing more seeders than ever before.
|
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
Add Kanban Boards to Your Laravel App in Seconds
Have you ever needed a simple Kanban-style board with swimlanes in a Laravel project? If you are using the Filament framework, you can easily add Kanban boards with the filament-kanban package by Mo Khosh:
Use Google's Gemini AI in Laravel
Start using Google’s Gemini AI APIs in your Laravel application with the Gemini PHP package. This package for Laravel built around the Gemini PHP Client, providing a Facade to interact with the API and AI models available.
Laravel Artisan Command Dependency Injection
Don’t inject dependencies for Artisan commands using the __construct() method, use handle() instead.
Improved handling of 404 errors with Livewire
I like to use the findOrFail() function in Livewire methods that call actions. But I really don't like the default behaviour of Livewire showing a modal view with a 404. Let me show you how to personalise that.
Simple HTML form validation with PHP (a step-by-step guide)
In this tutorial, I'll be showing you how to perform a simple HTML form processing/validation using PHP.
Enhancing Code Decoupling in Symfony with Immutable Data Transfer Objects (DTOs)
In Symfony development, maintaining clean and decoupled code is paramount for building scalable, maintainable applications.
Harnessing the Might of PHP 8 String Functions: A Practical Guide
In this guide, we’ll dive into the latest enhancements and features of PHP 8 string functions, equipping developers with the tools they need to wield strings with mastery.
Send, validate, and store Base64 files with Laravel
Laravel makes it easy to send and upload files, at least when it comes to handling binary files. |
News and Announcements
cakephp phpstan version 3.1.0 released!
Feature/fetch table with default table by @rochamarcelo in #19. Check defined $defaultTable when calling LocatorAwareTrait::fetchTable without arguments. For controllers when calling fetchTable without arguments and not defined custom $defaultTable try to detect the table based on the Controller's className. Fixed console helper extension to use ucfirst as is done in the method ConsoleIo::helper.
October CMS v3.6 Ships Today, Full of New Features
As October CMS approaches its 10 year anniversary, the team have been working diligently over the past seasons to get this release ready. Version 3.6 was planned to be version 4.0, but since Laravel 11 has made some changes to its bootstrapper, we've delayed the major release to incorporate these new Laravel improvements first.
Symfony 7.0.4 released
Symfony 7.0.4 has just been released. Here is the list of the most important changes since 7.0.3
A Week of Symfony #895 (19-25 February 2024)
This week, development activity focused on the upcoming Symfony 7.1 version. We optimized the generation of some UUIDs, improved the autocompletion feature in the console and made AutowirePass reentrant in preparation for further improvements.
Save the date: Laracon US is coming to Dallas TX Aug 27-28, 2024
Laracon is back for 2024. The flagship Laravel event of the year and the largest PHP conference in the United States is heading to Deep Ellum, Dallas, for two days of learning and networking with the Laravel community.
|
Podcasts and Vlogs
PHP Ugly: 373: Lunch and Learn
This week on the podcast, Eric and John talk about php[tek] Ticket Giveaway, new sponsors, iOS happenings in the EU, php[tek].tv, and more...
The Stack Overflow: Optimizing both hardware and software for GenAI
Ryan and Ben chat with Raymond Lo, AI software evangelist at Intel, about the AI PC, the software that powers AI breakthroughs, and optimizing hardware and software in unison to improve generative AI performance.
North Meets South Podcast: The one with Ripples, Forge previews, and Laracon
Jake and Michael discuss another of Michael's podcasts, Ripples, setting up review sites on Laravel Forge with Ryan Chandler's Forge Previewer, and speaking and attending Laracon(s).
Maintainable Podcast: Jon Moniaci - Can We Draw A Boundary?
Robby speaks to the Senior Software Engineer at Perchwell, Jon Moniaci. They discuss the delicate balance between innovation and stability in software development.
Laravel Podcast: Laravel 11, Reverb, Herd Windows/Pro, & Other Laracon EU Recap
In this episode of the Laravel Podcast, we are diving into the highlights of Laracon EU including the unveiling of Laravel 11 and the introduction of Laravel Reverb.
Mostly Technical 25: Careful, Careful!
Ian & Aaron discuss morning people, PHP/Laravel origin stories, using ChatGPT to write blog posts, Diet Coke vs. Coke Zero, & more.
Syntax: The Taliban Stole My Domain
Wes recounts how the Taliban taking over Afghanistan resulted in his bos.af domain being revoked, and discusses the intricacies and risks of getting clever country code top-level domains.
The Changelog: Natural Language Programming
GPTScript is a new scripting language to automate your interactions with LLMs, Adam Wiggins conducts a retrospective on Muse, Nikita Prokopov surveyed a bunch of popular websites to see how much JS they loaded on their pages, Pages CMS is a no-hassle CMS for GitHub pages & Jim Nielsen writes about the subversive hyperlink.
Software Engineering Radio: SE Radio 604: Karl Wiegers and Candase Hokanson on Software Requirements Essentials
Karl Wiegers, Principal Consultant with Process Impact and author of 14 books, and Candase Hokanson, Business Architect and PMI-Agile Certified Practitioner at ArgonDigital, speak with SE Radio host Gavin Henry about software requirements essentials.
Developer Tea: Treat Your Time as A Product You Own
Today we explore the idea of treating your time as a product. Start with a wishlist: what do you wish was true about your week? What are your "if-only" statements?
Shoptalk Show: 604: VS Code Plugins, Git as a Radical Statement, Tailwind & Arc Drama
A follow up on jQuery conversation, Microsoft owning all the things, what VS Code plugins are your ride or die, the ability to Git from wherever you want, Tailwind drama, global design system follow up, Arc Search gets roasted, and Frontend Design Conference is back!
WP Builds: 362 – Inside WordPress with Raitis Sevelis: UI/UX, IndyStack, and community
Today, I’m chatting with with Raitis Sevelis on several topics in the WordPress landscape. Sevelis has an extensive background in UI/UX design and product management for prominent WordPress tools like WPBakery and Visual Composer.
WP Briefing: Episode 73: Inside the Interactivity API
In the latest WordPress Briefing, Josepha Haden Chomphosy discusses the Interactivity API, a new foundational tool that helps developers create memorable interactive front-end experiences.
|
Homage to PHP Open Source Community and welcome my Genetic Algorithms Library in PHP
The reason I wasn't getting any jobs wasn't that I was a bad developer, or because I failed to sell my skills; it was that I was missing one of the simplest yet most powerful rules in the world: the supply and demand equilibrium.
Book Review - Developing Extensions for Joomla! 5 by Carlos M. Cámara Mora
I became aware of the changes in extension development in Joomla when I started looking at migrating websites from Joomla 3 to Joomla 4.
Laracon EU Videos are now out
Laracon EU just released most of the videos from the conference in a YouTube playlist that you can watch.
Six Essential Plugins for Visual Studio Code
We've created a collection of essential plugins for Visual Studio Code that will supercharge your coding experience. I’ve gathered my favorite extensions to make you a more productive PHP developer and even threw in my favorite theme for VS Code.
Retry mechanisms in Laravel
When something doesn't work on the first try, what do we do? We try it again, right? Expecting that it might work this time.
Composition over Inheritance
A lot can be learned about software development by playing retro games.
9 rules for writing (better?) code
Like many developers, I like learning new things. And one thing that interests me a lot is code quality and how to write code.
I broke your Laravel app But I didn’t mean to
While I was building an application for a company, I encountered a bug that couldn’t fix because no error was thrown. That headache was a relationship query for a particular Model.
Rethinking Database Migrations: The Diminishing Role of the down() Method in PHP Frameworks
This article delves into the arguments surrounding its potential obsolescence, weighing its importance against emerging trends and alternative strategies in database management.
|
Interesting Projects, Tools and Libraries
php-extended/php-http-client-connection
A psr-18 compliant middleware client that handles connection headers.
nunomaduro/phpinsights
Instant PHP quality checks from your console.
tzachi/phalcon-repository
Phalcon repository is a library for implementing the repositories pattern in projects that use the Phalcon framework
silverstripe/totp-authenticator
A TOTP authenticator for use with silverstripe/mfa.
drbiko/oauth2-server-php
OAuth2 Server for PHP.
codrasil/punchcard
A PHP Library for interacting with time records, time in, and time out.
patchlevel/event-sourcing-admin-bundle
symfony admin ui for patchlevel/event-sourcing-bundle.
tsnc/prisma-php
Prisma-PHP: A Revolutionary Library Bridging PHP with Prisma ORM.
swissup/module-swiper
Basic integration of Swiper v4 into Magento 2.
kblais/query-filter
Easily create filters for your Eloquent models.
|
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?
|
|
|
|