|Hello and welcome to the latest edition of phpweekly.com.
This week we bring you a review of PHP static analysis tools, courtesy of the team behind Codacy.
Lukas White at sitepoint.com brings us the next installment in the 'Using Solarium with SOLR for Search' series.
We have a piece on Continuous Integration, in particular Travis CI - a free hosted CI platform.
Also, new releases have been announced for Drupal, WordPress and Apigility.
Finally, there are still a few tickets available for DrupalCon 2014, taking place next month in Texas.
Hope you enjoy your read, PHP fans :)
Help us keep PHP Weekly going
Please help us to keep doing this each week by visiting our sponsor:
From our sponsors:
5 Reasons Why Your WordPress Website is too Slow
The downside of having a Content Management System that is open source and extended profusely by third party developers – the more you add to it, the slower it can become if you’re not careful. So what do you look for when the time comes to optimise your WordPress website? There are 5 simple reasons why your WordPress site is probably running slower than it should be.
Lonestar PHP 2014 Summary
Kris Vanderwater attended last months Lone Star PHP conference. Read about his experience here.
Review of PHP Static Analysis Tools
Maintaining code quality over time is a hard challenge. It becomes even harder in large projects developed by many programmers. Each person has different code styles and different ways to approach problems. Over time, this may result in confusing and unmaintainable code. Static analysis tools can help developers solve this problem. They enforce coding standards, detect common errors and cleanup code blocks. This blog post takes a look at the common code standards and tools used in PHP and shows how they can improve code quality and maintainability when integrated in the development process.
PHPNG Dramatic Speedup Features Coming in PHP 6 Release
Not very long after Facebook announced the Hack language, Dmitry Stogov of Zend announced a somewhat secret development branch of PHP called PHPNG that will eventually bring a JIT engine, significant speed and memory management improvements to PHP 6. Read this article to learn more details about what happened and what this means for the future of PHP.
A Further Analysis of Hack Documentation and Feature List
A PHP enthusiast posted this blog to the Seattle PHP User Group page recently, going through more of the Hack language documentation and looking at its feature list.
Tutorials and Talks
Using Solarium with SOLR for Search – Solarium and GUI
This is the second article in a four part series on using Solarium, in conjunction with Apache’s SOLR search implementation. The first part introduced the key concepts and we installed and set up SOLR. In this second part we’ll install Solarium, start building an example application, populate the search index and get into a position where we can start running searches.
Beanstalk, Pheanstalk and Priorities
Lorna Mitchell has an application that uses Beanstalkd to queue up messages, and some PHP worker scripts that grab messages from the queue and process them. Messages get added by the web application, but can also be added by cron - and when she adds messages via cron she doesn't want to swamp what the web application is doing! Those cron-added jobs are mostly pretty low priority, generating reports, sending weekly update emails, that kind of thing.
How to Test PHP Classes and Objects
PHP provides a set of functions to test classes and objects. These functions allow you to know more information about classes and objects that you are using at runtime. All these functions are provided by PHP reflection API but their simplicity make them the first choice.
Introduction to Views 3 in Drupal 7
Views is one of the most popular Drupal modules with over 5 million downloads and over 700 thousand sites that report using it. It is so popular that Drupal 8 will ship with Views in core as part of an exciting and welcomed initiative of the Drupal 8 release process. This is an introductory tutorial to the world of Views and how you can use this great module to create listings of content.
Building a Multi-Page Wizard-like Form in Drupal
Drupal gives you the APIs to build forms by merely specifying the details of the form. It will create the underlying HTML on its own provided you just specify the fields you want in it.
Time Complexity of Algorithms
If you are a web developer or a programmer in general, you have most likely written algorithms for various tasks. But what qualifies an algorithm to be a good algorithm?
Customising Codeception Database Cleanup
Matthew Turland uses the Codeception framework to write functional tests for a REST API, part of which entails putting the database into a known state using Codeception’s Db module. The behaviour of this module is similar to that of the PHPUnit Database extension with one exception: where PHPUnit only truncates tables and leaves their schemas intact, Codeception removes the database structure and expects the SQL dump it uses to recreate it between tests.
PHP and Continuous Integration with Travis CI
Continuous integration (CI) allows a team to commit their work quickly, which means there will be multiple commits to a repository daily. Every time there is a commit it is verified by an automated build (including test) to alert you of any build or test errors immediately. Once the process of integrating and verifying your work into the master becomes automatic you are able to develop cohesive software rapidly. Travis CI automatically sets up a CI environment and makes it simple for anyone to test and deploy their app.
How to Use ZFTool Diagnostics To Ensure Your Modules Work
Do you want to be sure that when you create Zend Framework 2 modules, they’ll work in whatever environment they’re used in? At the very least, do you want a simple way for users to check, as well as something that’s self-documenting? If so, you’re in the right place.
Getting Started With Phpspec
In this short, yet comprehensive, tutorial, we'll have a look at behavior driven development (BDD) with phpspec. Mostly, it will be an introduction to the phpspec tool, but as we go, we'll touch on different BDD concepts. BDD is a hot topic these days and phpspec has gained a lot of attention in the PHP community recently.
|News and Announcements
Drupal 7.28 Released
Drupal 7.28, a maintenance release with numerous bug fixes (no security fixes) is now available for download.
WordPress 3.9.1 Maintenance Release
After three weeks and more than 9 million downloads of WordPress 3.9, we’re pleased to announce that WordPress 3.9.1 is now available.
The Zend framework team have announced the immediate availability of Apigility 1.0.0.
php[tek] 2014 Conference - May 19th-23rd, Chicago
The creative minds behind php[architect] magazine have been running php[tek] as an annual PHP & web technologies conference since 2006. A professional conference with a community flair, with high-quality presentations by the brightest experts in the PHP world, coupled with a welcoming and friendly community of attendees and speakers. Just one week away, ticket sales dictate this is going to be one of the biggest and best. A few tickets are still available.
DrupalCon - 2-6th June 2014, Texas
DrupalCon is the heartbeat of the Drupal community. It’s an expression of our software innovation, our commitment to collaboration, and our extreme nerdiness. This event, held annually in Europe and North America, brings together thousands of people from across the globe to drain a city of all its coffee and fill a venue with energy, companionship and code unmatched by any other tech community. Some tickets are still available.
Joomla! Community Magazine May 2014
The May issue of the Joomla Community Magazine is here.
Three Devs and a Maybe Podcast: EmberJS with Lamin Sanneh
Mastering Magento Theme Design (by Andrea Sacca, published 25th April 2014)
Create responsive themes using Bootstrap, the most widely used frontend framework.
Guide to the Smarty for Wordpress Plugin (by Patrick Ingle, published 5th May 2014)
Smarty for WordPress is the first plugin which incorporates a complete distribution of the Smarty template engine as a WordPress plug-in. You embed your Smarty template file by using a WordPress short code with the Smarty template file name and any variable which you want to be passed to your Smarty template file.
If you have a position that needs filling, let us know and we will include it.
Developer for Performance Telecom
Performance Telecom require a developer, based near Durham, UK, to work on an exciting Customer Satisfaction system. This role would suit someone with experience as well as someone who is willing to learn new 'stuff'. Contact email@example.com with your CV/Resume and for more information. This is NOT a remote position.
Kinesis Seeks Senior-Level PHP Talent! (Austin, Texas)
Kinesis is the established world leader for mobile survey software. We’re in the midst of refactoring our flagship product and reimagining our infrastructure as code using cutting edge tools and techniques. We’ve implemented distributed version control, continuous integration and inspection, and are aggressively re-architecting to support continuous delivery. We’re looking to add some experienced talent to our team to help us get there.
PHP Job in London with Signkick
Join a startup that is revolutionising the $33b outdoor advertising market.
Positions at Sailthru (New York City)
We're looking for Developers, DevOps, Test Engineers and DBAs. Learn more about what it's like to work here on our Muse page. Contact firstname.lastname@example.org for more information.
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.
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.
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.
Interesting Projects, Tools and Libraries
xUnit testing framework written in Facebook's language, Hack.
MongoDB ODM for PHP.
Core functionality for Felix Online.
PHPCI is a free and open source continuous integration tool specifically designed for PHP.
Exchange rates library for PHP 5.3+.
Assegai is a quick and simple MVC framework for PHP.
PHP russian-doll caching schema library.
CI ready PHP project skeleton.
A PHP utility library for strings, numbers, arrays and words.
Apruve Integration Library for PHP.
Tracy library is a useful PHP everyday programmer's helper.
A simple filesystem abstraction package for Laravel 4.
A simple PHP class for license generation and verification based on openssl signatures.
A php swagger annotation and parsing library.
An easy way to manage user alerting, providing a variety of alert options to speed up user alerting.
Omnipay is a framework agnostic, multi-gateway payment processing library for PHP 5.3+.
So, how did you like this issue?