OpenLampTech issue #24
This is the 6-month issue of the newsletter for PHP/MySQL developers! Thanks for reading!
Hey glad to have you here! 👍
If someone shared this newsletter with you and you are not yet subscribed, please use the Subscribe button below and join:
Recently from the Digital Owl’s Prose Blog
This week over on the Digital Owl's Prose developer blog, I reshared a free article from my Kofi page on MySQL column DDL. Most times we don't revisit our table design (or we don't like to) but, we may need to change up a column's name, data type, or definition.
The CHANGE
, MODIFY
, and RENAME
MySQL commands all work on making some form of change to an existing table column. But, each command is different. Learn their differences in the post, MySQL MODIFY, CHANGE, RENAME - Kofi Blog Repost.
I turned my 2 favorite MySQL Workbench CSV Import/Export-related blog posts into a free eBook. Grab yours here.
Carrd Templates Shout-out
If you are using the Carrd site builder, there are some awesome deals on well-designed templates over here.
I have curated some fantastic reads for you this week. Let’s get to them!
This Week’s Picks
✔️ The Most Significant Differences Between CakePHP and CodeIgniter
By: STEPHEN PERL
#php #codeigniter #cakephp
Without a doubt, I have PHP Shiny Object Syndrome. I mostly use vanilla PHP and CodeIgniter 4 with some WordPress learning now on the side.
But damn, CakePHP looks so cool too! 🍰
Learn about the similarities and differences between these 2 popular frameworks in this informative article.
I'm sticking with CodeIgniter 4 (for now) but there is a chance, I could get elbow-deep in Cake too!
✔️ MULTI GROUP_CONCAT IN A SINGLE QUERY WITH DISTINCT – MYSQL
By: SHAFI SHAIK
#mysql
Here is a short article that demonstrates how the MySQL GROUP_CONCAT()
function creates a merged set of multiple rows into a single field. GROUP_CONCAT()
is quite useful in creating a comma-separated list as is shown in this article.
I've published a relevant blog post, Create a comma-separated list with MySQL GROUP_CONCAT(), as well on the Digital Owl's Prose developer blog.
✔️ Introduction to Object-Oriented PHP for WordPress Developers
By: David Hayes
#php #wordpress
The author shares this description of OOP at the onset of the article:
"OOP gives us the ability to group together a set of properties and behaviors into an entity, or object."
👏 👏
Doesn't get much more succinct than that...
If you are confused, struggling to learn, or wish to learn about Object-Oriented PHP, this is the article for you.
The metaphors and explanations used are relatable and easy to understand.
Definitely spend some time on this one.
✔️ Replacing Ternary Operators With the Elvis Operator
By: Jordi Bassaganas
#php
I can speak first-hand of just how handy the PHP ternary operator is (and the null coalescing operator too). I use it all the time.
However, I've never used the Elvis operator in any PHP code yet. According to the information in this comparative blog post, shared via Wikipedia
"The Elvis operator returns its first operand if that operand evaluates to a true value, and otherwise evaluates and returns its second operand."
I'm still learning about the Elvis operator. It seems very similar to the null coalescing operator to me.
✔️ A comprehensive guide on how to design future-proof controllers
By: Ibrahim Alausa
#php #laravel
In this 2-part (so far) series of articles, we learn all about what a Controller should be doing in the request lifecycle, along with separating out the tasks as concerns (Separation of Concerns).
I really enjoyed reading these 2 blog posts because I found good examples of how to separate out validation in the Controller.
Although this content focuses specifically on Laravel, it can easily be adapted to other frameworks (which I'm thinking of for CodeIgniter 4 development).
➡️ Read Part 1 and ➡️ Read Part 2
✔️ What is CodeIgniter Framework, and How does It Works? Top Features and Benefits Explained!
By: Chetan Patel
#php #codeigniter
Many of the features covered in this high-level overview of CodeIgniter are those that turned me on to the framework, to begin with.
MVC architecture
Small footprint 👣
Robust helper library
Exceptional documentation
I feel like I will branch out someday but, I do like using CodeIgniter when I can.
✔️ Querying for Beginners: INNER and RIGHT JOINs
By: Dakota Smith
#sql #mysql
If you are using SQL, you must understand JOIN
s and their different types. An INNER JOIN
may be the most common, but, oftentimes you need an OUTER JOIN
in order to get all of the correct data.
There is a wealth of good information in this article and these JOIN
s and their differences are covered quite well.
One such nugget is this phrase by the author:
"It’s important to remember that which table is “on the left” vs. “on the right” is determined by the order of the JOIN. As a reminder: the first table, immediately following FROM in your query, is the left table. The second table, which follows JOIN, is the right table."
Read this post to help clarify your understanding of JOIN
s.
A Message From This Week's Sponsor
This week's OpenLampTech newsletter sponsor is, me!
Help support this newsletter and my content by visiting the sponsor below. Thank you! 🙏
Join the "MySQL Learning Tier" membership over in my Kofi Shop for exclusive premium content in the form of:
Blog posts unpublished elsewhere
In-depth guides
Deep-dive articles
Instructional and learning video shorts.
Useful MySQL Tweet
Useful PHP Tweet
Support OpenLampTech, my blog, and my work with a coffee if you would like.☕
Extra stuff…
Did you enjoy this issue of OpenLampTech? Please share it with others so that they can enjoy the content as well. Thank you!!!
Thank you for reading. I hope you have a great rest of your week.
Take care.
Joshua Otwell
Visit my blog Digital Owl’s Prose, where I write regularly on CodeIgniter, PHP, and SQL. I’m also active on Medium, LinkedIn, Twitter, and Instagram.
Want to support this newsletter and my work? Drop some spare change in my Tip Jar.💰
Disclosure: Some of the services and product links in this email are affiliate links. At no additional cost to you, should you make a purchase by clicking through one of them, I will receive a commission.