Running phinx or artisan migrate during a deployment is great, but how can you ensure they don't clobber each other in a multi-machine deployment?
I can't think of a better way to express this other than all existing CI/CD pipelines suck.
I'm looking at starting a new project with Event Sourcing, and I just keep running into the same fatal flaw in every PHP implementation I can find. First reported by Fritz on the Prooph project, the Prooph people thought it was an unavoidable side-effect of using a document DB to store log information (it is, but that's beside the point).
Why do all HTTP response codes suck for application development?
I ran into a fundamental difference between flexbox and box-model layouts (bootstrap 3 vs bootstrap4). CSS grid layouts - as seen in frameworks like Bootstrap and Foundation - use the rules of CSS to help layout and align parts of a Web page. Flexbox is fundamentally different from CSS grid systems because flexbox uses rules baked into the browser and not the cascading rules of CSS.
Can you use just the user's session ID as an anti-CSRF token? Let's break down CSRF tokens and how to create them.
This error message doesn't always point you at the right solution.
[PDOException] SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
Mondrian doesn't ship with a WAR file by default anymore. This inhibits people from trying out Mondrian via its XML/A servlet.
Getting proper time series data from SQL can be challenging. It's best to create a proper datawarehouse and generate a calendar table, but I can show you how to create an ad-hoc calendar table for quick visualization in Grafana.
I wrote about this last year, but it bears repeating. Database backed sessions in PHP will eat your data under normal circumstances.* (If your normal usage involves Ajax calls).