Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Magium Blog:
3 Best Practices for Selenium Testing when Constructing Your Page
Feb 17, 2016 @ 09:55:26

In a new post to the Magium site Kevin Schroeder shares three helpful tips you can use for the Selenium testing of your application based on some of his recent development on the project.

Having spent now about two months building out Magium there are a couple of things that are worth sharing as I’ve been working through several different versions of Magento. These practices (best practices?) may or may not be “officialized” by the Overlords of the Internet but what I have found is that I have the most trouble when these practices are not executed.

The basic premise behind each of these is that the quickest path to the most specific element is best.

His three tips avoid things like long XPath expressions to locate single items and favor consistency and simplicity:

  • Wrap ALL text in an HTML element – leave no orphaned text
  • If an element has function, identify it.
  • Group data using classes and IDs

He ends the post with a reminder that a well-structured page not only helps with testing but is also a good goal to strive for related to maintainability.

tagged: selenium testing magento tips top3 structure

Link: http://magiumlib.com/blog/3-best-practices-for-selenium-testing-when-constructing-your-page/

Kinsta Blog:
The Definitive PHP 7.0 & HHVM Benchmark
Dec 09, 2015 @ 09:07:44

On the Kinsta blog Mark Gavalda has shared their latest PHP 7 versus HHVM benchmarks now that the first official stable release of PHP 7 has been unleashed for public consumption. They opted for testing with a large variety of tools and software rather than simple benchmarking scripts to give a more "real world" look at the difference between the two.

To see how much of an improvement we can expect from this new PHP interpreter we put the public release version of PHP 7.0 to test and compared a couple of popular software suites’ performance using PHP 5.6.16, PHP 7.0 and HHVM 3.10.1 on a bare metal server (so virtualization doesn’t interfere with the results). Tested software includes WordPress 4.3.1, Drupal 8, Magento 2.0 CE, OctoberCMS build 309, PyroCMS v3 beta2, and Flarum v0.1.0-beta.4.

The basic tl;dr of the post is that HHVM still performs better for all of the software tested but PHP 7 is not too far off on some of them. They share the specifications of the machine (bare metal) they used for testing and get into the results for each of the seven pieces of software tested. Their results are in transactions per second and both graphed and numeric results are shown. Unfortunately, though, the Flarum software had to be kept on a "pending" list as it doesn't run on either PHP 7 or HHVM properly.

tagged: hhvm php7 benchmark popular software wordpress drupal magento octobercms pyrocms flarum

Link: https://kinsta.com/blog/the-definitive-php-7-final-version-hhvm-benchmark/

Thijs Feryn:
Fabrizio Branca – Talking about Magento & living in the Bay Area
Nov 30, 2015 @ 12:27:07

Thijs Feryn has posted his latest in his series of video interviews during his travels to various conferences around the world. In his latest he talks with Fabrizio Branca about Magento and what it's like living in the (San Francisco) Bay Area.

I had the pleasure of having a great conversation with Fabrizio Branca. Fabrizio was born in Italy, raised in Germany and currently lives in the Bay Area, near San Francisco. He is a well-respected member of the Magento community and has a bunch of Magento modules to his name.

It comes as no surprise that the main subject of our conversation was about Magento. [...] Fabrizio works for AOE, a German-based company that focuses on open source software. It was actually thanks to AOE that Fabrizio and his family were able to move to San Francisco. He started a team out there and has been living in the Bay Area for a number of years now. We talk about that as well.

You can watch this latest episode either through his in-page video player, directly over on YouTube or for the more audio-minded, just the recording on Soundcloud

tagged: thijsferyn interview fabriziobranca magento sanfrancisco bayarea community

Link: http://blog.feryn.eu/2015/11/30/fabrizio-branca-talking-about-magento-living-in-the-bay-area/

Voices of the ElePHPant:
Interview with Joshua Warren
Nov 17, 2015 @ 09:46:34

The Voices of the ElePHPant podcast has posted the latest episode in their series of interviews with members of the PHP community. In this new show host Cal Evans talks with Joshua Warren.

Cal and Joshua talk about his presentation on Magento 2 and what's different with this current major release. His talk tries to get PHP developers excited about the new version and show them how far the project has come. They also talk about Joshua's experience with Magento 1 and how the Magento community has grown in recent years. They also talk about the book that Joshua is working on covering the customization of Magento 2 (published by php[architect]).

You can listen to this latest episode either through the in-page audio player or by downloading the mp3 directly. If you enjoy the show, be sure to subscribe to their feed or follow them on Twitter for updates when the latest episodes are released.

tagged: voicesoftheelephpant podcast interview community calevans joshuawarren magento

Link: https://voicesoftheelephpant.com/2015/11/17/interview-with-joshua-warren/

Kevin Schroeder:
Configuring MySQL SSL in Magento
Sep 28, 2015 @ 09:24:34

Kevin Schroeder has a quick post to his site showing the Magento users out there how to configure the SSL connection to their MySQL database backend.

’ve been asked a few times now if there is a way to use encrypted MySQL connections in Magento. [...] The answer, to my surprise, is that there is no way of doing it out of the box.

[...] All database configurations are stored in the local.xml file and the XML specification does not allow numbers for XML node names. So no matter how you try to slice it it looks like getting the SSL settings into the Magento adapter will not work without a code change. The Internet seems to confirm this. But that doesn’t mean that it can’t be done. So I wrote a quick Magento adapter that allows you to pass in the constant values.

He walks you through the process of getting the adapter installed, configuring MySQL to allow for the SSL connections and the configuration change to make. He includes the XML you'll need to update, including the addition of a secure_driver_options to the XML to provide the necessary SSL connection information.

tagged: magento mysql adapter ssl connection configure database

Link: http://www.eschrade.com/page/configuring-mysql-ssl-in-magento/

Barry vd. Heuvel:
Using local repositories to easily install private Magento extensions with Compose
Sep 22, 2015 @ 09:02:26

In a post over on Medium.com Barry vd. Heuvel shows you how to use a recently added feature of Composer, the ability to use local repositories, to install Magento extensions quickly and easily.

I’m a fan of using Composer (in- and outside Magento), so I like to use that option. This works great for free packages listed on Magento connect or Firegento Packages, because you can just require the packages and run composer update. [...] This is all great for public packages, which are download through the Firegento repository. But what about private packages? Ideally we could also use Composer for the packages we purchase. [...] In this blog I’d like to explain how to tackle these 2 problems, so you can keep using the Composer workflow.

He walks you through the two steps you'll need to set up the module so it can be installed via Composer: creating a mapping (package.xml) and the composer.json. For the first he recommends using the Magerun modman tool to help with this. Creating/updating thecomposer.json file to work with the extensions is relatively easy. He makes use of the "path repositories" functionality to points the package at the "extensions/" directory using wildcards in the path name to allow for inclusion of all extensions without having to list each one (see this PR). Finally, to help make the process a bit more clear, he walks through a full example using the Amasty module.

tagged: magento composer install local repository extension packagexml tutorial

Link: https://medium.com/@barryvdh/using-local-repositories-to-easily-install-private-magento-extensions-with-composer-7eb966dec23e

Understand Overriding in Magento: Controllers
Jul 24, 2015 @ 11:19:45

The NetTuts.com site has posted a tutorial (the third and last in their series) showing how to override controller handling in Magento. In the previous posts they showed how to override functionality related to the models and blocks (frontend layout elements).

In Magento, the controller is responsible for handling incoming requests, and it's a backbone of the Magento routing implementation. [...] As I said in the previous tutorial, it's never recommended to change core files directly, as it makes upgrading Magento really difficult. To avoid this, we should follow the standard way of making desired changes to core files: we should either use event observers or override core files with our custom module files. We'll discuss the overriding feature today.

You'll need to be familiar with custom module creation to be able to follow along (see here if not) but other than that they provide everything you'll need. They start by creating the files and folders needed for the custom module including:

  • Module XML definition (Envato_All.xml)
  • Module XML configuration
  • the Envato_Catalog_ProductController controller file (PHP)

The controller extends the pre-existing Product controller but the configuration definitions tell it ti use the "Envato" version instead.

tagged: magento overriding controller tutorial custom xml module

Link: http://code.tutsplus.com/tutorials/understand-overriding-in-magento-controllers--cms-23386

Voices of the ElePHPant:
Interview with Ben Marks
Jul 14, 2015 @ 11:47:32

The Voices of the ElePHPant podcast has posted their latest episode in their series of interviews with members of the PHP community. This time host Cal Evans talks with Ben Marks, a developer evangelist for Magento.

Cal and Ben talk about the work Ben does as a developer evangelist and how he got into the role. They also talk about how he handles the balance between the need to be social and the need to keep "doing the job" (and burnout). Ben also talks about what responsibilities he feels the role has. They also mention the eBay split (Magento is/was a part of eBay's products) and the work that's put in from that perspective to make it a good product.

You can listen to this latest episode either through the in-page audio player or by downloading the show. If you enjoy the show, be sure to subscribe to their feed and get the latest episodes as they're released.

tagged: voicesoftheelephpant community interview benmarks podcast magento

Link: https://voicesoftheelephpant.com/2015/07/14/interview-with-ben-marks/

Create a Custom API in Magento: Part Two
Jul 03, 2015 @ 10:54:02

NetTuts.com has posted the second part of their series showing how to create a custom API in Magento. In part one of the series they focused on creating a custom module that worked with the core APIs and system. In this new post they approach it from the other side and show how to use those APIs created in part one.

In this series, we're discussing custom APIs in Magento. In the first part, we created a full-fledged custom module to implement the custom API, in which we created the required files to plug in the custom APIs provided by our module. In this second and last part, we'll go through the back-­end section to demonstrate how to consume the APIs.

They start with a quick recap of the things created in the first part of the series and how to ensure it's set up correctly to be accessed as an API endpoint. Next they set up the user and role configurations that you'll need to access the new API through the administration panel. Finally, they show you how to use the API through a simple SoapClient request.

tagged: magento custom api series tutorial part2 usage

Link: http://code.tutsplus.com/tutorials/create-a-custom-api-in-magento-part-two--cms-23821

On Magento 2 being “open source” – the post-mortem
Feb 23, 2015 @ 10:12:02

On the Magenticians site there's a new post that provides an update of sorts, a post-mortem really, about their opinion of the "open source-ness" of the Magento product and project.

Little less than four months ago, we published an opinion-piece regarding Magento 2 and why we thought it wasn’t really holding up to the mindset of being an open source project. In four months, a lot has changed. [...] Magento 2 was (and still is) being marketed as a new platform which not only refreshes the entire code base, but also improves handling of the community its feedback and involvement. [...] Most of the original critique was therefore that, though by definition Magento 2 is an open source project, all the rest which should naturally come with “being open source”, severely lacked. It is one of our best read articles and linked from a dozen of websites; a timely status update is in its place.

They go on to update some of their original comments and note that things "feel more like open source" with changes including direct pushes to GitHub (not mirrored) and better external communication. They point out a few other smaller things including their developer hub, updated developer documentation and more informative blog posts about the project/project.

tagged: magento opensource postmorten improvements opinion project product

Link: http://magenticians.com/magento-2-open-source-post-mortem