|Welcome to February's first edition of phpweekly.com.
This week the PHP Town Hall team and guests discuss the progress of the named parameters RFC, PHP 5.6 feature PHPDBG and what it means for you, and HHVM, among other things.
Just two weeks to go until the 9th Annual PHP UK conference; a 2-day event with 3 great tracks held at at The Brewery, in the heart of the City of London.
Also, read what Rasmus Lerdorf really thinks about PHP frameworks, when he announced during a Q&A session at the PHP Frameworks Conference "They all suck!".
Finally, have you ever considered that WordPress can act as a full framework for developing web applications, and not just be used for blogging or CMS?
Enjoy your read ;0)
PHP Coding Guidelines
These are the guidelines that Paul Waring follows when writing his PHP scripts, unless a coding standard already exists for the project he is working on. It can be helpful to have something like this if you’re working on a joint project.
PHP 5.6 and SSL/TLS: Getting Better But Will PHP Programmers Actually Use It?
Some time ago Padraic Brady wrote all about the main risks in using SSL/TLS in PHP, and one of the things he said was "As much as I love PHP as a programming language, the briefest survey of popular open source libraries makes it very clear that Transport Layer Security related vulnerabilities are extremely common and, by extension, are tolerated by the PHP community for absolutely no good reason other than it’s easier to subject users to privacy-invading security violations than fix the underlying problem". Learn more about his recommendations and advice.
4 Reasons Why All PHP Frameworks Suck
Recently, Rasmus Lerdorf, the creator of PHP, stated in a PHP frameworks conference that all PHP frameworks suck. He also answered several interesting questions about the present and future solutions in PHP 7 or beyond. Read this article to learn more about what Rasmus said, and what it could mean for the way you develop PHP now and in the future.
Tutorials and Talks
How To Test for Empty Strings in PHP
If you’re testing for an empty string in PHP you could be forgiven for using the empty() function. However, exercise caution as empty() may not do what you think it does.
Reducing Request Sizes
One way to improve the performance of your website – regardless of language – is to reduce the amount of data sent across the network. Even though many users now have broadband connections, there are still many parts of the world – including areas of the UK – where bandwidth is constrained, not to mention the emergence of mobile connections.
How to Generate Random String in PHP
Have you ever needed to generate a random password from a given set of chars in PHP? You may also have wanted a password salt used for encrypting the user password. Here are two solutions which may help you generate the random string in php.
Use @dataProvider to Reduce Duplication and Improve the Maintainability of your Tests
PHPUnit offers a handy annotation called @dataProvider which can be used for all sorts of testing situations. Typically you will use this to feed a wide variety of data into the same test to ensure that the system-under-test can handle a variety of inputs. Over time other uses for dataProvider methods have been discovered, and shared here.
Understanding Symfony Bundle Configuration and Service Container
In this post we’ll cover different ways to configure Bundles in Symfony2 and how the dependency injection container works with the configuration. The Bundle configuration and Symfony dependency injection container (also known as service container) can be difficult concepts to grasp when first starting development with Symfony2, especially if dependency injection is not a familiar concept beforehand. Bundle configuration can also be a little bit confusing, since there are multiple ways to do it and the best approach depends on the situation.
Cropping Images in PHP Based on their Entropy
The need to resize and crop images, in order to create thumbs, is a very common scenario for most websites. In most cases, the thumb’s dimensions are not dynamic but are static throughout the website in order to better fit the template. This however creates a major problem when we try to automatically resize and crop our images in the desired dimensions.
Cursors in MySQL Stored Procedures
After Taylor Ren's previous article on Stored Procedures was published on SitePoint, he received quite a number of comments. One of them suggested further elaboration on CURSOR, an important feature in Stored Procedures. As cursors are a part of a Stored Procedure, this article will elaborate a bit more on SP as well - in particular, how to return a dataset from an SP.
WordPress as a Framework
There are various aspects to take into consideration before choosing a framework for web development. This piece looks into features that WordPress provides if treated as a web development framework.
|News and Announcements
Announcing The Crafting Code Tour
The Crafting Code Tour is a 16-city, 14-state, 2-country speaking tour aimed at the PHP user group community. Kicking off in June, this tour will hit sixteen cities in North America and bring along world-class speakers of different types to speak at individual user groups. To the user groups, this event will be free, paid for by sponsors of the tour. Want to learn more about the tour? Enter your email address and closest city here.
php[tek] 2014 Schedule is Posted
The five day schedule for php[tek] 2014 in Chicago has been released, starting May 19th. Early bird tickets and registration is still open until 15th February.
PHP UK Conference 2014 - The Brewery, London February 21st and 22nd
Just two weeks to go until the 9th Annual PHP UK conference; a 2-day event with 3 great tracks held at at The Brewery, in the heart of the City of London. With over 700 delegates, speakers and sponsors, PHP UK conference aims to deliver fantastic up to date content about PHP and related web technologies in a comfortable and professional setting. There are countless networking opportunities to engage with international speakers and delegates, which makes the event one you won't want to miss.
Nomad PHP - European Chapter February 20th 2014 20:00 CET
Modern PHP presented by Ben Ramsey. With all of the advances that have come in PHP 5.5 (as well as 5.4 and 5.3), modern PHP code no longer looks like the PHP code from years ago. This talk will glimpse into PHP’s past to see where we have come from and how we got where we are today, exploring how modern PHP applications are architected now to take full use of the newer features in PHP to produce cleaner, more stable and easy to maintain code bases.
Nomad PHP - US East Coast Chapter February 20th 2014 20:00 CST
Apigility: Agile APIs presented by Matthew Weier O'Phinney. You’re making the move to APIs – you have a mobile application, or you need to enable cross-organisational access to your data, or because you have an idea for a cool single page web application. Now you’re mired in learning everything you can about web services, and discovering that APIs pose a whole set of challenges discrete from your web applications: what response format should you use? How will you report errors? How can you restrict calls to specific HTTP methods? What should you do when a client doesn’t specify they can accept the format you end up using? How can you secure your API for use with mobile web applications, much less native apps? How should you version the API as it grows? Apigility, a project sponsored by and built on top of Zend Framework, provides answers to all of these questions. It is an opinionated API builder and engine. In this session, Matthew walks you through both what it delivers for an API, as well as how you can build an API using its admin dashboard.
PHP Town Hall Episode #18 - PHPDBG, HHVM and Internals
Joe Watkins and Sara Goleman join Phil to make one hell of an episode. These two are not only core contributors to PHP, but are behind a lot of RFCs and decisions that make PHP considerably better. They talk about a whole bunch of awesome stuff, including progress of the named parameters RFC - and the chances of it making in, the new accepted PHP 5.6 feature PHPDBG and what it means for you, HHVM and its relationship to “The PHP”, whether PHP should have a spec for implementations of the language, and a whole bunch of other stuff.
Voices of the ElePHPant - It's The Booze Talking #5: Core Developers
In this latest podcast episode, recorded at the ZendCon PHP conference last year, guests include Sara Golemon, David Stockton and Derrick Rethans.
PHP: The Right Way
There’s a lot of outdated information on the Web that leads new PHP users astray, propagating bad practices and insecure code. PHP: The Right Way is an easy-to-read, quick reference for PHP popular coding standards, links to authoritative tutorials around the Web and what the contributors consider to be best practices at the present time.
Getting Started with Laravel 4 (by Raphael Saunier, published 20th January 2014)
Discover Laravel – one of the most expressive, robust and flexible PHP web application frameworks around.
Google Glass Programming in PHP (by Tony Gaitaszis, published 21st January 2014)
Learn to program Google Glass Glassware with the Google Mirror API using Linux, MySQL and PHP. This book contains step-by-step instructions for designing and programming a Google Mirror Glassware in MVC PHP.
If you have a position that needs filling, let us know and we will include it.
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.
Single Founder seeking Senior PHP Talent
This one is a bit different! We decided to post it as Dan intrigued us. Single founder seeking 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 firstname.lastname@example.org with your CV/Resume. This is NOT a remote position.
Developer at Sailthru (New York City)
We're hiring! Sailthru has many open roles, including: VP Data Science (NY), Android Developer (NY), Test Engineer (NY), Senior Developer (NY) and a lot more in the office of New York, San Francisco and London. Contact email@example.com 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.
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 firstname.lastname@example.org 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 free and open source PHP based blogging software.
PHP web essentials
PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.
The PHP software development kit for Veridu API.
This project implements the DNode remote procedure call protocol for PHP. The intent is to enable PHP scripts to act as part of a distributed Node.js cloud, allowing Node to call PHP code, and PHP to call Node code.
Library that provides collection, processing and rendering functionality for PHP code coverage information.
Super simple event dispatching library for PHP.
A PHP library to easily get website information (title, description, image...) from given url.
Plates is a native PHP template system that’s fast, easy to use and easy to extend.
[ALPHA] Authorisation services for PHP Applications.
A simple library for working with StatsD in PHP.
Basic collections for PHP using arrays.
PHP library for interacting with the v2 MailChimp REST API.
adLDAP is a PHP class that provides LDAP authentication and integration with Active Directory.
Commando is a PHP command line interface library that beautifies and simplifies writing PHP scripts intended for command line use.
TinyORM is a small DBAL and ORM library written in PHP and used in İTÜ Sözlük.
So, how did you like this issue?