Hi everyone,
It's a brand new newsletter and this week the Podcast section is in full swing with new episodes from your favourite podcasts. No Compromises is back and their topic this week is how they use seeders in their applications. Maintainable is also back from a short hiatus and this week Robby has a chat with Senior DevOps Engineer, Hila Fish on key characteristics of maintainable infrastructure code. Persistence by Reducing Expectation is the topic of choice over at Developer Tea. Over at our News Section, Bagisto announces a new open-source mobile app for merchants. We also have an article on what's in store for Filament in 2024. Finally in our Articles section we have an informative post on File Upload Bypass Techniques: Understanding and Mitigating Security Risks, as well as a blog on Building Maintainable PHP Applications: Over-engineering vs under-engineering from Davor Minchorov. 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
Building Maintainable PHP Applications: Over-engineering vs Under-Engineering
How I understand Over-engineering and under-engineering in terms of code: Over-engineering is usually a word that is thrown around for code that is either: great and makes sense for maintainability for the long run, badly written and completely unnecessary.
Easily Manage Temporary Files in Laravel
I recently had a queue job that needed to temporarily download a file to the server, process it, and finally clean up the temporary file. That’s not difficult in PHP, and you might have started with something like the following.
Building Scalable Systems: Architecting for Growth and Performance
In the digital age, building scalable systems is crucial for the growth and performance of any business. Here’s a deep dive into the key considerations and strategies for architecting scalable systems.
Excel Wizardry in Laravel
In the thrilling world of system data analysis and smooth data migration, generating Excel files is the secret weapon every developer needs. Forget the days of dull spreadsheets – Excel generation in Laravel is about to rock your coding world.
File Upload Bypass Techniques: Understanding and Mitigating Security Risks
File upload functionality is a common feature in web applications, enabling users to share images, documents, or other files. However, if not implemented securely, this feature can become a significant security risk.
Higher-Order Functions in PHP With Example
In this post, we’ll delve into what higher-order functions are, why they matter, and provide practical examples to illustrate their power.
|
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
Use Model shouldBeStrict when starting a new Laravel app
So you have an idea for a brand new app. You install Laravel, you're ready to get started. What's the first thing you should do?
How to Generate SBOM for PHP Projects
In the dynamic realm of PHP development, where libraries and dependencies are rather complex, the need for transparency and security has never been more critical.
Switching PHP Versions on macOS using Homebrew
This guide will walk you through the process of switching from PHP 8.1 to PHP 7.4 using Homebrew, a popular package manager for macOS.
Polymorphism in PHP With Example
Let’s learn about Polymorphism in PHP.
Deploying Laravel 10 Like a Pirate: SSH Method
Join me on this epic journey, where we will use GitHub Actions to drop our treasure onto a dedicated server via SSH.
Working with Multiple Currencies in Laravel/PHP: Three Effective Strategies
Handling multiple currencies can be challenging. In this guide, we’ll explore three different strategies you can use for multi-currency projects in PHP/Laravel.
Uploading Images in Symfony: A Developer’s Journey
If you’ve got a Symfony app set up locally with an existing form, let’s walk through the essential steps to make the process smooth and straightforward.
How to Use String Interpolation in PHP
We’ll look at PHP string interpolation with an example of best practices in this article. |
News and Announcements
Bagisto Announces a New Open-Source Mobile App for Merchants
Bagisto now has an open-source mobile app for merchants. This allows you to run your own mobile app for your store easily. You can easily customize the important parts, such as the application title, the splash screen, the app icon, and more.
Introducing Tabular Assertions
Today I tagged v1 of a new testing package: spatie/tabular-assertions. It's a distillation of a testing method I've been using in client projects the past two years. The package supports both PHPUnit and Pest out of the box.
Filament: What to Expect in 2024
2023 was an incredible year for Filament, and the momentum just keeps on going into 2024! The Filament core team has taken a lot of time over the past couple of months to develop our goals for 2024, and we're excited to share them with you here!
A Week of Symfony #888 (1-7 January 2024)
This week, Symfony development activity focused on the translation files used by the Validator and Security components, completing many missing translations and normalizing the file contents. Meanwhile, Symfony 7.1 added support for custom HTTP status codes in the MapQueryParameter attribute, introduced a new ServiceCollectionInterface and added Stringable interface support in all constraints. Lastly, we simplified the versioning of Symfony Docs.
International PHP Conference Berlin 2024
The International PHP Conference is the world's first PHP conference and stands since more than two decades for top-notch pragmatic expertise in PHP and web technologies.
|
Podcasts and Vlogs
PHP Ugly: 366: Pinky Out Development
This week on the podcast, Eric and John talk about tools that make our development life smoother, php[tek], reverting PRs, and more...
The Stack Overflow: Maximum Glitch: How to break Tetris
The home team is back with a conversation about the 13-year-old who beat Tetris by breaking it; stories from the Mathematics Stack Exchange; and the robot butler that will do your dishes, fold your laundry, and water your plants. Happy New Year!
No Compromises Podcast: How we use seeders in our applications
Seeders seem pretty straightforward. It's a way to generate data. But how should you use them in your app and what different purposes do they serve? We talk through our approach to seeders and how we use them in a few different contexts.
North Meets South Podcast: The North Meets South meets Cash Money Cowork New Year extravaganza
The North Meets South meets Cash Money Cowork New Year extravaganza.
Maintainable Podcast: Hila Fish - Maintainable Infrastructure Code, Culture, and Documentation
Robby has a chat with Senior DevOps Engineer, Hila Fish. They start off by discussing the key characteristics of maintainable infrastructure code.
Software Engineering Radio: SE Radio 597: Coral Calero Muñoz and Félix García on Green Software
Coral Calero Muñoz and Félix García, professors at the University of Castilla-La Mancha, speak with host Giovanni Asproni about green and sustainable software—an approach to software development aimed at creating software systems that consume less energy and produce less CO2 during their entire lifetimes with minimal impact on their functionality and other qualities.
Developer Tea: 9 Years - Persistence by Reducing Expectation
Thank you all for your support, and your friendship. I wish you all well on your journey, and may you find clarity, perspective, and purpose. (Don't worry, we aren't going anywhere!).
Shoptalk Show: How Many VS Code Plugins, Poor Charlie’s Almanack, and Where to Start in 2024?
We're closing in on episode 600 and need your help to celebrate! Listen in to learn how to contribute to the episode.
WP Builds: 355 – David’s return… A new podcast called The ‘No Script Show’
So in episode 353 we said bye bye to David Waumsley. Well, now is the time to own up to the fact that David is not in fact going away!
WP Briefing: Episode 70: A Look Ahead at WordPress in 2024
Curious about WordPress’s big-picture items for 2024? Phase 3, Data Liberation, new meetups, and more, get the spotlight in this episode. Join Executive Director Josepha Haden Chomphosy for all this, plus a small list of big things coming up in the next two weeks.
|
Time Tracking: Why It's Essential for Devs and How Timing Can Help
Time is a resource that none of us developers can afford to take for granted. Whether you're a freelancer, agency, or in-house developer, you probably hate wasting time. That's why it's essential to manage your time well, and it's where our native Mac app Timing comes in.
Navigating the Freelance PHP Programmer Market: A Comprehensive Guide
This comprehensive guide aims to demystify the freelance PHP programmer market. It equips you with essential knowledge to thrive and flourish in this dynamic field.
Readonly Classes in PHP: A Useful Addition to Readonly Properties
Last year around this time, I asked the question whether readonly properties replace getters. I gave a short overview about “best practices” on object oriented programming, summarized the idea of immutable objects and demonstrated how readonly properties helps writing better and more robust code with PHP.
Data-Driven Feature Development: Unveiling the Hidden Consequences of Code Changes
Imagine this scenario: you are excited about introducing a shiny new feature or fixing a pesky bug in your software. You roll out the update, feeling a sense of accomplishment. But suddenly, reports start pouring in from users, complaining about things breaking that were perfectly fine before.
|
Interesting Projects, Tools and Libraries
miladtech/combination-generate
Generate combinations of items in multiple arrays.
datingvip/negotiation
Content Negotiation tools for PHP provided as a standalone library.
craft-plugins/nice
A nice plugin with nice functions for nice data representation in Craft CMS.
epmnzava/userwallet
Laravel package to kickstart user wallet.
devanox/tailwind-class-merge-php
TailwindClassMerge for PHP merges multiple Tailwind CSS classes by automatically resolving conflicts between them.
iceshop/icecatconnect
The module developed by Iceshop fully automatically loads the full product information in your Magento web store database.
miladtech/color-code-converter
HEX code coverted to RGB color code.
hemant-mann/flysystem-dropbox
The Flysystem Adapter for Dropbox.
issei-m/simple-job-queue-bundle
Integrates issei-m/simple-job-queue system with your Symfony's app.
codiiv/chatteradmin
A package to provide extended functionality for the beautiful thedevdojo/chatter forums 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?
|
|
|
|