|Hi PHP fans, it's that time of the week again ;
In this issue we bring you not one but two podcast interviews by Cal Evans and the Voices of the ElePHPant team, with PHP community members.
Hear Brandon Savage's opinion on picking the right framework for you, if any.
Follow Dan Barrett's guide to setting up a LAMP Stack on Debian.
There's still time to sign up and register for next week's Ski PHP Conference in Utah.
And have you ever wondered who created that famous PHP mascot......?
It's all in this week's edition of phpweekly.com.
Enjoy, PHP fans.
The Tribal Framework Mindset
How a simple and seemingly uncontroversial tweet by Phil Sturgeon led to a myriad of bizarre responses, and a whole lot of explaining.
Beginning NodeJS for PHP Devs: Introduction
Becoming a PHP Professional: Practical Teamwork
The previous post discussed social aspects of teamwork, and how working in a team can both benefit and harm you. There's loads to take into consideration when working with other people, and lots to be gained. This article talks about practical aspects of teamwork, particularly virtual teams or, in other words, teams with remote members.
You Don't Need A Framework
Looking through the list of PHP frameworks can be daunting. Zend Framework. Laravel. Cake. Symfony. Picking one and learning it can seem like the most important design decision you’ll make. And yet, picking a framework is actually one of the least important decisions you face. In fact, in Brandon Savage's opinion, you don’t need a framework at all.
Should You Just Give Up Learning Code?
John Morrison talks about the set backs and frustrations he encountered when he first started learning PHP. He points out mistakes he made, shares what went wrong and how to avoid making them.
Tutorials and Talks
How to Pass a PHP Variable to a Menu Item Link
Knowledge Base support case for AllWebMenus Pro, abstracted and stripped of all user’s private info.
By default Composer installs all package files under the vendor directory. If you want to install asset files in the Web document root directory, you need to resort to another solution. This Asset Manager package is a plugin that extends Composer to install any package files outside the vendor directory.
Translate Your Website with PHP and gettext
This article shows you how to add internationalisation to your website using PHP and gettext (PHP plugin).
PHP Job Interview Task: Day of Week Calculation
Recently Bruno Skvorc was given a job interview task, to write a function which deduces the day of a standard 7-day week of ANY calendar (even an imaginary one). Some provisions included making sure he knew how often leap years happen, how many months their year has and how many days each month has.
Stored Procedures in MySQL and PHP
Put simply, a Stored Procedure ("SP") is a procedure (written in SQL and other control statements) stored in a database which can be called by the database engine and connected programming languages. In this tutorial, we will see how to create an SP in MySQL and execute it in MySQL server and in PHP.
Message Queues: Comparing Beanstalkd, IronMQ and Amazon SQS
This article introduces the concept of message queues and discusses the strengths and weaknesses of three specific message queue services: Beanstalkd, IronMQ and Amazon SQS.
Acceptance Testing With Codeception
Typically new features for web applications are tested by visiting the appropriate page in a browser, maybe filling out some form data, submitting the form and then developers or testers hope to see their desired result. This is the natural way most web developers test their apps. We can continue with this natural testing process and improve upon it to ensure our apps are as stable as possible by using Codeception.
BDD With Behat
The BDD PHP framework Behat allows you to test your PHP applications using human-readable sentences to write features and scenarios about how your applications should behave, in order to test out its functionality. We can then run these tests to see if our application is behaving as expected. Let’s spend about 15 minutes quickly going over Behat’s installation process and learn how we can test our PHP applications behaviour using the basics.
Playing with Dependency Injection in PHP
Dependency Injection is a software design pattern that allows you to avoid hard-coding dependencies, and makes it possible to change the dependencies both at runtime and compile time.
Setting Up a LAMP Stack on Debian
Setting up a test environment can be a tricky thing when you compile PHP from scratch. As others have mentioned in the past, installations from Aptitude (and the like) lag behind which can quickly put your test environment out of date. Taking inspiration from other excellent articles, Dan Barrett has created this guide to setting up a LAMP stack on Debian in great detail.
|News and Announcements
Drupal 7.25 Released
Drupal 7.25, a maintenance release with numerous bug fixes (no security fixes) is now available for download. See the Drupal 7.25 release notes for a full listing.
Ski PHP Conference January 17-18th 2014
There is still time to register online for Ski PHP next week, presented by the Utah PHP Users Group and held at the Miller Campus of Salt Lake Community College. Attend presentations from some of the smartest PHP developers around, with four tracks over two days.
Aura.Sql_Query 2.0.0-beta1 Released
Paul Jones announces the 2.0.0-beta1 release of Aura.Sql_Query. You can download it directly or install via Composer and Packagist. This is one of the packages that was extracted from the prior Aura.Sql v1 package. There was some demand for keeping the database connection portions separate from the query builder (and other) portions, thus the splitting-up of the original v1 package.
Storyplayer 1.5 Released
The major feature of this release is a complete overhaul of how test devices (such as web browsers) are managed inside Storyplayer, and integration with Sauce Labs for cross-browser testing. It also comes with the usual upgrades to support the latest Selenium Webdriver, Chrome, Chromedriver and Browsermob-Proxy releases.
PSR-4 Autoloading Support in Composer
As of last week we have PSR-4 autoloading support in Composer. It is a feature that can have a serious impact on users of your packages, so find out here what it means for everyone.
Voices of the ElePHPant Interview with Shawn Stratton
Cal Evans chats to software engineer and architect Shawn Stratton, about his development and operations work with PHP.
Voices of the ElePHPant Interview with Chris Tankersley
Another interview by Cal Evans. This time he talks to Chris Tankersley, founder member of the Northwest Ohio PHP user group.
7PHP Interview - The PHP Mascot's Birth
Vincent Pontier, aka Elroubio, shares where and how he came up with the idea of creating the famed PHP mascot.
Joomla Community Magazine
The January issue of the Joomla magazine is out this week featuring, among other things, stories, events and project news.
Install PHP MySQL, Wikis, WordPress & Forums On Windows Server 2012 Essentials (by Christopher Courtney, published January 1st 2014)
In this guide, we walk through installing and configuring PHP MySQL on Windows Server 2012 Essentials and show you how to then install, configure and run popular web applications such as MediaWiki (the software that powers Wikipedia), the insanely popular blogging application WordPress as well as the phpBB forum application.
If you have a position that needs filling, let us know and we will include it.
Single Founder seeking Senior PHP Talent
This one is a bit different! We decided to post it as Dan intrigued us. Single founder seeing either freelancers or employee number 1, with potential co-founder status. Read more on Dan's blog.
PHP Job in London with Signkick
Join a startup that is revolutionising the $33b outdoor advertising market.
Junior Developer for Performance Telecom, Newcastle Based.
Performance Telecom are looking for a Junior developer, based in Newcastle upon Tyne, to work on exciting big data and telecoms projects. This role would suit a recent graduate, though also someone who can drive and has access to their own transport. Contact email@example.com with your CV/Resume. This is NOT a remote position.
Developer at Sailthru (New York City)
We're searching for a talented developer who can take the challenge of scaling architectures and dive into leading technologies. You'll have the opportunity to work with a great team, in the heart of New York City and with great benefits such as working from home. Send your resume to Federico, firstname.lastname@example.org.
DeskPRO is hiring Full Stack PHP Developer (Symfony/AngularJS) in London or Remote.
Join our small London based team (excellent remote workers considered as well) building a large PHP application where your work will have immediate impact on our millions of end users. Lots of interesting projects coming up including adding elasticsearch and memached to our stack, writing a DeskPRO app for telephony based upon Twilio, integrating our software with other companies APIs, adding functionality to our phonegap mobile app as well as continuing the development of our core software platform.
PHP (Drupal) developers at Torchbox (Bristol and Oxford, UK)
Passionate about PHP, delirious about Drupal and want to work on a wide variety of challenging yet fun projects for fantastic clients? If yes, then Torchbox would love to hear from you! In return, we can offer an enviable working environment (country park or buzzing Bristol), a competitive salary, all the usual kit and sometimes even a ski trip.
Full Stack Developer
Major television production company seeks an experienced web developer to join its digital division. The ideal candidate possesses a deep expertise and abiding love of web development, an incredible track record of producing stellar web applications (with a long list of URLs & GitHub repositories to prove it), a near-supernatural work ethic and a fantastic sense of humour.
Machine Learning / AI skills (project based)
Inovica are looking for someone to work with them on detecting ecommerce products on sites and extracting relevant information. In the first instance please email email@example.com stating the experience you have in this field. They don't have a job description online but will reply to every email they receive.
Message Digital Design Ltd is Hiring a Web Developer (PHP)
We are looking for an experienced developer to work in our spacious offices in central Brighton, helping to deliver high-quality websites, e-commerce and online systems to a wide range of clients. At Message we give a damn about building the web the right way, and the successful applicant will too.
Ballers Bridge is Hiring a Sr. Yii Developer
We are looking for a motivated and outstanding candidate to lead our product development. The ideal candidate is an experienced problem solver, quick thinker/learner, self-motivated and not afraid of challenges.
PHP Engineers for Bright.Com in San Francisco
We are looking for PHP engineers to join our growing team! The ideal candidate is language agnostic, and can work with both scripting languages (such as Python and PHP) as well as strongly typed languages (such as C++ and Java), and has a passion for taking an idea and exploring, tinkering, debating, and demonstrating the fastest, most efficient, flexible and scalable implementation approaches. Experience working with traditional SQL databases as well as newer technologies, indexes and data stores is key (such as Solr, ElasticSearch, Redis, or Neo4j), and you must be comfortable using Linux and other open source technologies.
Senior PHP Developer in Bucharest, Romania
We are searching for a passionate PHP developer who will be part of a team of senior programmers and experienced testing engineers, directly involved in technical development projects, using Agile Scrum as methodology.
Freelance Dev Leads
A concierge service for your freelancing business. Whilst this is a paid service for developers Glen, who runs this site, provides good solid curated freelance jobs to his list. We have used it ourselves and recommend giving it a go.
Interesting Projects, Tools and Libraries
A lightweight, flat-file, document database for PHP with zero dependencies.
Given a web API, generate client libraries in node, php, python and ruby.
A CakePHP plugin for file uploading and validating.
Cache wrapper lib in PHP.
Serialize PHP variables, including objects, in JSON format. Support to unserialize it too.
PHP Markdown Next parser, based on PHP Markdown Extra and PHP Markdown Extra Extended.
A PHP library for compacting the contents of files.
Raygun.io client for php 5.3+.
Smarty is a templating language for PHP.
PHP key-based cache expiration russian doll library.
A PHP 5.4+ rapid prototyping framework
PHP library for working with recurrence rules (RRULE); meant to help with recurring calendar events.
Read-in XML tags in an array format accessible via "paths". Modify existing XML. Create a proper XML string.
Simple class that allows you to use strawpool on your website.
A utility library delivering consistency, customisation, performance & extras.
A crawler to find all unique internal pages on a given website.
Library with utility functions that aid with functional programming in PHP.
So, how did you like this issue?