Zephir is a programming language for building PHP extensions. As in, the .so files that extend the PHP language itself. Normally you need to use the C programming language to create a PHP extension, but Zephir is an intermediate language you can compile down to C code, (using the provided tooling). Its build system also automatically [...]astorm
Category: Programming Quickies
Back in they day, I ran a Tumblr blog named Magento Quickies where I’d post shorter, less in-depth posts about my travels through Magento’s source code. This Programming Quickies categories is the successor to that Tumblr blog. You’ll find all the old Magento Quickies content here, as well as new short posts about programming in general.
This section has its own RSS feed, the old Magento Quickies feed should should be redirecting, and we’re cross posting notifications for new posts over to magento-quickies.tumblr.com. In other words, you shouldn’t need to know any of this, but the duct tape that keeps the internet held together isn’t aging well, so your mileage may vary.
Below you'll find all the Programming Quickies articles on the site.
In the begining (or near enough to it), PHP had a set of functions for talking to MySQL databases — mysql_connect, mysql_query, mysql_.... While newer database APIs like the mysqli_ functions and PDO came along these older functions hung in there and remained hugely popular right up until the end. The end being their removal from [...]astorm
I don’t have any first hand experience with it, but Moltin’s a new-to-me API Only ecommerce service/start-up. API only meaning there’s no UI, just REST endpoints for you to call and perform the basic operations of any ecommerce system. If you only have shallow knowledge of other open source and commercial ecommerce [...]astorm
I just released version 1.4.3 of pestle over the weekend. Mostly a maintaince release and tightening up things I stumbled across while working through the Learning Magento with Pestle screencast series with my patreons. We’v also got a few additional contributors to the project. Pestle is a command line framework I built to manage [...]astorm
Pestle (my PHP command line script frameowrk and Magento 2 code generation tool) has has a bash tab completion script for a while, but I finally wrote up some basic instructions for using it in the pestle README. It’s super annoying that MacOS doesn’t ship with the more robust bash-completion program installed by default, but [...]astorm
This high level history of PHP passed my desk — I didn’t start using the language until version three (and I still, to this day, forget access modifiers on my class method names or type things like public thisIsMyMethod because the typing cadence for defining a method was two words) so it’s nice to have some high level [...]astorm
Suhosin is an older PHP extension that tries to lock down common security attack vectors in PHP. This locking down includes preventing phar applications (like pestle) from running. If you’re using Suhosin and want to use PHAR archives you’ll need to configure things properly.astorm
I found this out from a random banner on Shopify support page while trying to figure out why my store’s email had stopped working so I figured I’d signal boost it. Hooks are HTTP requests Shopify sends out when an order’s made that include order information. They’re sent to your servers, and let you do all sort of [...]astorm
This whitepaper from Nexcess isn’t your usual “Hey look, we’re sucesful enough to pay a consultant for a whitepaper so we must be stable” affair. Instead it’s a methodical look at every layer of Nexcess’s Magento hosting stack and how they optimize each one for a Magento 2 system. I thought it was a [...]astorm
Over on my sleepy patreon I posted a public example of of the sort of things I’m working on w/r/t Magento these days. My screencasts are still lagging behind when compared to the sort of things being done at Mage2.tv, but the content’s still useful and it’s good speaking practice for meastorm
Another set of slides from a Benoit Jacquemont talk I would have loved to see. My high level summary Don’t forget that your PHP program isn’t talking with anything directly, all activity goes through the your operating system’s kernel, and there are tools (strace on linux) for looking at the system calls your program is [...]astorm
This Stack Overflow post about some weird differences between direct instantionation of an Array vs. using the new Array constructor function is a great example of why coding standards can be more than just window dressing. It’s not that one of the methods is better than the other, but by chosing one over the other you avoid the [...]astorm
Given the date on the Stack Overflow post that saved me this is probably old hat for most of you, but it looks like the MySQL configuration provided by Ubuntu 18’s default apt-get repositories defaults to using “the auth_socket plugin”, which links your MySQL logins with your actual system login. Gave me a bit of the [...]astorm
I imagine it’s a narrow sliver of folks who follow this site and don’t follow the trades, but just in case: Adobe is going to buy Magento Inc. Right now there’s the usual sound and fury you’d expect from the usual places — Magento’s relentlessly on-message machine isn’t slacking off just because [...]astorm
Over the weekend I ended up doing some gardening in my astorm/magento2-travis repositoy. This repo has simple starter travis.yml file that builds and installs a simple Magento enviornment to run your tests in. Travis is an amazing free resource for running your projet’s continuous integration system — if you haven’t [...]astorm