Hi PHP fans, and thanks for joining us.
Following on from last week's article discussing which framework he thought was the best to learn, Brandon Savage continues to talk about how picking the right one is less important than getting a solid grasp on the underlying language.
On the php.net website there is an announcement about what work is taking place on the next generation of PHP.
Also part five of the Refactoring Legacy Code series is out this week, focusing on testing the Game class.
The team at php[architect] are introducing a brand new conference this winter. The php[world] conference will take place in November, in Washington DC, and is designed to bring the entire world of PHP together in one place, to encourage cross-pollination of ideas and sharing of ideals.
Finally, the Lately in PHP podcast makers have come to the conclusion that PHP is the best competitor of PHP.....
Enjoy your read ;)
Cheers
Katie |
Help us keep PHP Weekly going
Please help us to keep doing this each week by visiting our sponsor:
From our sponsors:
|
Articles
Frameworks DO Matter
Following on from last week's article discussing which framework he thought was the best to learn, Brandon Savage continues to talk about how picking the right one is less important than getting a solid grasp on the underlying language.
The Template Is Not The View
As server-side web developers, we tend to think of our templating system as providing the View layer in a Model-View-Controller architecture. Paul Jones has recently come to the conclusion that this is an incorrect approach. Instead, we need to think of the HTTP response as the View.
Is Your OAuth 2.0 Application Secure?
Recently, a security vulnerability named Covert Redirect was discovered in certain implementations of the OAuth 2.0 protocol. If you have a site that uses OAuth to access the APIs of other sites on behalf of your users, your site may be inadvertently helping attackers to steal your users' data. Read this article to learn how to check if your application is vulnerable and what you can do to fix it.
PHP Fights HHVM and Zephir with PHPNG
Chaos in the old world! First HipHop, years ago, and no one bats an eye. Then suddenly, HHVM happens, introduces Hack, and all hell breaks loose – Facebook made a new PHP and broke/fixed everything (depending on who you ask). Furthermore, Zephir spawns and threatens with C-level compilation of all your PHP code, with full support for current PHP extensions. Amid the sea of changes, another splash was heard: PHPNG. As introduced by Manuel Lemos, PHPNG is a new branch of PHP coming to an as yet undetermined future version of PHP.
25 PHP Developers to Follow Online
Building PHP frameworks is hard, but following these PHP source and framework committers on Twitter is easy. You’ll learn lots of interesting bits about what’s happening in their respective communities, and if you want to see where the PHP and PHP framework communities are going next, just watch your feed for these folks.
PHP Next Generation
Over the last year, some research into the possibility of introducing JIT compilation capabilities to PHP has been conducted. During this research, the realisation was made that in order to achieve optimal performance from PHP, some internal API's should be changed. Learn more about the work being done on the next generation of PHP. |
Tutorials and Talks
IronMQ and Laravel: Implementation
Welcome back to the IronMQ and Laravel series – this is the second and final part in which we finalise our background-job enabled web app.
Email Debugging with MailCatcher
Despite email being over 30 years old, it’s still the most popular application on the planet, by far. You need to test, as close to production as possible, but without emailing clients accidentally. This post shows you how to set up MailCatcher and run through the interface when emails have been captured by it.
Smart Sass: Dynamic Sass With PHP Smarty
Sass is a language which makes use of server-side compilation in order to generate CSS. Variables are one of the core features of Sass and allow us to specify reusable style definitions. However, what if we want the values of these variables to be assigned dynamically? To add some context to the issue, lets imagine that we have a site but we would like for the client to define the background colour, font and text colour whilst also maintaining our nicely formatted Sass file.
Understanding Version Control with Diffs
Every project is made up of countless little changes. With a little luck, they will finally form a website, an app, or some other product. Your version control system keeps track of these changes. But only once you understand how to read them will you be able to track your project’s progress. Using the example of Git, the popular version control system, this article will help you understand these changes.
Build Your Own Custom Entities in Drupal – Implementation
Welcome to the second part of this tutorial in which we explore the world of custom entities in Drupal. The first installment defined the schema for our entity type and registered it with Drupal. We’ve also overridden the EntityAPIController to build up the display for our entities. In this part of the tutorial we will continue and talk about a few other cool things we can do with entities in Drupal.
How To Use The "Yield" Keyword in PHP 5.5 and Up
The “yield” keyword is new in PHP 5.5. This keyword allows you to program “generators”.
What Your Framework Never Told You About SQL Injection Protection
We've discovered that SQL injection is, to this day, not a fully solved problem, even in most popular frameworks. In this post, we'll explain how these frameworks fail at escaping parts of a query, culminating in the discovery of a critical vulnerability in the popular Laravel framework which affects a large percentage of applications.
Refactoring Legacy Code: Part 5 - Game's Testable Methods
In the previous tutorial, we tested our Runner functions. In this lesson, it is time to continue where we left off by testing our Game class.
|
News and Announcements
php[world] Conference - November 10-14th 2014, Washington DC
The team at php[architect] magazine is excited to bring you a brand new conference in the Washington, DC area. They wanted to create a conference that appeals to the all the different communities that exist around the PHP ecosystem. Whether you are a core PHP developer, a heavy framework user or a WordPress, Drupal, or Magento developer … this conference will be for you! The call for papers is now open.
Midwest SugarCRM User Group Meeting and Hackathon - June 3rd 2014, Park Ridge Country Club, IL
The user group meeting is free, from 8:30am till noon, and breakfast will be served. There will be presentations on new products and upgrades from SugarCRM, Net-Results, and Dun & Bradstreet, as well as networking opportunities with other Sugar users from the Chicago area.
PHP Summer Camp - September 3rd-6th 2014, Rovinj, Croatia
Three days of Symfony and PHP focused hands-on workshops and practicals, delivering cutting edge PHP experiences. Only a couple of days left to buy super early bird tickets.
Nomad PHP US East Coast Chapter - June 19th 2014 20:00 CDT
Functional PHP by Larry Garfield. Functional programming is fundamentally an approach to software development, not a particular language or syntax. With PHP 5.3, it is an approach that is now more readily available and powerful than ever before. This session will discuss the history of functional programming and how it compares to other programming paradigms (procedural and object-oriented). We will then discuss by example how functional concepts and techniques, plus new language capabilities in PHP 5.3 such as anonymous functions, can make our code more robust, maintainable and bug-free.
Nomad PHP European Chapter - June 19th 2014 20:00 CEST
12 Reasons Your API Sucks by Keith Casey. Those first moments of using an API are pivotal. There’s nothing like downloading this week’s PDF of the documentation, setting up a SOAP client, reconfiguring all your URLS and decoding the latest binary payloads. It makes your heart sing and your blood pressure rise. Just like there are code smells through the rest of your project, there are API smells that make them hard to design, hard to launch, hard to maintain and harder to use. We’ll use this time to explore a few common APIs to highlight those issues and demonstrate strategies to fix the issues before they become problems. |
Lately in PHP Podcast Episode #47 - PHP is the Best Competitor of PHP
PHP developments have gained new life thanks mostly to Facebook Hack language and Zend reaction with PHPNG. Since Facebook Hack is mostly a fork of PHP, it seems PHP is the main competitor of PHP. These developments were one of the main topics discussed by Manuel Lemos and Michael Kimsal in episode 47 of the Lately in PHP podcast.
Drupal Community Spotlight
Showcasing three stellar Drupalistas who went above and beyond at the Dev Days Szeged sprints. Emanuel Greucean (gremy), Maurits Dekkers (Mauzeh), and ErnÅ‘ Zsemlye (zserno) all made big contributions to the project at Dev Days Szeged. Here’s a little bit about each.
Introduction: HTML5 Brunch, Season 3
Welcome to the Introduction discussion area for HTML5 Brunch, Season 3. Once you have obtained a copy of the book, please introduce yourself to your fellow Brunchmates by clicking the Add A Reply link. This action will help gauge the number of Boston PHP members who have made the commitment to participate in this virtual self-study group.
Laravel.IO Podcast - Episode 14
DHH and Domain Events with Jeffrey Way, Chris Fidao, Matthew Machuga and Shawn McCool.
Three Devs and a Maybe Podcast: virtPHP with Jacques Woodcock and Ben Ramsey
This week we are very lucky to have Jacques Woodcock and Ben Ramsey from the virtPHP project on the podcast. Similar in nature to Python's 'virtualenv', virtPHP is a tool for creating and managing multiple isolated PHP environments on a single machine. Currently command-line support on *nix based-systems is complete, however, during the show we touch on the challenges in-regard to SAPI support. We then move on to discuss the interesting paths each took to get into development, followed up finally with the weekly quiz. |
Jobs
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 protected] with your CV/Resume and for more information. This is NOT a remote position.
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 [email protected] 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.
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
parsedown
Better Markdown parser in PHP.
initialcon
Generate Initial based icons with a coloured background similar to Gmail's.
openpgp
OpenPGP is the most widely used e-mail encryption standard in the world.
SolrPHPant
The SolrPHPant is a simple client of Apache Solr. Includes some simple methods of search, update with customised options.
petrinet
Petrinet framework for PHP 5.3+.
katar
Katar is a clean and tiny template engine for PHP.
conekta-php
PHP Bindings for Conekta's API.
architect
Phing build configuration for internal use in BCA projects.
ratchet
A PHP 5.3 library for asynchronously serving WebSockets.
uflex
All in one PHP user authentication class.
platform
The Oro Platform - Business Application Platform (BAP).
php-process
Library for processes.
highcharts
Highcharts Javascript Library.
bono-kraken
Dependency Injection Container for Bono PHP Framework.
zfr-stripe
ZfrStripe is a PHP library based on Guzzle for Stripe payment system.
socialcast-php
PHP client for Socialcast’s REST API.
php-pushwoosh
A PHP Library to easily work with the Pushwoosh REST Web Services. |
So, how did you like this issue?
|
|
|