sticker

Subscribe! Enter your email address below:

NO SPAM: We absolutely hate spam. We will not share, rent, or give away your email address to anyone.You can unsubscribe at any time. Easily!

December 11, 2014

 SourceGuardian for ultimate code protection
Welcome to the 85th edition of phpweekly.com.

Are you looking to improve PHP performance? On the AppDynamics blog this week they share five secrets to better PHP performance.

The Drupal Association is looking for volunteers to serve on the Licensing Working Group.

Also this week, Cal Evans interviews Rafael Dohms, founder of the Amsterdam PHP user group.

Plus the dev/hell team has posted a live podcast episode, recorded at the True North PHP 2014 hackathon event.

Finally, PHP South Coast Conference has been announced, taking place in Portsmouth next July. The call for papers is now open.

Have a great weekend PHP fans :0)

Cheers
Katie

Please visit our sponsor

Please help us to keep doing this each week by visiting our sponsor:

 From our sponsors:
Monitoring without alerts ruxit configures itself automatically as your application and infrastructure evolve. It uses AI to get to the root of issues much faster than a human can.
(Sponsor this newsletter

Articles

5 Secrets to Better PHP Performance
Wait! Do you really need to profile that PHP code? Are you sure you want to start down that time-consuming, tedious path? If you’re looking to squeeze some more performance out of your PHP web application, there are a few relatively quick and easy checks to perform that can give your performance a boost before you dive into refactoring the code. And even if you’re intent on profiling your PHP code, you should still look at these areas to make sure you’re getting maximum performance.

The AmsterdamPHP ElePHPant Project
AmsterdamPHP has launched a kickstarter project to introduce a new colour to the ElePHPant collection - black! They have already hit their initial funding goal, which is amazing and shows what an amazing community we have. 

Introduction to MySQL
With well over ten million installations, MySQL is probably the most popular database management system for web servers. Chimezie Michael introduces us to it, before posting some more in depth MySQL articles at a later date.

30 Top Excel PHP Classes
Excel is one of the most searched topics for ready to use PHP classes, for different purposes. Read this article to learn about the top PHP Excel reader, writer, export, import, CSV import, MySQL import and other PHP classes related to Microsoft Excel.

Strategic Initiatives for Drupal.org in 2015
Drupal.org is an amazing installation of Drupal. At nearly 13 years old, it is one of the largest, continuously operating examples of Drupal. It is difficult to fathom, but Drupal.org has been upgraded in place from version to version for this entire timespan. It is important to have a strong plan for the direction of Drupal.org, and this article introduces the Drupal.org Roadmap.

Tutorials and Talks

Preparing and Building a PHP Project in Jenkins
In a previous article, we went through the installation of Jenkins and prepared everything to get started. We will continue in this article by actually preparing our project. If you have a Jenkins setup ready from before, no need to go through the previous part – you can follow along with this one quite nicely.

Making the Clipboard Work Between iTerm2, tmux, vim and OS X.
Evert Pot has found that getting copying and pasting to behave sanely when working with the terminal has been a constant struggle. After some investigation he has finally come up with a solution, which he shares here in this article.

Using Global Variables in PHP
A variable is an object that holds value. The scope of a variable in PHP is limited to the context in which it is defined. Scope of a variable defines the accessibility and durability of it. In this article we will explore global and super global variables in PHP. 

Best Practices for Modern PHP Development
This article, on the AirPair website, talks through a series of practices to help improve developer skills.

Parallelising Document Retrieval
MongoDB 2.6 has a new feature that allows you to read all the documents from one collection with multiple cursors in parallel. This is done through a database command called parallelCollectionScan. The idea behind it is that it is faster then reading all the documents in a collection sequentially. Just like the Aggregation Cursor, calling this command returns cursor information. However, it returns an array of these structures. Have a look at this example to see what it returns.

Using Traits in Doctrine Entities
Since PHP 5.4.0, PHP supports a pretty way to reuse code called “Traits” - a set of methods that you can include within another class in order not to repeat yourself. This article shows you how they can be used with Doctrine ORM in a Symfony Environment.

Using Global Variables in PHP
A variable is an object that holds value. The scope of a variable in PHP is limited to the context in which it is defined. Scope of a variable defines the accessibility and durability of it. This article explores global and super global variables in PHP.

Async – Cooperative Multitasking for Hack
How do we write code that can cooperate with other code? For several months now, Hack has had a feature available called async which enables writing code that cooperatively multitasks. This is somewhat similar to threading, in that multiple code paths are executed in parallel, however it avoids the lock contention issues common to multithreaded code by only actually executing one section at any given moment.

Validating JSON with ZF2's Zend\Validator
Let's say that you have an admin form where the user can enter JSON and you'd like to validate that the JSON parses before allowing the user to submit. To do this, you can use the rather excellent jsonlint project by Jordi Boggiano. 

Install Node.Js and Ghost on a Laravel Forge Server
A tutorial by Samuel Stenton explaining how to install Ghost and Node.js on a Laravel Forge Server, assuming you have booted up a Forge server and have access to it via SSH.
News and Announcements

Call for Volunteers: Licensing Working Group
There are a growing number of licensing-related issues on Drupal.org that are unresolved. Additionally, volunteers who have been tackling licensing issues believe that the policies are often applied inconsistently. We're looking for 4-5 individuals to serve on the Working Group. You'll receive lots of support from the Drupal Association when you need it, and you'll be making a direct impact on the happiness of our contributors and the safety of the Drupal project. 

PHP South Coast Conference - 18th July 2015, Portsmouth
Community members from around the world come together to learn and share information about the latest trends and technologies in professional PHP development. The call for papers is open now, until January 12th.

Nomad PHP US - December 18th 2014 20:00 CST
Tuning Nginx and PHP-FPM… The Right Way, presented by Evan Coury. More and more large companies and websites are switching over to Nginx + PHP-FPM for increased performance and more efficient resource utilisation. When properly tuned, this duo can be a perfect match for high traffic situations. However, it only takes one small oversight in the configuration to bring your site to a grinding halt under high load. Join Evan Coury, owner of Roave, as he shares all of his tips and tricks learned throughout years of high scalability consulting and running several extremely high traffic websites. We’ll cover how to optimally tune PHP-FPM worker pools, sysctl, and Nginx to get the most out of your servers. Additionally, we’ll cover adding additional capacity to handle traffic spikes, load balancing, and more.

Nomad PHP EU - December 18th 2014 20:00 CET
Practical Message Queueing Using RabbitMQ, presented by James Titcumb. RabbitMQ is a message broker - an application that allows communication between applications by way of a message queuing system. In this talk, we’ll set up a RabbitMQ instance, take an intermediate-level look into the technical features it provides and also how you can apply RabbitMQ in your applications to scale them efficiently.

PHP Australia Conference: 12-13th March 2015, Sydney
PHP Australia is the country's first ever PHP conference, aimed at proficient developers, new developers and people who care about developers. Among the amazing international and local speakers sharing their knowledge at this event is none other than Rasmus Lerdorf. 

Reading and Viewing

Interview with Mark Safronov
On the SitePoint website this week is an interview with Mark Safronov, author of “Web App Development with Yii 2″.
 
Posting Videos from php[tek]2014
The team at php[architect] magazine has published video recordings made at php[tek]2014. Four of them are on YouTube, with several more due to be published in the coming weeks. In the meantime here is a presentation by Elisabeth Smith, talking about the state of HHVM in 2014.

Voices of the ElePHPant - Interview with Rafael Dohms
This week Cal Evans talks to computer engineer Rafael Dohms, founder of the Amsterdam PHP User Group.

The Loosely Coupled Podcast: Episode 15 - Mental Health in the Tech Industry
In this episode, Jeff and Matt discuss mental health, a very important and very personal topic. There is a lot of great work being done right now in our industry to bring awareness to issues of mental health including > prompt by EngineYard, Open Sourcing Mental Illness by Ed Finkler, and #HackTheStigma, among others. This discussion talks about our thoughts on the topic in general as well as gets into personal experiences.

dev/hell Podcast Episode #52: True North PHP 2014
On a cold winter’s night in the far north, Chris and Ed recorded a podcast at the True North PHP 2014 hackathon event. It was loud and fun! We’re joined by special guest Ben Ramsey and others to talk about organising conferences and generally being awesome. Enjoy!

Three Devs and a Maybe Podcast: Midweek Random Rambles
In our 51st podcast we temporarily revert to a midweek recording of the show. This essentially means we were all a bit tired and delirious, leading to some fantastic randomness, none more than Lew's 'different' introduction to the show. We will let you be judges of that! Following our usual discussion of how things are panning out in our working week, we then move on to discuss some of the interesting security issues cropping up on Michael's university course. Also, Fraser has landed an exciting new job in London, Lew has found front-end dependency bliss with Bower and Edd is doing some exciting stuff at work too. We also talk about asset file compression/concatenation and issues we've encountered with those too. So... plenty to discuss, in fact too much to cram in to our usual hour so we will continue the theme next time. Enjoy folks, and as ever, thanks for listening and for your feedback.

Jobs

To post a job advert please contact [email protected]

Fuzzy Matching Project Work
We are looking for someone to help on a specific project which will involve matching products on one website with products on another website. Someone with skills and demonstrable experience of matching algorithms is a necessity. If you can’t prove that you can do this kind of work please do not contact us. For the right person there is ongoing exciting work. In the first instance please contact us at [email protected] with “Fuzzy matching project” as the subject and we will then create a shortlist, providing the shortlist with information about our company.

Toptal PHP Developer
Freelance with Companies like Airbnb, IDEO & JPMorgan. Work on special projects with great companies through Toptal. Set your weekly/hourly rate, and work from anywhere in the world as an elite PHP developer. See if you have what it takes!

Programmer Extraordinaire, Expensify - California
We are Expensify and we do "expense reports that don't suck!". Imagine a world where expense reports are created and paid automatically. That's our vision, and we need your help to make it a reality. You will be working with a highly skilled team, interesting data, and modern tools to solve hard and interesting problems at scale. We are remote friendly.

Interesting Projects, Tools and Libraries

nife
No-nonsense web request handling framework for PHP.

slack
A PHP library providing easy access to the Slack API.

quick-mock
Mocking library.

moss
The PHP micro-framework.

raspis-url-shortener
A URL shortener and manager built on top of Laravel.

servlet
PSR, for a PHP based servlet engine.

horus
A portable full stack event-driven framework for express developments.

tnetstring
A tagged netstring codec for PHP.

spider
Light weight spider for the web.

amp
A non-blocking concurrency framework for PHP applications.

grids
Grids framework for Laravel.

eris
Eris is a porting of Quickcheck and property-based testing tools to the PHP and PHPUnit ecosystem.

php-checker
Simple PHP checker

workerphp
A PHP micro job scheduler framework like cron.

webapp-basic
A basic surebert web app.

notificationpusher
Standalone PHP library for easy devices notifications push.

phalcon-starter
A setup base for the Phalcon PHP framework that uses composer.

Please help us to keep doing this each week by visiting our sponsor:


 From our sponsors:
Monitoring without alerts ruxit configures itself automatically as your application and infrastructure evolve. It uses AI to get to the root of issues much faster than a human can.
(Sponsor this newsletter

So, how did you like this issue?

Like us on FacebookFollow us on Twitter
We are still trying to grow our list. If you find PHP Weekly useful please tweet about us! Thanks.

unsubscribe from this list | update subscription preferences 
 


Protect your PHP code with SourceGuardian

 

Subscribe! Enter your email address below:

NO SPAM: We absolutely hate spam. We will not share, rent, or give away your email address to anyone.You can unsubscribe at any time. Easily!

Talk to us!

If you have some news, want to share a link with us or chat with us feel free to email us.

And we also have an RSS feed that you can use.

Like us on FacebookFollow us on Twitter

Copyright © PHPWeekly.com