PHPDeveloper.org
Adam Culp: PHP usage statistics
Adam Culp has posted his own look at some of the PHP usage statistics that are out there and how they can be interpreted.
Every once in awhile I stumble across someone who is trying to find their way and decide what they will do in their career. As the organizer of a PHP user group I see many new developers passing through. Of course I always speak of how strong PHP is in the web markets, and encourage new web developers to pursue PHP as a tool in their box of goodies. Because as a web developer it would be a career limiting move to not have any knowledge of PHP. Here is why...He shares a few different sources including w3tech's overall and PHP-specific information (PHP5 specific here) and the current results of the TIOBE index showing language popularity. For each he talks some about what the results mean (and don't mean) and how, if you're a "professional developer" you should, at the least, know PHP - the most dominant language in the web space.
Link: http://www.geekyboy.com/archives/672Michelangelo van Dam: UA Testing with Selenium and PHPUnit
In this new post to his site Michaelangelo van Dam looks at user acceptance testing with PHPUnit and Selenium.
Last week I spoke at php[tek] 2013 where I explained to people how to get started with Selenium IDE to record user interaction with the web interface, convert them to PHPUnit testcases and automatically execute them on multiple browsers on multiple platforms. The feedback I got was awesome, you're all a great crowd! But on twitter I also received a bunch of questions regarding how to set up multiple platforms and why I used Windows in my presentation to deploy to. So today I deceided it was time to write a full article on this subject.He introduces Selenium and what kinds of things it can be used to test. He also defines "user acceptance testing" and talks about why they're an important part of the testing ecosystem. He then walks you through the process of getting the testing environment set up, creating a few tests and how to convert them over to PHPUnit tests (using a built-in tool). Screencasts show you each step of the way. He includes a little tweaking you'll need to do to to the test code to get it working with your own Selenium server
Link: http://www.dragonbe.com/2013/05/ua-testing-with-selenium-and-phpunit.htmlPHP.net: PHP 5.5.0RC2 is available
On PHP.net today they've announced the release of the latest Release Candidate in the PHP 5.5.x series - PHP 5.5.0RC2.
The PHP development team announces the availability of the second release candidate of PHP 5.5. This release fixes some bugs against RC1 and improves overall stability. [...] Please help us to identify bugs in order to ensure that the release is solid and all things behave as expected. Please test this release candidate against your code base and report any problems that you encounter to the QA mailing list and/or the PHP bug tracker.Issues corrected include a segfault when memory was used up, an issue with mbstring in PHPT tests in Windows x64 and a problem with custom exceptions. You can find the full list of changes in the NEWS file. Please download this latest release candidate (Windows here) and test it out on your systems.
Link: http://php.net/index.php#id2013-05-23-1Community News: Packagist Latest Releases for 05.24.2013
- bcen/silex-dispatcher (0.4.3)
A Silex plugin
- fran6co/phptrie (1.0)
PHP Trie implementation
- delboy1978uk/del-bitcoin (v0.1)
Blockchain Bitcoin Wallet API Functionality for Zend Framework 2
- f21/dnsmadeeasy (1.0.0)
A simple php library to work with DNSMadeEasy's API v2.0
- mjohnson/decoda (6.0.5)
A lightweight lexical string parser for BBCode styled markup.
- richardsjoqvist/silverstripe-localdate (1.1.0)
Translates formatted date strings to the locale set with i18n::set_locale() if there is a matching language file.
- cocoon/notation (1.0)
A Markdown, file-based blogging system for Laravel 4
- kitpages/data-grid-bundle (v1.8.0)
Symfony DataGridBundle
- vlucas/valitron (1.0.4)
Simple, elegant, stand-alone validation library with NO dependencies
- nixilla/carweb-api-consumer (0.2)
CarweB API consumer in PHP
- phpunit/phpunit (3.7.21)
The PHP Unit Testing framework.
- thetwelvelabs/zeus (1.0.0)
Zend Framework 1.x RESTful Bundle
- phpunit/php-code-coverage (1.2.11)
Library that provides collection, processing, and rendering functionality for PHP code coverage information.
- phly/phlyty (1.0.1)
PHP 5.4 Microframework built on top of ZF2 components
- donatj/simplecalendar (v0.4.1)
A very simple calendar library
- alchemy/binary-driver (1.4.1)
A set of tools to build binary drivers
- patchwork/utf8 (v1.1.7)
UTF-8 strings handling for PHP 5.3: portable, performant and extended
- zweifisch/zf (v0.2.8)
a micro php web/cli framework/router
- packfire/fuelblade (1.1.0)
Packfire FuelBlade - Dependency Injection / IoC library for PHP
- rtens/mockster (1.1.3)
PHP Mocking framework
- phundament/p3widgets (0.11.7)
Widget Manager
- yohang/calendr (1.0.3)
Object Oriented calendar management
- mouf/archive-installer (v1.0.2)
This is a simple installer that let's you create simple Composer packages that are actually downloading and extracting an archive from the web.
- propel/propel-bundle (1.2.4)
Integration of Propel in Symfony2
- bmatzner/marionette-bundle (1.0.3)
MarionetteJS Bundle for Symfony2
- nunzion/php-eventbus (0.1.0)
An event-based bus.
- bit3/contao-bit3basics (1.1.2)
Set of basic settings for Contao OpenSource CMS
- laiz/laiz-db (v1.0.1)
Object relational mapping library
- alphalemon/alphalemon-cms-bundle (1.1.0-RC)
AlphaLemon CMS is an Open Source Content Management System Application, built on top of Symfony2 Framework, providing an easy an intuitive user-interface, to improve the website's content management experience
- slevomat/sglogistics-api (1.14)
SG Logistics client API Library
- piwik/piwik (1.12-b18, 1.12-b17)
Open Source Real Time Web Analytics Platform
- jdolieslager/fetranslator (v0.1.3)
ZF2 Module for translating routematches and messages
- craue/formflow-bundle (1.1.3)
Multi-step forms for your Symfony2 project.
- rbone/phactory (1.1.2)
A PHP library for generating data for tests
- wingu/code-generator (1.0.1.0)
Wingu OctopusCore CoreGenerator
- laiz/laiz-error (v0.1.0)
Simple error handler
Site News: Popular Posts for the Week of 05.24.2013
- PHPMaster.com: Openbiz Cubi: A Robust PHP Application Framework, Part 1
- PHPClasses.org: 5 Reasons Why the Web Platform War is Over: PHP Won with 75% says Google
- Gonzalo Ayuso: Google App Engine, PHP and Silex. Setting up a Login Provider
- DZone.com: Cloning in PHP
- Chris Jones: Offline Processing in PHP with Advanced Queuing
- Community News: Latest PEAR Releases for 05.20.2013
- Symfony Blog: New in Symfony 2.3: Small things matter
- Reddit.com: Preferred framework for REST usage?
- 7PHP.com: Know Thy PHP User Group Know The Leeds PHP User Group (LeedsPHP)
- Community News: Latest Releases from PHPClasses.org
Anna Filina: Full Test Coverage is Impractical
In her latest post Anna Filina proposes that full test coverage is an impractical way to measure the quality of your software. It can provide a false sense of security, even if the tests are poorly written.
Many developers claim that to achieve high quality software, developers must create automated tests that ensure that all possible execution routes have been covered. This is also known as full path coverage. I will argue that different types of software require different testing approaches and that full path coverage is impractical in almost every case. Too many tests simply create clutter.She looks at how it's impractical to expect that all tests will be written efficiently or even correctly. Even simple tests are enough to show up on code coverage reports but may only be painting part of the picture. She also notes that not all software can be tested the same way - things like APIs require different testing skills/methods than something like consumer software.
In the end, there are no exact rules on how much to test. The most important thing to keep in mind is that writing tests for the sake writing tests is futile and costly. [...] Focus on building great software. Tests are a tool to make it better. Just don't overdo it. Link: http://annafilina.com/blog/full-test-impracticalZFort Group: The Battle of the Titans. Zend vs. Symfony
In this new post to the ZFort blog Elena Bizina compares Symfony and Zend Framework from her perspective, looking at things like functionality, general understanding and community.
Zend and Symfony are the two frameworks that are often compared. Which one is more functional? Which one is more preferable in terms of productivity? Which one is better for general understanding? Which of these two has a larger community? I've asked Zfort Group experts to help me with these questions, and here's what we have come to.She first gives a high-level overview of each framework, pointing out a few of the features and tools they have built-in. She then goes on to answer the questions above, noting that she sees Symfony as coming out in the lead. Some of the questions are a little vague, so it's not entirely clear why one is different than the other. What do you think? Leave a comment here with your opinions.
Link: http://www.zfort.com/blog/zend-vs-symfonyLorna Mitchell: Simplest PHP Generator Example
On her blog Lorna Mitchell has posted an example of a basic generator written in PHP, a feature of the upcoming PHP version 5.5.
I really like the generators feature that's arriving in PHP 5.5, and since we're now into release candidate releases, it's actually not that far away. I've been speaking on this topic and I thought I'd share my trivially simple code example from my slides.She includes an example of a very basic generator using the new "yield" keyword and how to implement it in a simple foreach loop. There's also a little talk about when is a good time to use generators in your applications (two examples: complex number calculation and working with large data sets a chunk at a time). For more information on how these generators will work, check out this page in the PHP manual.
Link: http://www.lornajane.net/posts/2013/simplest-php-generator-exampleEngine Yard: A Conversation About Testing in PHP
On the Engine Yard blog today they've posted a conversation about testing between Ed Finkler and Chris Hartjes (also the hosts of the DevHell podcast).
Our friends Ed Finkler and Chris Hartjes recently had a chat about testing in PHP. Read on to get the low down on different testing tools and their relative merits-check it out as Ed and Chris weep for the future, come to some interesting conclusions and get their hands dirty so you don't have to.They talk some about the current tools for unit testing in PHP applications and show what a sample test looks like. Ed talks about how the current testing tools can make it intimidating for people to get started testing and mentions the built-in testing library in Python that is a bit easier. There's also some mention of acceptance/functional testing and the Behat + Mink combo.
Link: https://blog.engineyard.com/2013/a-conversation-about-testing-in-phpCommunity News: Packagist Latest Releases for 05.23.2013
- piwik/piwik (1.12-b16)
Open Source Real Time Web Analytics Platform
- mjohnson/utility (1.4.3)
A collection of CakePHP utility libraries.
- superdweebie/identity-module (0.3)
Zend Framework 2 Module that provides user management
- mjohnson/decoda (6.0.4)
A lightweight lexical string parser for BBCode styled markup.
- lumedigital/wordpress-installer (0.1)
Wordpress installer if you want to work with wordpress instances as full-package. eg. package to have wordpress files and references to plugins and themes
- kphoen/sitemap-bundle (1.1.4)
Provides a way to create/generate a sitemap using Propel, Doctrine, etc.
- danielmewes/php-rql (1.5.2)
A PHP client driver for the RethinkDB query language (ReQL)
- sabre/vobject (3.0.0-alpha2)
The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects
- bcen/silex-dispatcher (0.4.2)
A Silex plugin
- ncsuwebdev/base-otf-app (1.0.4)
Base app for creating an OTF app
- ncsuwebdev/otframework (3.0.4)
Base application framework
- ibrows/wizard-annotation-bundle (1.0.3)
Simple wizard for a controller with validation methods
- havvg/cloudcontrol-bundle (v1.0.0-beta4)
This bundle integrates your application on the cloudControl PaaS.
- havvg/dry-bundle (v1.0.3)
A Symfony2 bundle providing helpers to ease usage of common patterns.
- kamisama/php-resque-ex (1.2.5)
Redis backed library for creating background jobs and processing them later. PHP port based on resque for Ruby.
- aporat/php_gearman_daemons (1.0.0)
PHP Gearman Deamon Manager
- paypal/permissions-sdk-php (v3.4.102)
PayPal permission SDK for PHP
- paypal/merchant-sdk-php (v3.4.102)
PayPal Merchant SDK for PHP
- paypal/invoice-sdk-php (v3.4.102)
PayPal invoice SDK for PHP
- paypal/buttonmanager-sdk-php (v3.4.102)
PayPal buttonmanager SDK for PHP
- paypal/adaptivepayments-sdk-php (v3.4.102)
PayPal adaptivepayments SDK for PHP
- havvg/lock (v2.0.0, v1.1.0)
A component for simple resource locking.
- mrprompt/cielo (2.0)
Description of project Db.
- kitpages/data-grid-bundle (v1.7.0)
Symfony DataGridBundle
- rah/danpu (2.5.0, 1.5.0)
MySQL database dump and restoration tool implemented in PHP
- webmasters/doctrine-extensions (2.3.7)
Doctrine2 extensions
- willdurand/geocoder (1.6.0)
The almost missing Geocoder PHP 5.3 library.
- sammaye/mongoyii (1.2.4)
A Yii MongoDB ORM
- payment/httpclient-buzz (1.1.0)
http client bridge for buzz
- fiber/fiber (0.3.0)
Dependency Injector Container
- pagon/fiber (0.3.0)
Dependency Injector Container of Pagon
Site News: Blast from the Past - One Year Ago in PHP
- PHPMaster.com: PSR-1 and PSR-2 to be Approved as Standards
- DeveloperWorld: How to make PHP apps scale
- 9Lessons.info: Login with Instagram OAuth using PHP
- Till Klampaeckel's Blog: Zend Framework: CRUD
- Phil Sturgeon's Blog: Laravel is Awesome
- Gonzalo Ayuso's Blog: Database connection pooling with PHP and React (node.php)
- Michael Nitschinger's Blog: A primer on PHP exceptions
- PHPMaster.com: 10 Tips for Better Coding
- Lineke Kerckhoffs-Willems' Blog: How to use the Symfony2 SonataAdminBundle
- Sean Coates' Blog: Use `env`
- PHPBuilder.com: Debugging Your Magento E-Commerce Applications in PHP
- Rafe Colburn's Blog: A list of engineering blogs
- Mike Purcell's Blog: PHPUnit - Upgrade - Convert assertType to assertInternalType
- NetTuts.com: 3 Key Software Principles You Must Understand
- PHPMaster.com: Introspection and Reflection in PHP
Reddit.com:
Over on Reddit.com recently a discussion was kicked off asking people what framework they used for REST - their tool of choice for making API creation simple.
I was wondering what people here preferred for setting up REST APIs. Specifically if they had a preferred PHP framework for setting them up. in the past I had used CodeIngiter but am looking at Laravel some recently. I don't anticipate extremely heavy usage but I'd like to easily update the framework when it has new releases without a real pain working around my models and controllers.Several different options were mentioned in the comments including:
Do you have a favorite you use for your REST APIs? share it here!
Link: http://www.reddit.com/r/PHP/comments/1em2ne/preferred_framework_for_rest_usageReddit.com:
Over on Reddit.com recently a discussion was kicked off asking people what framework they used for REST - their tool of choice for making API creation simple.
I was wondering what people here preferred for setting up REST APIs. Specifically if they had a preferred PHP framework for setting them up. in the past I had used CodeIngiter but am looking at Laravel some recently. I don't anticipate extremely heavy usage but I'd like to easily update the framework when it has new releases without a real pain working around my models and controllers.Several different options were mentioned in the comments including:
Do you have a favorite you use for your REST APIs? share it here!
Link: http://www.reddit.com/r/PHP/comments/1em2ne/preferred_framework_for_rest_usageReddit.com: Preferred framework for REST usage?
Over on Reddit.com recently a discussion was kicked off asking people what framework they used for REST - their tool of choice for making API creation simple.
I was wondering what people here preferred for setting up REST APIs. Specifically if they had a preferred PHP framework for setting them up. in the past I had used CodeIngiter but am looking at Laravel some recently. I don't anticipate extremely heavy usage but I'd like to easily update the framework when it has new releases without a real pain working around my models and controllers.Several different options were mentioned in the comments including:
Do you have a favorite you use for your REST APIs? share it here!
Link: http://www.reddit.com/r/PHP/comments/1em2ne/preferred_framework_for_rest_usagePHPMaster.com: Openbiz Cubi: A Robust PHP Application Framework, Part 2
PHPMaster.com has posted the second part of their look at the Openbiz Cubi framework (part one here), this time focusing on the code - mostly XML - that you'll need to create your own custom module.
In the first part of this series we talked about the development challenges we face and how Openbiz Cubi can help by providing a solid, ready-to-use web application framework. In this part we'll see how to build our own module and dive a bit deeper into the core architecture of the framework.They include the SQL you'll need to run to create a new table for the "Customer" module they're going to help you build. With that in place, they walk you through the command to execute to make the module skeleton, the locations of the XML files to work with and the contents of each. Included in the module are things like a data object, a module description file and the form object. He finishes up the post with a look at the overall flow of the Cubi execution so you know where each piece falls.
Link: http://phpmaster.com/openbiz-cubi-a-robust-php-application-framework-2PHPMaster.com: Openbiz Cubi: A Robust PHP Application Framework, Part 2
PHPMaster.com has posted the second part of their look at the Openbiz Cubi framework (part one here), this time focusing on the code - mostly XML - that you'll need to create your own custom module.
In the first part of this series we talked about the development challenges we face and how Openbiz Cubi can help by providing a solid, ready-to-use web application framework. In this part we'll see how to build our own module and dive a bit deeper into the core architecture of the framework.They include the SQL you'll need to run to create a new table for the "Customer" module they're going to help you build. With that in place, they walk you through the command to execute to make the module skeleton, the locations of the XML files to work with and the contents of each. Included in the module are things like a data object, a module description file and the form object. He finishes up the post with a look at the overall flow of the Cubi execution so you know where each piece falls.
Link: http://phpmaster.com/openbiz-cubi-a-robust-php-application-framework-2PHPMaster.com: Openbiz Cubi: A Robust PHP Application Framework, Part 2
PHPMaster.com has posted the second part of their look at the Openbiz Cubi framework (part one here), this time focusing on the code - mostly XML - that you'll need to create your own custom module.
In the first part of this series we talked about the development challenges we face and how Openbiz Cubi can help by providing a solid, ready-to-use web application framework. In this part we'll see how to build our own module and dive a bit deeper into the core architecture of the framework.They include the SQL you'll need to run to create a new table for the "Customer" module they're going to help you build. With that in place, they walk you through the command to execute to make the module skeleton, the locations of the XML files to work with and the contents of each. Included in the module are things like a data object, a module description file and the form object. He finishes up the post with a look at the overall flow of the Cubi execution so you know where each piece falls.
Link: http://phpmaster.com/openbiz-cubi-a-robust-php-application-framework-2PHPClasses.org: 5 Reasons Why the Web Platform War is Over: PHP Won with 75% says Google
In this new post to the PHPClasses.org blog Manuel Lemos talks some about the recent introduction of PHP into Google's App Engine offerings.
During Google I/O 2013 event a Google manager said PHP runs on 75% of the Web sites. So they decided to finally support PHP as in their AppEngine hosting service. Read this article to understand why this puts an end to years of false claims that PHP was losing market, as well what it means to Web developers using PHP or other languages.He looks at the App Engine PHP offering and looks at whether or not its a good platform to use for hosting your application. He points out some advantages and disadvantages (including no local file system access and no remote resource access). He also includes five reasons why the "web platform war is over" and why PHP has come out victorious:
- Google Knows Because They Crawl the Whole Web
- Google Does Not Influence Web Developers so much
- Wordpress is the Dominant Blog Platform (not Blogger)
- Programming Does Not Have to Be Beautiful
- PHP Detractors Have the Wrong Focus
He admits, though, that PHP may not be dominant forever - it's not perfect, but there will always be a need for something that does what it can do (and does it well).
Link: http://www.phpclasses.org/blog/post/208-5-Reasons-Why-the-Web-Platform-War-is-Over-PHP-Won-with-75-says-Google.htmlPHPClasses.org: 5 Reasons Why the Web Platform War is Over: PHP Won with 75% says Google
In this new post to the PHPClasses.org blog Manuel Lemos talks some about the recent introduction of PHP into Google's App Engine offerings.
During Google I/O 2013 event a Google manager said PHP runs on 75% of the Web sites. So they decided to finally support PHP as in their AppEngine hosting service. Read this article to understand why this puts an end to years of false claims that PHP was losing market, as well what it means to Web developers using PHP or other languages.He looks at the App Engine PHP offering and looks at whether or not its a good platform to use for hosting your application. He points out some advantages and disadvantages (including no local file system access and no remote resource access). He also includes five reasons why the "web platform war is over" and why PHP has come out victorious:
- Google Knows Because They Crawl the Whole Web
- Google Does Not Influence Web Developers so much
- Wordpress is the Dominant Blog Platform (not Blogger)
- Programming Does Not Have to Be Beautiful
- PHP Detractors Have the Wrong Focus
He admits, though, that PHP may not be dominant forever - it's not perfect, but there will always be a need for something that does what it can do (and does it well).
Link: http://www.phpclasses.org/blog/post/208-5-Reasons-Why-the-Web-Platform-War-is-Over-PHP-Won-with-75-says-Google.htmlPHPClasses.org: 5 Reasons Why the Web Platform War is Over: PHP Won with 75% says Google
In this new post to the PHPClasses.org blog Manuel Lemos talks some about the recent introduction of PHP into Google's App Engine offerings.
During Google I/O 2013 event a Google manager said PHP runs on 75% of the Web sites. So they decided to finally support PHP as in their AppEngine hosting service. Read this article to understand why this puts an end to years of false claims that PHP was losing market, as well what it means to Web developers using PHP or other languages.He looks at the App Engine PHP offering and looks at whether or not its a good platform to use for hosting your application. He points out some advantages and disadvantages (including no local file system access and no remote resource access). He also includes five reasons why the "web platform war is over" and why PHP has come out victorious:
- Google Knows Because They Crawl the Whole Web
- Google Does Not Influence Web Developers so much
- Wordpress is the Dominant Blog Platform (not Blogger)
- Programming Does Not Have to Be Beautiful
- PHP Detractors Have the Wrong Focus
He admits, though, that PHP may not be dominant forever - it's not perfect, but there will always be a need for something that does what it can do (and does it well).
Link: http://www.phpclasses.org/blog/post/208-5-Reasons-Why-the-Web-Platform-War-is-Over-PHP-Won-with-75-says-Google.html