Amazing PHP
9.3K subscribers
11 photos
84 links
Welcome to the Amazing PHP Channel! Here you can find a lot of interesting articles/news about PHP, frameworks, tools and development.

Support the channel: https://www.paypal.com/donate?hosted_button_id=FAYP5QJH5LVRL
Download Telegram
Building Searchable Encrypted Databases with PHP and SQL
This question shows up from time to time in open source encryption libraries' bug trackers. This was one of the "weird problems" covered in my talk at B-Sides Orlando (titled Building Defensible Solutions to Weird Problems), and we've previously dedicated a small section to it in one of our white papers.

The question is, How do we securely encrypt database fields but still use these fields in search queries?
When to be a Software Architect
Many of the constraints I have in my day-to-day job as a developer come from this mysterious world of the software architect. After listening to Martin Fowler on the Ruby Rogues podcast talk about his book Patterns of Enterprise Application Architecture (PoEAA), I decided to pick up a copy (i.e. I ordered it from Amazon) and read a bit more into architecture. Not understanding the domain very well, I also watched a few talks and read a few different articles trying to get a feeling for the important aspects.
Microservices Migration: Lessons Learned
โ€œMicroservicesโ€ is a buzz word that has been going around the tech space in recent times. We ultimately decided to migrate to a microservices architecture and want to share why we did it, how we did it, and what we learned along the way.
Expressive Code & Real Time Facades
Recently, I worked on some code that surfaced my most common use-case for Laravel 5.4โ€™s โ€œreal-timeโ€ facades. If youโ€™re not familiar with this feature, it allows you to use any of your applicationโ€™s classes as a Laravel โ€œfacadeโ€ on-demand by prefixingFacades to the namespace when importing the class. This is not a feature that is littered throughout my code, but I find it occasionally provides a clean, testable approach to writing expressive object APIs.
Best practices for handling exceptional behavior
Dealing with exceptional situations is often neglected aspect of application development. For most, the first association of the notion is throwing/catching exceptions, but actually it is quite a broad topic.
Building Searchable Encrypted Databases with PHP and SQL
This question shows up from time to time in open source encryption libraries' bug trackers. This was one of the "weird problems" covered in my talk at B-Sides Orlando (titled Building Defensible Solutions to Weird Problems), and we've previously dedicated a small section to it in one of our white papers.

The question is, How do we securely encrypt database fields but still use these fields in search queries?
Factory and Repository in the Domain
Iโ€™m a big fan of the book Domain Driven Design, and for some time Iโ€™ve been pushing the principles and patterns in my workplace. Iโ€™ve never managed to get โ€˜intoโ€™ the more theoretical parts of the book, and I chuckle each time one of my colleagues refers to the โ€œcontours of the domainโ€, however itโ€™s up there with books that have caused a substantial shift in my thinking.
#advanced #ddd
The case for singleton objects, faรงades, and helper functions
Last year I took several Scala courses on Coursera. It was an interesting experience and it has brought me a lot of new ideas. One of these is the idea of a singleton object (as opposed to a class). It has the following characteristics
Easy PSR-7 with Zend Diactoros
Itโ€™s no mystery that Iโ€™m a fan (most-of-the-time) of the Zend Frameworkโ€Šโ€”โ€Šheck Iโ€™m a Zend Framework 2 Certified System Architect (Phew! Big title). But as a crusader for decoupled libraries I was beginning to be disillusioned by the gentle giant and itโ€™s enormous spiderweb of dependancies.
Event-Driven PHP with ReactPHP: Event Loop And Timers
PHP was born in the 90s and was a very powerful tool for creating web pages. From its born it has a synchronous run-time, that means that we start execution of some function, and the code flow is blocked until this function is being executed. And it was not considered as something bad. On the opposite many libraries consider that the blocked flow is normal.
Being a Full Stack Developer
A full stack developer who can get from a prototype to full MVP (minimum viable product) is often considered a jack of all trades, master of none, and with good reason. To define the modern full stack developer, we first need to focus on what the full stack developer used to be.
Your interpreter isnโ€™t safe anymore โ€” The PHP module rootkit
Before I begin, I want to make it clear that I condemn the act of using rootkits or any other form of malware without clear consent from the individual or organization being targeted. This post aims to educate the reader about the dangers of malicious PHP modules and outline the very real threat that they pose.
Make your Laravel App Fly with PHP OPcache
Every time you execute a PHP script, the script needs to be compiled to byte code. OPcache leverages a cache for this bytecode, so the next time the same script is requested, it doesnโ€™t have to recompile it. This can save some precious execution time, and thus make your app faster (and maybe save some server costs).
Build A Simple Chat With ReactPHP Socket: Server
In this article, we are going to build a simple chat server based on ReactPHP Socket Component. With this component, we can build simple async, streaming plaintext TCP/IP or a secure TLS socket server.
Using non-breakable spaces in test method names
Yes. This article is about using non-breakable spaces to name tests. And the fact that itโ€™s awesome. And why you should use them too.
Doctrine sharding
We chose Doctrine as our ORM so letโ€™s see what it offers to us.
First of all you have to note that Doctrine is composed mainly by two different parts: DBAL and ORM. ORM leverages DBAL functionalities and itโ€™s completely transparent for sharding. DBAL is the layer weโ€™re interested in. Please note weโ€™re using DBAL 2.5.12 as the moment of writing.
Maybe in PHP
Doing functional programming in a language as PHP, which is almost completely used as an imperative or object oriented way, is not always easy. Good progresses have been made thanks to the introduction of callable type hints in PHP 5.4 and the diffusion of functional interfaces like the ones present in PSR-7.
Whatโ€™s all this โ€œimmutable dateโ€ stuff, anyway?
A simple but real-world example of the difference between a mutable and immutable object, and why you should careโ€ฆ
Event Sourcing for the rest of us
Event Sourcing, The CommandBus or Repository of 2017? Surly youโ€™ve heard about it, but what exactly is it?
RESTful API Design Tips from Experience
A working guide of API design tips and trend evaluations.