Categories


Recent Posts


Archives


Just Enough C for PHP

This entry is part 1 of 3 in the series Just Enough C for PHP. Later posts include Just Enough C for PHP: Running C Programs, and Just Enough C for PHP: Variables and Types. The funny thing about the C programming language is, if you look hard enough, you can see how it maps out the next 40 years of professional programming. The syntax [...]

astorm

Calling them Home

With all the Yahoo and Verizon shenanigans going on I decided to pull my Magento Quickies posts off Tumblr and hold them close again at my personal home page. You can find all the old posts in the Programming Quickies category. DNS is doing its DNS thing, but magento-quickies.alanstorm.com should eventually redirect to that same category [...]

astorm

Pestle 1.4.2 Now Available

This entry is part 8 of 8 in the series Pestle. Earlier posts include Pestle 1.1.1 Released, Pestle 1.1.2 Released, Magento 2 Setup Migration Scripts, Pestle 1.2.1 Released, Sending Text Messages with PHP, pestle, and Nexmo, Pestle 1.3 and AbstractModel UI Generation, and Pestle 1.4.1 and the Merits of Inheritance. This is the most [...]

astorm

Modifying a jQuery Widget in Magento 2

This entry is part 6 of 6 in the series Magento 2: Advanced Javascript. Earlier posts include Magento 2: Javascript Init Scripts, KnockoutJS Primer for Magento Developers, Magento 2: KnockoutJS Integration, The Curious Case of Magento 2 Mixins, and Knockout Observables for Javascript Programmers. This is the most recent post in the [...]

astorm

Re: A Declarative Approach for Database Schema Upgrades

Visit Linked Page

Re: A Declarative Approach for Database Schema Upgrades It sounds like Magento’s planning a pretty radical overhaul of how it handles schema and data upgrades between versions. The looks to be a fiat from on high (vs. the community driven approach they’ve been using for bug fixes). If you’re making schema/data changes that aren’t in Magento’s core or Marketplace code bases, you’ll want to pay attention to this – your deck chairs may need shifting about.

astorm

Why did the Elephant join the Guild?

This entry is part 12 of 12 in the series Modern PHP. Earlier posts include Bypassing a Slow Composer Repository, Slow Composer Followup, Getting Started with PHP Composer and Magento, PHP: The Right Way; A Review, PSR and Code Style Guidelines, Sellvana: Developer's Alpha Review, PHP Primer: Type Hints, PHP Primer: Namespaces, PHP [...]

astorm

PHP-FPM and File Permissions

This entry is part 11 of 12 in the series Modern PHP. Earlier posts include Bypassing a Slow Composer Repository, Slow Composer Followup, Getting Started with PHP Composer and Magento, PHP: The Right Way; A Review, PSR and Code Style Guidelines, Sellvana: Developer's Alpha Review, PHP Primer: Type Hints, PHP Primer: Namespaces, PHP [...]

astorm

Understanding Laravel Spark’s Swap

This entry is part 1 of 1 in the series Laravel Spark. This is the first post in the series. As Pulse Storm (the small boutique software consultancy I started and continue to operate) takes a half step back from ecommerce and shifts back into software systems consulting, I’ve found myself doing a lot of initial application [...]

astorm

oddyssey/mailtrap

Visit Linked Page

oddyssey/mailtrap A simple mailtrap extension for Magento 2. Mailtrap is a service that lets you point your development instances at an SMTP server that accepts mail, but doesn’t deliver it. Instead mailtrap collects all the mail in a single INBOX. If you’ve ever accidentally emailed an entire customer list with a subject line like Subject: Testing, hope this s——t works. you’ll instantly see the value. The Magento extension is also a simple example of how to hook into the MagentoFrameworkMailTransport class with a custom preference and change the behavior of the email system.

astorm

Pestle 1.4.1 and the Merits of Inheritance

This entry is part 7 of 8 in the series Pestle. Earlier posts include Pestle 1.1.1 Released, Pestle 1.1.2 Released, Magento 2 Setup Migration Scripts, Pestle 1.2.1 Released, Sending Text Messages with PHP, pestle, and Nexmo, and Pestle 1.3 and AbstractModel UI Generation. Later posts include Pestle 1.4.2 Now Available. We interrupt this [...]

astorm

Build Watchers, and NPM as a Build Tool

This entry is part 4 of 4 in the series Modern Javascript for PHP Developers. Earlier posts include Modern Javascript for PHP Developers, Express and NPM for PHP Developers, and Client Side Javascript, Modules, and Webpack. This is the most recent post in the series. In our last article we covered the webpack project, and used it to [...]

astorm

Reserved Words in Magento 2 URL  Paths

Visit Linked Page

Reserved Words in Magento 2 URL  Paths A StackExchange self answer where I use a plugin to work around the reserved-PHP-symbol-in-class-name problem that can plague Magento 2 URL routing. What’s extra baffling about this is Magento has a fix coded up, but only applies it to one URL segment. I suspect this is less baffling if you can gives up the idea that Magento 2 should retain its the rapid application prototyping roots of its ancestors.

astorm

Magento 2 – Form Validation

Visit Linked Page

Magento 2 – Form Validation A StackExchange post that contains most (all?) of the CSS classes that can control Magento 2’s form validation. Magento seems to apply the validation rules on all form submits – although I haven’t dug too deeply into that one so caveat emptor etc. Also, a bonus for folks who read these Tumblr desciptions — here’s a quick bit of javascript that will take M1 style HTML and make all the fields required in an M2 context. require(['jquery'], function($){ $('.required-entry').each(function(key, element){ $(element).attr('required','required'); }); }); Useful if you have a complex form built with a combination of […]

astorm