I’ve built numerous Magento sites for clients and recently was asked to scope out Magento2 as a serious option for a new build-out. At the end of the day I came back saying, it looks nice, but it’s just not ready. Read on to find out how I arrived at my conclusion.
Closure class in PHP 5.3 you can now pass callbacks to
APC & E-Accelerator et al, are great tools to increase performance practically instantly through Op-Code caching. Nowadays OpCode caching is actually built into PHP. But these systems have another common utility that is less frequently used which is the ability to store user variables. These variables are stored in a reserved segment of memory allocated by the extension when the Webserver starts up. Access to these variables is extremely fast since there is no disk or network overhead. Unlike a database, filesystem or network-based store like Memcache, variables created by APC et al in the Webserver SAPI are unavailable to the CLI SAPI.
So I’ve finally started using Magento and on the whole I’m enjoying it. Magento is very flexible and the code is fairly clean. Some of the nomenclature is misleading and comments can be scant, but it’s still way cleaner than most of the older PHP e-commerce systems I’ve used like Virtuemart, OpenCart, ZenCart etc. As I’ve begun building modules to customize Magento, I discovered Alan Storm’s great website and purchased his e-book No Frills Magento Layout. I’ve also been enjoying PHP’s
trait feature, you may remember I recently posted on traits too. Trait’s are useful in Magento, I’ll show you how I’m using them already.
Lately I’ve had the chance to dive much deeper into BASH than I ever have before. I’m working on a build system with a dozen or so library files, and as many client scripts for the actual builds. A big question is whether or not BASH is the best language for the system compared to scripting options like Python, Perl, Ruby, PHP >cough<, etc. Initially I wrote the entire build system in BASH. But given an opportunity to learn Python, and put the theory to the test, I decided to start implementing some of the components in Python to see what it could offer.