php[architect] logo

Want to check out an issue? Sign up to receive a special offer.

Building Bridges

March 2019

Do you still need to scale your site? Are you looking to take control of your content? Need to integrate with a third-party application? This issue collects articles on bridging that gap, including database scaling, joining the IndieWeb, and using OAuth securely.

We Need a Bigger Boat—Introduction to Scaling, Part Two

By Liam Wiltshire

If you have one successful month after another, then scaling becomes something you always have to be aware of. While optimizing your resource usage and scaling your web instances (covered last month) can get you so far, sooner or later you’ll need more. We’ve already discussed how databases are a common bottleneck, so this month we’ll see how to scale our database servers, and consider other ways of reducing the load.

Migrating Legacy Web Applications to Laravel

By Barry O'Donovan

Thanks to Taylor Otwell’s Laravel framework, PHP is reclaiming its rightful place as the go-to language for web application development. For those of us maintaining and developing applications using legacy frameworks, the grass certainly looks greener on Laravel’s side. In this article, I show how to do an in-place migration from a legacy framework to Laravel.

WordPress and the IndieWeb—Why You Should Own Your Voice

By David Wolfpaw

Creating content online has gotten exponentially simpler with new tools which allow more people to put their voice online. Sharing that content with others has likewise gotten uncomplicated with the advent of social networks. However, that ease has come with the price of loss of control over that content. If you want to regain some control, tools and techniques exist to help. We’re going to look at the IndieWeb, it’s philosophy, and some ways to make your websites IndieWeb friendly, giving you the ability to create and post content, but also to share it and let others interact with it on your terms, not those of a corporate social media giant.

OAuth 2—How It Works, Refresh Tokens, and the State Parameter

By Daniele Timo Secondi

At Pipedrive, we work hard to provide salespeople with the best CRM to manage their workflow. At the same time, we know a sales CRM is often used together with a variety of other tools, which can be different for each company. So we created a marketplace where other developers can create apps and integrations to cover those needs that salespeople have, but we don’t cover natively. So, for example, if you want to use MailChimp for your email marketing, you can connect it to Pipedrive by installing one of the available apps on the marketplace, and have your contacts synced between the two platforms. One of the technical questions to answer in this kind of scenario is, how do you give these apps access to the user’s data in a controlled way? You probably guessed it. The answer is with OAuth 2.

Education Station: Explicit is Better Than Implicit

By Chris Tankersley

The argument over strict typing is nothing new in PHP. When the PHP 7.0 release was under development and the idea of scalar type hinting came up, there were developers on all sides with opinions on how it should work. While PHP 7.0 could introduce backward compatibility breaks, introducing strict typing had the potential to break years and years worth of code. How far the language went with this surfaced a variety of opinions. Let’s look at the benefits of using scalar type hints to clarify the intent of your code.

Internal Apparatus: Hash Table Collisions

By Edward Barnard

We continue our deep dive into how PHP implements arrays as hash tables. We’ll see how the collision chain works. We’re not ready to dig into the C implementation just yet, so we’ll see how to build and rebuild the hash table using PHP code. This month we’re learning how PHP arrays are stored and manipulated; next month we’ll see the C code itself.

Security Corner: Intrusion Detection

By Eric Mann

Home security systems are an early warning to potential theft or abuse of our personal property. They’re useful because they alert us (and the police) to a problem before the theft happens. Logging and monitoring of our applications and digital systems can similarly help protect our customers and their data. By leveraging an automated intrusion detection system, our application can catch threats before they have a chance to impact our business.

Community Corner: Women in History Month

By Margaret Staples

In recognition of Women in History month, I asked women and non-binary developers to reflect on their experiences in the PHP community, and received about 30 responses.

finally{}: The Seven Deadly Sins of Programming: Envy

By Eli White

We only have two sins left to discuss to complete our series, and this month we’ll discuss Envy (saving Wrath for our final installment). Now envy can manifest itself in many different ways in programming, that can impact you, and your code, negatively.

Leave a comment

Use the form below to leave a comment: