SPL – The Forgotten Library

Mark BakerThis month for December’s meeting, we’re excited to welcome back Mark Baker, who’ll be speaking to the group about SPL, The Forgotten Library:

The Standard PHP Library (SPL) has been an option in PHP since version 5.0.0 and always available since 5.3.0, yet few developers seem aware of the powerful features that it offers. From a comprehensive set of iterators and powerful classes, interfaces and abstracts that seem complicated, but are surprisingly easy to use; through a hierarchy of exceptions; and datastructures; to file handling classes; to the Observer design pattern: the SPL has something to offer that can simplify your code, improve its performance and reduce its memory usage. Despite its wide and varied uses, SPL has been largely forgotten: but now it’s time that developers learned the powerful toolset that’s already available in PHP to simplify their work. SPL should take its place among the standard features of PHP that we use on a daily basis.

This talk takes a look at some of the datastructures that are built into PHP’s SPL library; why, when and how should you use them in your code; and what problems you might you encounter when doing so. Fixed Arrays; Doubly-linked lists; Stacks; Queues and Priority Queues; Heaps; and Object Storage: all have real benefits when used in the right situation. SPL offers real solutions to daily problems, and isn’t simply an esoteric collection of tools that only belong in a Computer Science theory classroom.

The SPL provides a powerful and flexible toolset: yet few developers even seem aware of its existence, or of how they can use it to simplify their work and improve the quality of their code. It’s time that changed; and SPL should take its place among the standard features of PHP that we use on a daily basis. This talk is aimed at reminding people that SPL offers real solutions to daily problems, and isn’t simply an esoteric collection of tools that only belong in a Computer Science theory classroom.

Mark’s biography:

Mark is the Head of Design and Development at Innoved (Innovative Solutions for Education) based in Wigan; a company which (coincidentally) shares offices with his favourite Rugby League team, the 2013 Challenge Cup winners, and which occasionally gets him free tickets to attend Warriors games.

He has been working in the computer software industry since before symbolics.com was registered as a domain name, before the term “cyberspace” was first used in fiction, when Linus Torvalds and Rasmus Lerdorf were still at high school, and Mrs. Zuckerberg had yet to give birth to a bouncing baby social network enabler; and has been developing for the Web in a variety of languages since the days when the Tim Berners-Lee’s creation comprised less than 1,000 sites.

Over those years, he has contributed to a number of open source projects: some still extant, others lost to history. Currently he is coordinator and lead developer for the PHPExcel library, and a coordinator and developer on the PHPPowerpoint, PHPWord, PHPProject and PHPVisio libraries – all part of the PHPOffice library suite. He has also managed to squeeze his name into the credits for PHP 5.5 by contributing a new method to SPL Doubly-Linked Lists. Most recently, he has been working on new datastructures such as Tries, hoping that he’ll be able to get them included in SPL.

His particular interests include PHP integration with office suites, Textual analysis, Geodata and geographic information systems, and “big data” and data analysis.

If you’re interested in coming down, please let us know on the Lanyrd event or the joind.in event.

Where’s Joe? Using Geo technologies to locate your boss & users

Jenny WongOur November meetup is on Monday 17th November, arrive 7pm for 7.15pm start, at The Skiff as usual. This month we’re excited to welcome Jenny Wong, PHP community cheerleader and developer, to present at the group! Jenny’s presentation is titled “Where’s Joe? Using Geo technologies to locate your boss & users”:

Joe Hoyles is the CTO of Human Made, and he is a busy man. He is constantly on the move, which is a problem when you want to catch him for a chat or meeting.

In this talk we will look at how we can harness technologies such as GeoIP and Geolocation to keep track of him. I will be sharing how we created a WordPress plugin that integrated Foursquare and GeoIP into an internal site, the quirks and pitfalls of these technologies and issues that have to be considered before trying to store timezones.

This session is aimed at developers who want to gain some insight into dealing with Geolocations, GeoIP and timezones. I will be sharing the problems and solutions I encountered when trying to make Joe easier to find.

We’re also excited this month to welcome Electric Putty, a web agency based in Hove, who are this month’s sponsors and providers of beer! Electric Putty are always on the lookout for freelance developers so if you’re interested then have a word with them on the night.

As always the event is listed on joind.in and Lanyrd – please sign up if you’re thinking of attending.

See you there!

User management as a service

Emmanuel IdeThis month's meeting will take place on Monday 15th August, 7pm for 7.15pm start, at The Skiff in Brighton as usual. This month we welcome Emmanuel Ide back to speak, and he'll be presenting a case study on "User management as a service", illustrating the use of the Stormpath PHP SDK to integrate user management into your applications. From the Stormpath website:

Stormpath is the first user management and authentication service for developers. A scalable cloud-based API, Stormpath provides a common role-based access control & authentication framework that can be used across disparate applications and multiple programming languages. It also provides an on-line management console and workflows for user registration and password recovery.

Stormpath virtualizes your user stores to simplify access to multiple directories from one application. Groups and roles reflect user roles and organizations, including SaaS directories, and are easy for any admin to manage. Directories, accounts, and groups are available to any connected application via our web console or REST +JSON API. Authentication occurs instantly with one simple API call.

As usual we're listed over on Lanyrd and joind.in so please mark yourselves as attending. And see you there! :-)

PHP: Under The Hood

Davey ShafikThis month’s meeting will take place on Monday 18th August, 7pm for 7.15pm start, at The Skiff in Brighton as usual.

This month we’re excited to welcome Davey Shafik, a Community Engineer at Engine Yard and a well-known member of the PHP community. Davey will present “PHP: Under The Hood”, streamed live via the magic of the internet!

Performance issues can be caused by many things, from database interactions, web services, disk i/o and, less frequently, the code itself.
We would typically turn to a profiler like xhprof to diagnose these issues, but what if the bottleneck is PHP itself, where do you turn?
This talk will take that inspection a step further and look under the hood of PHP, at the C internals of how things tick.
This talk covers what every PHP developer should know about their tools — like what’s really going on when you use double quotes vs single quotes.
If you’ve ever wanted to know exactly what your code is doing, and why ++$i is faster than $i++, this talk is for you.
Note: This is an advanced talk, you should be extremely familiar with PHP and have some experience with profiling if you are to get the most from this talk.

This promises to be a great talk, and EngineYard have also kindly donated some free swag to give away – currently in transit at the moment from the USA!

As usual, our meeting is on Lanyrd and joind.in – please mark yourselves as attending if you’re thinking of coming :-)

Drupal – the ECK

Jeni TehanThis month we welcome Brighton-based Drupal developer Jeni Tehan, who’ll be presenting on the Drupal Entity Construction Kit:

The entity system in Drupal is incredibly powerful and is how nodes, taxonomy terms and users in Drupal core are built.  But what if our data or functionality doesn’t coincide with an existing entity type and we need a way to create custom entities, forms and ways to manage those entities?   The Entity Construction Kit (ECK) allows us to stop shoving all of our data into nodes, and quickly create custom entities to handle our specific use cases through the Drupal UI.

Let’s talk a bit about what ECK can do, when you should use it and why you should use it.


Jeni Tehan is web developer and director of Delicious Creative in Brighton and has been a Drupal specialist for the past seven years.