News Feed
Sections




News Archive
feed this:

Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Qandidate.com Blog:
Asynchronous fault tolerant programming with PHP
August 12, 2014 @ 12:17:20

On the Qandidate.com blog there's a new post looking at fault tolerant programming in PHP, a follow up to their previous post introducing the topic and creating a "circuit breaker" to prevent major issues when a problem pops up.

Now we will show you a running demo of the application where the circuit breaker library Phystrix is combined with asynchronous programming. The advantage of this approach is that it allows the querying of multiple backend services asynchronously. A timeout can be set for each of the calls and the circuit breaker will deal with failing services.

A screencast included in the post shows a script in action and how it reacts when the various services it needs fail. They've posted the code for the demo can be found over on GitHub and full instructions to run it are included in the post. Also included is some of the output from the test and a peek inside the logs showing where things were broken and if they were able to recover.

0 comments voice your opinion now!
asynchronous fault tolerant programming demo github screencast

Link: http://labs.qandidate.com/blog/2014/08/11/asynchronous-fault-tolerant-programming-in-php/

Joshua Thijssen:
Internal PHP function usage revisited
August 06, 2014 @ 11:53:34

Joshua Thjissen has revisited some of his PHP internal function statistics, an update from this previous post with some results showing the most (and least) used internal PHP functions in several large projects from GitHub.

A lot of people are asking about functions like isset, empty, print, echo etc, as they are not present in the current result list. The thing is, is that these are not really functions, but language constructs. This means that PHP treats them a bit different than normal functions, and this results sometimes in seemingly "strange" behaviour when trying to use them like regular functions.

He's updated his results, though, to reflect the usage of these "functions" and shared the numbers. Not surprisingly, these constructs show up pretty highly in the new "top 22" list he's produced. With the inclusion of the constructs, the number one item on the list is now "isset" by a very large margin. The full results can be found in this gist.

0 comments voice your opinion now!
internal function usage statistics github revisit construct language

Link: https://www.adayinthelifeof.nl/2014/08/05/internal-php-function-usage-revisited/

Joshua Thijssen:
Internal PHP function usage
July 28, 2014 @ 10:05:39

Curious about the usage of the various "internal" (built-in, not user defined) functions in use is a wide range of PHP applications, Joshua Thijssen did some research on GitHub and has shared the results on his site today.

How many internal PHP functions (things like count(), strpos(), array_merge() etc), does PHP have? Depending on which version you use, and how many extensions you have loaded, somewhere between 1000 and 2000 would be a good guess. But how many of these internal functions are you REALLY using?

He created a custom script to fetch the results of a custom query (one that found repos with over fifty stars), grabbed the source and parsed the results looking for these internal functions. He shares the results of his parsing from 967 repos in the remainder of the post, including: the top ten most called, some interesting facts found in the results and some of the "bad" ones in wide use (like "exec" and "mysql_connect").

0 comments voice your opinion now!
internal function usage statistics github parse query

Link: https://www.adayinthelifeof.nl/2014/07/25/internal-php-function-usage/

Hari KT:
Aura Framework V2 The Missing Manual
July 16, 2014 @ 10:14:52

Hari KT has a new post to his site today about a book he's been working around around the Aura framework that provides the missing manual for v2 of the project. He's publishing it as a book over on Leanpub too, so it's easy to grab...and for free too.

Aura has an awesome collection of libraries for different purpose. [...] If you are new to aura, there is probably something you may want to figure out yourself. Some of the components have version 1 and version 2 releases. There is a question of which branch corresponds to which version. [...] But people new to aura may be having hard time to find the specific documentation or may be stuck sometime. [...] I was talking with Paul M Jones regarding the documentation lately, and he too shared some concerns. Talking with him gave me some inspiration to start the missing manual for the aura framework.

The goal of the book it to provide a good resource for people to learn about the framework/components and their use and to help promote Aura. The book is available for free either on Github or Leanpub (or, to help support Hari and the project consider purchasing a copy).

0 comments voice your opinion now!
aura framework component missing manual leanpub github

Link: http://harikt.com/blog/2014/07/15/aura-framework-v2-the-missing-manual/

HHVM Blog:
Faster GitHub Commits
July 09, 2014 @ 09:23:19

On the Facebook HHVM blog they talk about an improvement they've made to the project allowing for faster GitHub commits on the project. They've reworked things to move away from a manual process on the popular project and automate as much as possible.

Initially, the entire process was manual. We would curl the pull request and pipe it to git am, then manually prepare the diff for review internally. After it was accepted, we would manually prepare the internal commit to be usable externally by GitHub, then manually build and test the new code, and finally git push. Great scripts by ptarjan and sgolemon to help get and prepare pull requests for review and then prepare the commits for GitHub have alleviated some of this manual process. However, in the end, someone still had to manually build, test and then push the code to the world.

Another feature of this effort is a new cron job (facebook-github-bot) that pushes any internal (approved) HHVM code automatically without having to wait for the manual intervention. It syncs all code since the last push, runs all tests and, assuming all went well, pushes it out to GitHub.

we believe that getting your code into the master branch quickly will hopefully help show how much we appreciate your contributions. Now, if there was only a way we could get your pull requests reviewed faster and more openly…. Hmmm…
0 comments voice your opinion now!
github commit release bot continuous integration

Link: http://hhvm.com/blog/5399/faster-github-commits

Docnet.nu:
SSL And PHP Streams - Part 1 You Are Doing It Wrong™
June 26, 2014 @ 09:54:40

On the Docnet.nu blog today they've kicked off a series looking at the use of streams and SSL in PHP and asking if you're doing it wrong in your current applications. The focus is more on the security aspect, breaking it down into a set of common problems (and how to work around them).

The upcoming PHP 5.6 release brings with it a number of improvements to encrypted PHP streams, both internally and externally. In these articles I will try to cover the most important changes, and how they affect your code. This article will focus on how to get the best security level in code that needs to be run on PHP versions below 5.6, and highlighting some of the gaps in the currently available functionality. Version 5.4.13 is the earliest version that supports all the options described below - and if you are running something earlier than this, then you really should consider upgrading to at least the latest version of the 5.4 series 1.

Their list is made up of six different problems:

  • Problem 1: Peer Verification
  • Problem 2: Cipher Lists
  • Problem 3: Protocol Support
  • Problem 4: TLS Compression Attack Vulnerability
  • Problem 5: Cipher Order
  • Problem 6: TLS Renegotiation Attacks

Each problem comes with a brief description of what it is and why it's an issues. Some also include code snippets showing how to correct the issue, usually relatively simply.

0 comments voice your opinion now!
streams problem list solution https tutorial

Link: http://www.docnet.nu/tech-portal/2014/06/26/ssl-and-php-streams-part-1-you-are-doing-it-wrongtm/C0

Semaphoreapp.com:
Continuous Integration & Deployment of PHP applications from GitHub to Heroku
June 18, 2014 @ 11:35:21

The Semaphore site (a testing and deployment service) has posted a tutorial showing how to set up a continuous integration/deployment using their service, GitHub and Heroku for a PHP application.

The practice of continuous delivery is steadily gaining ground in the PHP community. [...] With PHP support being recently launched on both Semaphore and Heroku, you can set up a continuous delivery pipeline for your web application in a matter of minutes. In this post I will show you how to set up continuous integration and deployment for a simple Laravel web application through Semaphore. You can find the application's source code on GitHub.

They walk you through the creation of the Heroku application, grabbing the API key and connecting the Semaphore account with GitHub. Once linked, you can select the repository and any build commands needed for deployment. Finally, they show how to configure the actual continuous version of the deployment and have it release after each successful build.

0 comments voice your opinion now!
semaphore continuous deployment integration github heroku tutorial

Link: https://semaphoreapp.com/blog/2014/06/17/continuous-integration-deployment-php-with-github-semaphore-heroku.html

HHVM Blog:
HHVM 3.1.0
May 30, 2014 @ 11:56:54

On the HHVM blog today they've announce the release of the latest version of the popular project, version 3.1.0. This version fixes a few issues (including a segfault) and crossed into their semi-annual "lockdown" to work directly on the project.

If you remember last time we focused on framework unit tests, performance, and growing beards. This time, our frameworks were in good shape thanks to Fred and our Open Academy students, but our github story was not as pretty. At the start of lockdown we had 60 pull requests and nearly 450 issues. So our focus this time was github health and of course as always, perf.

In the end they closed out 251GitHub issues and made things 16% more efficient in the process. They list out some of the updates in this release including:

You can grab this latest release from the pre-build packages page on the GitHub project account.

0 comments voice your opinion now!
hiphop vm hhvm release version github issues

Link: http://hhvm.com/blog/5195/hhvm-3-1-0

HHVM Blog:
Hack Community Roundup
May 19, 2014 @ 12:45:12

For those interested in what's going on in the world of Hack (the Facebook-created language based on PHP) check out this "community roundup" with information about and links to some of the latest happenings.

In the weeks since the Hack open source launch and the Hack developer day, there has been a lot of information, code, blog posts, etc coming from our nascent community. To us on the team, it's been incredible and encouraging to see the community reception to Hack. Here are some of the highlights of the things we've seen come out of our community. (And we almost certainly haven't seen everything, so please let us know in the comments what we've missed!

They share several related GitHub projects (including the Hack/HHVM support on Heroku), a few presentations about installation and experience with the tools and a few blog posts wrapping up their Hack dev day and an article from FastCompany about Hack and its motivation

0 comments voice your opinion now!
hhvm hack roundup github project blog presentations

Link: http://hhvm.com/blog/4811/hack-community-roundup

New Relic Blog:
25 PHP Developers to Follow Online
May 14, 2014 @ 09:14:55

On the New Relic blog today there's a new list posted of the 25 PHP developers they suggest you follow, both on Twitter and via their code contributions.

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.

Included in their list are PHP notables like:

Check out the full post for the rest of the list!

0 comments voice your opinion now!
developers follow opinion twitter github source framework community

Link: http://blog.newrelic.com/2014/05/02/25-php-developers-follow-online/

SitePoint PHP Blog:
PHP and Continuous Integration with Travis CI
May 13, 2014 @ 11:18:55

If you've ever wanted to get into continuous testing and validation of your code but didn't want the hassle of having to set up a new instance/server just to do it, you're in luck. Travis-CI does exactly that and is a hosted platform anyone can use. Today on the SitePoint blog Michael Calkins wants to help you get started using Travis-CI for your PHP-based applications.

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.

He starts by introducing Travis -CI and what it has to offer developers. He shows you how to get started, linking it with Github, and how to sync the repositories you want tested in the configuration. He talks about the ".travis.yml" configuration file, provides an example and how to start up a new build. There's also a mention of the build status images you can add to your repository to show the current build status. The rest of the article talks about other topics like pull request testing, a branch summary and how to view the build history.

0 comments voice your opinion now!
continuous integration travisci introduction github tutorial

Link: http://www.sitepoint.com/php-continuous-integration-travis-ci/

SitePoint PHP Blog:
Database Versioning with DBV
April 21, 2014 @ 11:11:45

In this new post to the SitePoint PHP blog today Wern Ancheta introduces you to a tool that can help with database versioning, DBV. DBV is a tool developed by Victor Stanciu and made available on GitHub.

It's good practice to always use a version control system in any of your projects. Be it a side-project in which you are the only developer, or a team project where five or more people are working on it together. But the idea of putting your database into version control isn't really that widespread. Often times we take the database for granted. But like the source files in our project, the database is constantly changing too. That's why we also need a way to track the changes that we have made and easily share it to other members of our team. In this article we will take a look at DBV, a database version control system written in PHP for MySQL databases so you need to have PHP and MySQL installed before you can use it, along with a web server like Apache or Nginx.

He steps you through the installation (via an installer and configuration through the "config.php" setup file. The system keeps track of lots of different changes including new tables, updated field descriptions, additional views, stored procedures and functions. He includes some screenshots of the UI and goes through the workflow of adding new tasks and syncing with a remote database server.

0 comments voice your opinion now!
database version tutorial dbv github

Link: http://www.sitepoint.com/database-versioning-dbv/

SitePoint Web Blog:
HTTPS Basics
April 02, 2014 @ 09:06:08

If you're relatively new to web development, you might not know exactly what kinds of benefits that using an HTTPS connection might provide. In this new article from the SitePoint PHP blog, Mufleeh Sadique covers some of the basics of HTTPS and gives some reasons why to "go HTTPS" in your applications.

Hypertext Transfer Protocol Secure or Hypertext Transfer Protocol over SSL is used for secure communication over a network, or perhaps more importantly - over the Internet. You would see https:// in the URI and a lock icon in the browser when you access a page that uses HTTPS. [...] If you ever wondered whether and how to go HTTPS with your website, we'll attempt to clear this up in this article by briefly describing what HTTPS is about, and why and how to implement it.

He's broken the rest of the article up into a few different sections. The first answers the question "why HTTPS" with a few reasons including the most important - encrypted communication. In the second section, he starts showing you how to "go HTTPS" using a self-signed certificate to start. With the certificate installed, he moves into the last part, ensuring your application is always using the HTTPS version and redirecting anything else.

0 comments voice your opinion now!
https introduction why how selfsigned certificate install configure

Link: http://www.sitepoint.com/https-basics

Pantheon Blog:
Please License Your Code
February 26, 2014 @ 13:18:55

In a recent post to the Pantheon blog community member Cal Evans makes one request for the developers out there (PHP and others) - please license your code.

It is wonderful that you have put your code up on GitHub. That is the essence of "Social Coding". However, if you do not put a license on it, you are just teasing developers. In essence, you are saying "See what I made? You can't use it, but I wanted to show you anyhow." Granted, sometimes, developers will use unlicensed code in their projects anyhow, but usually not. Without a proper license, others have no idea what is a permissible use. You wrote it, you own it, you shared it, so let people know they can use it.

He points out that GitHub makes it easy to just throw code up and expose it to the word for use. Unfortunately, due to restrictions put in place by business or technology groups, code without a license simply can't be used. If you're not familiar with code licenses, he links to the Choose a License site that can walk you through the choice via a series of questions.

0 comments voice your opinion now!
code license github choosealicense

Link: https://www.getpantheon.com/blog/please-license-your-code

Lorna Mitchell:
Use a GitHub Branch as a Composer Dependency
February 19, 2014 @ 11:48:53

Lorna Mitchell has a quick post to her site today showing you how to use a GitHub branch as a Composer dependency when the need arrises for something other than master (or whatever branch is "stable" for the project).

My current project sees Celery (a python distributed task queue) added to my PHP application. There's a handy PHP interface to the RabbitMQ that Celery uses as a backend, which makes it easy for me to create jobs, called celery-php. This requires either the PECL AMQP extension< or alternatively it has experimental support for the PHP library for AMQP - I would normally prefer the PECL version but ran into version compatibility problems, missing manual pages, and decided that a pure PHP solution might be more portable and perhaps I would just add the experimental branch to my composer.json file for this project.

She includes an example of what the "composer.json" file would look like to pull this other branch. Two pieces of data have to be defined - the URL for the repository (to prevent Composer from trying to find it) and the branch name in the "require" section where the version would normally be.

0 comments voice your opinion now!
github repository branch composer dependency

Link: http://www.lornajane.net/posts/2014/use-a-github-branch-as-a-composer-dependency

9Lessons.info:
Login with GitHub OAuth using PHP
February 11, 2014 @ 11:36:57

On the 9lessons.info site they've posted a new tutorial showing you how to login with GitHub via OAuth via a custom script.

Nowadays GitHub.com(web based hosting service) is the most import part in developer's life. In this I want to discuss how to implement GitHub OAuth login system for your web project, this is very simple adopt and sure it will helps you to increase your web project registrations. Please check my previous posts for Google, Facebook and Instagram OAuth login system scripts.

The system uses a simple database to store the current user information and their Github ID. They walk you through the flow of creating a new application on the Github site and include the scripts to make the initial request, redirect to the Github site for authorization and handle the callback correctly.

0 comments voice your opinion now!
github oauth tutorial token

Link: http://www.9lessons.info/2014/02/login-with-github-oauth-php.html

QaFoo Blog:
Tracking Changes in PHP Projects
November 20, 2013 @ 11:27:26

The QaFoo team has made available a tool they've created to track changes in PHP projects, the QaFoo Changetrack tool.

Since quite some time I've talked to people about the idea for a tool that tracks changes in the classes and methods of your PHP project in order to detect which entities are changed most frequently, which are often affected bugs and other statistics. After some hacking, we are now making it available on Github.

The tool includes a few commands including one that analyzes the project you point it at (and makes an XML defining its changesets) and another that provides a report of how often a certain method is involved in a change. The post includes an example using the Twig Github repository noting that, because of the analysis being done on each checkout, can take quite a while depending on the age of the project.

0 comments voice your opinion now!
track project change qafoo changetrack github

Link: http://qafoo.com/blog/061_tracking_changes_in_php_projects.html

Manuel Stosic:
Understanding Zend Framework 3...before it's out!
October 31, 2013 @ 09:22:33

Manuel Stosic has a new post today talking about the upcoming Zend Framework v3 (not "coming soon", but coming) and three places you can follow to keep up on the latest in this version as it develops.

ZF3 is not close around the corner. It's still many, many months ahead. But there are reasons why you should bother and get information about ZF3 as soon as possible. If you understand why changes are introduced - and most of them are explained, some will be explained at a later point i guess - then you can spot errors in todays code already! You can improve your current code by knowing what's going to be "in" a couple of months away.

The three resources he points to are the Google Moderator group for ideas around the framework, issues on the Github repository tagged for ZF3 and a series of planned Google Hangouts where core developers will talk about the work on this new version and answer questions from those watching.

0 comments voice your opinion now!
zendframework3 google moderator github issues hangouts

Link: http://samminds.com/2013/10/understanding-zend-framework-3-before-its-out/

Mikko Koppanen:
PHP extension writing
October 21, 2013 @ 10:35:15

Mikko Koppanen has written up a quick post sharing some work he's done to help make writing extension in PHP a little bit easier. He's created a new project that shares some of his experience in extension development.

I plan to add practical examples related to extension writing. There won't be extensive written documentation outside the code, but hopefully the code itself contains enough nuggets of information to be useful. As the README says, if you need a specific example or clarification on something just open an issue in Github.

The project is still in its early stages, but plans are to have quite a bit more examples as time goes on. Also, as Johannes Schlüter points out in the comments, there's also another example like this - Marcus Boerger's demoext (with accompanying slides).

0 comments voice your opinion now!
extension write demo example github project extsample

Link: http://valokuva.org/php-extension-writing/

VG Tech:
Avoid Dependency on 3rd Party Sources with Composer
September 23, 2013 @ 09:36:51

On the VG Tech blog today there's a post that show you a way to reduce your dependencies on Composer (using Github) without sacrificing the use of the tool.

Composer is the defacto standard dependency manager for PHP out there, also here in VG. [...] For the most parts it has been a pleasant experience, but it creates a hard dependency towards external sources as we now require these sources to be available when updating/installing. [...] Since we use Composer for all our internal packages, we already had Satis set up, which basically is a package repository builder for Composer.

They include their Satis configuration and link to more information about the archive feature to bring a mirror of the repo in-house easily. There's also an example of the "require" section that defines the packages and version numbers you're expecting.

0 comments voice your opinion now!
composer satis mirror github configuration example

Link: http://tech.vg.no/2013/09/20/avoid-dependency-on-3rd-party-sources-with-composer/

NuoDB.com:
Using NuoDB from the PHP Zend Framework
June 27, 2013 @ 11:45:57

On the NuoDB site there's a recent post showing how to use this cloud-based database solution from inside Zend Framework applications.

The Zend Framework is an object oriented PHP framework that can be used to construct interactive web applications. NuoDB supports both Zend Framework version 1 and version 2 . In this TechBlog article, I will show you how to use NuoDB with both Zend Framework v1 and v2. I will use the example applications that are provided in the Zend Framework documentation and show you how to make them work with NuoDB.

They briefly walk you through the install and configuration of Apache and NuoDB you'll need to get things up and running. Sample code is included showing you how to install the NuoDB PDO driver, pull down their github repo with the needed files (for both ZF1 and ZF2) and implementing in each version's quickstart application.

0 comments voice your opinion now!
zendframework tutorial nuodb database cloud github

Link: http://www.nuodb.com/techblog/2013/06/20/using-nuodb-from-the-php-zend-framework

Symfony Blog:
The symfony.com website... in your language
June 11, 2013 @ 09:23:43

On the Symfony blog there's a new post mentioning the availability of the static contents of the Symfony site as a public repository.

The Symfony website has always been in English as English is probably the lingua-franca for web developers. But as some sections of the website do not change that frequently (mainly the "What is Symfony?", "Get started", and "About" sections), and because not all developers are comfortable reading English websites, I'm very happy to announce that most of the static contents are now available in a public Git repository.

They've already had people contributing back to the documentation in their own languages including German, Slovak, Czech, Swedish and Polish. Some of them are still works in progress, but they're getting there.

0 comments voice your opinion now!
symfonycom website language translation github repository

Link: http://symfony.com/blog/the-symfony-com-website-in-your-language

NetTuts.com:
HTTP The Protocol Every Web Developer Must Know - Part 2
April 29, 2013 @ 15:07:21

NetTus.com has followed up their previous article covering some of the basics of the HTTP protocol with this new post, part 2 of the series. They suggest that HTTP, the messaging format of the web, is the one protocol that every web developer should know.

In my previous article, we covered some of HTTP's basics, such as the URL scheme, status codes and request/response headers. With that as our foundation, we will look at the finer aspects of HTTP, like connection handling, authentication and HTTP caching. These topics are fairly extensive, but we'll cover the most important bits.

In this article, they talk about things like the HTTPS secure version of HTTP, server-side connection handling, identification/authorization and working with caching and cache control headers.

0 comments voice your opinion now!
http developer knowledge https authentication connections caching

Link: http://net.tutsplus.com/tutorials/tools-and-tips/http-the-protocol-every-web-developer-must-know-part-2

DZone.com:
Trying out PHP Refactoring Browser
April 22, 2013 @ 10:03:35

On DZone.com Giorgio Sironi has written up a post about some testing he's done with the ""PHP Refactoring Browser" (more on that here) on some basic code examples.

IDE proponents love, in fact, an Integrated Development Environment that provides all the functionalities you need while writing and editing code; the followers of the Unix way typically write code in Vim while augmenting it via plugins where feasible and leveraging external tools that do one thing, and do it well. [...] Automated refactorings in PHP were out of the league of Vim and Unix users; thanks to Qafoo, however, a new open source tool is able to edit code with predefined refactoring recipes: PHP Refactoring Browser.

He goes through some of the basic features and functionality of the browser, setting expectations a bit. He shows how to get it installed (via Composer) and the results of some of his testing. Rather than including them all in the post, he opted to make actual commits on github of the changes.

0 comments voice your opinion now!
refactoring browser trial commits github example

Link: http://css.dzone.com/articles/trying-out-php-refactoring

PHPBuilder.com:
Use Dice for Simplified PHP Dependency Injection
April 08, 2013 @ 13:04:46

On PHPBuilder.com there's a new tutorial showing how to use the Dice dependency injection container to manage dependencies in your application.

Dice is a Dependency Injection Container for PHP. It allows you to very quickly and simply use Dependency Injection techniques in your code with very minimal effort on your end.

The article talks some about the features of the Dice DIC and shares a simple introduction to its use in a more practical example. It uses constructor injection and type hinting to automatically handle the injections based on its current set of object references.

With Dice you don't have to worry about how the User accesses the Session object, you add it as a constructor parameter and it Just works. You don't need to reconfigure the container, you don't need to do anything at all. You just alter the constructor definition and everything is done for you.

You can find more details about Dice in this post (including more examples of it in action and a link to it's repository on github.

0 comments voice your opinion now!
dependency injection dice container tutorial github

Link: http://www.phpbuilder.com/articles/application-architecture/design/use-dice-for-simplified-php-dependency-injection.html

PHPMaster.com:
Say Hello to Boris A Better REPL for PHP
April 02, 2013 @ 10:34:00

On PHPMaster.com today Shameer C has a new tutorial introducing you to Boris, a REPL (read-eval-print loop tool) that's a bit more enhanced than the basic PHP interactive shell.

As web developers, we know the importance of the JavaScript console provided by the browser in testing out code snippets. We don't need to write an entire HTML page and JavaScript code just to verify the functioning or logic of a small routine we wrote. Instead, we simply run the expressions in the console and immediately see the results. Similarly, a REPL (Read-Eval-Print Loop) is the console of a programming language in which we can write code line-by-line and see what it does. [...] PHP's REPL is very good in what it does, although it does have some limitations. [...] And so, Boris tries to solve these problems and other concerns as well.

He walks you through the installation (via a git clone and, later, through Composer) and shows how to run it as well as some sample output. He also shows how to make a custom command-line Boris runner and how to embed it into your application. His example of a tool that would benefit from this is a command-line web service client using Boris and Guzzle.

0 comments voice your opinion now!
boris repl read eval print loop tool commandline github


Zend Framework Blog:
Help us improve the documentation!
March 29, 2013 @ 11:07:53

On the Zend Framework blog they're asking for your help with the project's documentation. They're looking to the users and community members around the framework to help them make the documentation more useful and stay up to date.

A piece of software is only as good as its documentation. The Zend Framework team and a dozen or so contributors are working hard to improve the Zend Framework 2 documentation, but we still want you to help us improve it even more. Any kind of help is welcome and greatly appreciated.

Most of what they're looking for is clarity - they want to ensure that what's in the manual makes sense (and is correct for the release it relates to). They're also looking for feedback on what helps you learn best - tutorials, user guides, API docs, etc. Issues and suggestions should be posted to the issue tracker in github. If you're not sure where to start, check out the contributors guide.

0 comments voice your opinion now!
improve documentation help zendframwork github


Zend Framework Blog:
Zend Framework 1 is Migrating to Git!
March 28, 2013 @ 09:29:23

The Zend Framework project has announced a major move for the framework's development - the Zend Framework v1 repositories will be moving from Subversion to Git over the next year or so.

Since its inception, Zend Framework 1 has used Subversion for versioning. However, as we approach its end-of-life (which will occur 12-18 months from the time this post is written), and as our experience with ZF2 processes becomes more familiar, we -- the Zend team and the Community Review team -- feel that we can better support ZF1 via GitHub. As such, we will be migrating the ZF1 Subversion repository to GitHub this week. Please read on for details!

The post details the steps that'll be taken during the process including the changing of the location of the "master" branch (and how to change svn to point to it) and the updates to the integration of the Dojo libraries. They also talk some about the "extras" repository and how things will work with the Issue Tracker and pull requests in the future.

The repository and issues migration is the first step in a series of planned migrations. We also plan to eventually migrate our wiki to GitHub; this will allow us to offload functionality from the main ZF website, and also consolidate all development-related functionality (other than the mailing list) in a central location.
0 comments voice your opinion now!
zendframework1 git migration subversion github


James Fuller:
First Impressions Cloud9 IDE + PHP
December 27, 2012 @ 13:41:24

James Fuller has posted a review of the online code editing tool Cloud9 and how well it works for his PHP development.

At first I though Cloud9 would be a simple editor, perhaps a nice showcase of what you can do with HTML5 and some well-written javascript but it quickly became evident that this app was packing a lot of powerful features. [...] Sounds pretty awesome if you think about it. You can even connect you own server via SSH instead of using the build in sandbox (this is a paid feature). Is this the Holy-Grail? Not Really, but it's close. This is a very exciting product that almost reaches holy-grail status, but it falls short in a few key areas.

He includes a little bit about trying to use PHP 5.5 in the Cloud9 editing, and points out that while he was (eventually) able to get the PHP 5.5 alpha compiled, he wasn't able to get things like memcache compiled and working.

The Cloud9 team has done a great job removing the barriers to getting a simple idea out the door. I implemented FizzBuzz in PHP using Composer, PHPUnit, and some SPL interfaces and got it all done , and posted to GitHub in about an hour.
0 comments voice your opinion now!
cloud9 editor online github composer code review


Josh Adell:
Migrating to Dependency Injection
November 23, 2012 @ 11:41:41

In a new post to his blog Josh Adell talks about his voyage to implement dependency injection into a current application. His work can be found in this github repository.

Recently, I gave a lunch-and-learn to my team on the topic of Dependency Injection (DI). Instead of showing a bunch of slides explaining what DI is and what it's good for, I created a small project and demonstrated the process of migrating a codebase that does not use DI to one that does. Each stage of the project is a different tag in the repository. The code can be found on Github: http://github.com/jadell/laldi. Checkout the code, and run composer install. To see the code at each step in the process, run the git checkout command in the header of each section.

He goes through each "checkout" step (the title is the git command to run to follow along) showing how he migrated away from a simple micro-framework based site to one that defines the various objects (and repositories) inside the "application" object. He adds in a few comments to let you know a bit more about what's going on and some basic event handling. He finishes off the post with some potential issues that could come up both during the process and with the resulting application.

0 comments voice your opinion now!
migrate dependency injection tutorial github


Community News:
PHP-GTK Project Moves to Github
November 21, 2012 @ 10:25:15

According to this new post on the main PHP-GTK project's website, they've officially made the move over to github:

Although the main PHP-GTK site at http://gtk.php.net/ does not (yet ?) make mention of it, development of PHP-GTK is still active, but is using a more recent infrastructure, having moved to Github like many other projects.

You can find this new repository at https://github.com/php/php-gtk-src. The PHP-GTK project is an extension for the PHP programming language that implements language bindings for GTK+. It provides an object-oriented interface to GTK+ classes and functions and greatly simplifies writing client-side cross-platform GUI applications.

0 comments voice your opinion now!
phpgtk project github repository official


Matthias Noback:
Experiences with PHP Open Source Software in a Symfony-Friendly Environment
November 14, 2012 @ 11:24:19

Matthias Noback has a new post today sharing some of his experiences working with Open Source software, specifically as it relates to this dealings with a "Symfony-friendly environment".

These days, good PHP object-oriented libraries are all around and easily available. To me, it is actually thrilling to be part of this flourishing community, while working with Symfony2 and blogging about the Framework, the Components and their neighbors (like Silex). [...] Still, to me, contributing felt like too big a step to take right now. Until a few weeks ago, when I was looking for something I needed (a PHP client for the Microsoft Translator API) and could not find a decent solution. I decided to make it myself, and share it online.

He shares his "checklist" of steps he followed to get the library up and working (less about the library and more about the process):

  • Write the code
  • Initialize a Git repository
  • Add a composer.json file
  • Add unit tests
  • Make it open source and developer friendly
  • Push your code to GitHub
  • Register your project at packagist.org
  • Register the Packagist Service Hook
  • Versioning
  • Continuous integration using Travis CI

He also suggests that, at least at the outset, you skip some of your tests that might rely on external data sources/resources (so the build can start as green on Travis) then coming back and refactoring to mock things out correctly. It might look like an intimidating list for a beginner, but it's a great process to follow to have a robust, effective development/deployment process.

0 comments voice your opinion now!
opensource software process checklist github composer unittest travisci packagist


QaFoo:
Code Review Tool
November 05, 2012 @ 09:41:16

On the QaFoo site they've shared a tool they use for doing code reviews in a new post to their blog. The tool, just called review, lets you run several different metrics on the code including the PHP "mess detector", PDepend and PHPCPD (copy & paste detector).

We, at Qafoo, do Code Reviews quite often together with our customers. This often focusses on dicussing metrics, browsing the associated code and discussing solutions for the issues found. We started using a bunch of shell scripts for that, like everyone else, but at some point we came up with a webinterface to do this in a more comfortable way. Now we want to share this tool with you.

Included in the post are several screenshots showing the results of the different types of evaluations - the ones mentioned above as well as things like "methods per class", cyclomatic complexity and NPath complexity. There's also a source code browser and a visual class structure generation tool (UML). It's under a AGPLv3 license and can be found on their site.

0 comments voice your opinion now!
code review tool metrics browser uml github


Lorna Mitchell:
Do Open Source with Git and Github
September 06, 2012 @ 09:57:34

So you've been working on your own code for a while now but have been hearing about Github and how it makes it simple to contribute to other projects too. Maybe you haven't found the time to get into git and Github yet. Well, this new post (a reprinted article from php|architect) to Lorna Mitchell's blog will tell you all you need to know.

Often I find absolutely competent programmers, who aren't involved in open source, either because they don't know how to approach a project, or because they just aren't sure how the process even works. In this article we'll look at one example, the conference feedback site joind.in, and how you can use GitHub to start contributing code to this project. Since so many projects are hosted on github, this will help you get started with other projects, too.

She covers all you'll need to know to get in and get going with Github - forking a current repo (she uses Joind.in as an example), cloning your fork, making updates and submitting them as a pull request back to the main project. There's also some things about general git topics like branching, merging from the upstream source and using "git log" to view the changes.

0 comments voice your opinion now!
opensource github git introduction fork clone branch tutorial


Project:
Box - Making Creating PHARs Easier
August 24, 2012 @ 10:33:52

There's a new project on Github that wants to help making your phar archives for your PHP applications. The process is a little obtuse right now and Box wants to simplify it.

Box is a library and command line application for simplifying the PHAR creation process. [Features include] creating new PHARs with a simple configuration file, add and replace files in existing PHARs, extract existing PHARs, with option to cherry pick files and verify PHAR signatures.

The project is still relatively young but it looks like it's off to a good start. Phar files are a powerful tool to have in a PHP developer's arsenal but developing them can be a pain. Hopefully something like this can make life easier.

0 comments voice your opinion now!
project phar build manage creation github


PHPMaster.com:
Access Dropbox Using PHP
August 03, 2012 @ 14:58:13

PHPMaster.com has a new tutorial that wants to help you access one of the most popular file sharing sites out there, Dropbox, through your code (via the DropBox API).

In this article we'll explore the Dropbox API by building a simple client for accessing files in a Dropbox account. The client will perform some basic operations, such as authentication, listing files, and uploading and downloading files.

You can grab the full code on github that provides you with some of the base you'll need to access the service (and help to make the tutorial a little shorter). They walk you through the process to create a new application on the DropBox Developer site and how to use the keys they give you to connect your app. The client included with the github download then lets you call things like "getFile", "putFile" and "accountInfo" to push/pull information from their RESTful API.

0 comments voice your opinion now!
dropbox tutorial client github library api rest


Aura Framework Blog:
Contributing to Aura Project
July 17, 2012 @ 11:11:10

The Aura Framework project has made a new post to their blog walking you through the steps you'll need to contribute back to the project with your ideas and bugfixes for their various components.

Sometimes you may have noticed a bug, or need a feature implemented, and need to contribute back to the aura community. These are some of the steps to help / contribute to aura project.

They walk you through: setting up git (well, point you to github's guide), fork the main repository and check out a copy, creating a remote to the "upstream" (main) repository and pulling the latest content from it into your fork. Included are the commands to run PHP_CodeSniffer and PHPUnit with the provided tests. From there, it's up to you and your code to contribute back, commit and make a pull request!

0 comments voice your opinion now!
aura framework contribution guide github


CodeIgniter.com:
CodeIgniter Wiki Moved
July 06, 2012 @ 08:15:19

As is mentioned in this new post to the CodeIgniter project's main site, their wiki has made a move. You can now find it on github.

In addition to having the convenience of existing as a git repo itself, moving this content to GitHub will help distinguish EllisLab and Reactor created content from community managed resources. It will also reduce the attraction of spammers to the CodeIgniter.com web site, as the wiki was a common location used by spammers and vandals to get content on our site that was less likely to be found and moderated than the frequently visited forums.

You can make changes if you see something incorrect by cloning the repo and making changes to the wiki repo and putting in a pull request.

0 comments voice your opinion now!
wiki move github clone resource


Sean Coates' Blog:
Deploy on push (from GitHub)
June 05, 2012 @ 10:49:13

Sean Coates has a new post today sharing an example push process for the times when you either just need to push code (without the build process) or you're just deploying something simple - a "deploy on push" hook built into your github repository.

Sometimes, you just need to deploy code when it's ready. You don't need a build; you don't need to run tests - you just need to push code to a server. If you use git and GitHub (and I think you should be using GitHub), you can easily deploy on push. [...] There are really only three things that you need, in most cases, to make this work: a listener script, a deploy key and associated SSH configuration, and a post-receive hook.

He explains what each part of the process does and includes the simple PHP script that github calls to make the deployment (it's specific to his example, but you get the idea). He walks you through setting up the deploy key (a SSH key generated on your server) and how to get SSH to use this key when github comes knocking.

0 comments voice your opinion now!
github deployment push hook tutorial


PHPClasses.org:
Lately in PHP, Episode 24 - Do PHP Developers Need & will Adopt PHP Coding Standards
June 04, 2012 @ 11:35:20

The PHPClasses.org site has released the latest episode in their "Lately in PHP" podcast series - Episode 24, "Do PHP Developers Need and will Adopt PHP Coding Standards?"

The PHP Standards Group is trying to push new specifications for PHP coding standards. Whether PHP developers need and will adopt these standards was one of the main topics discussed by Manuel Lemos and Arturs Sosins in episode 24 of the Lately in PHP podcast.

They also talk about some of the comments that Linus Torvalds recently made about the limitations of Github and recent PHP releases (bugfixes). You can listen to this latest episode using the in-page player or you can download the mp3 and listen locally. If you enjoy it, consider subscribing to their feed to get this and future episodes.

0 comments voice your opinion now!
latelyinphp podcast phpclasses standards adoption github


Till Klampaeckel's Blog:
Zend Framework CRUD
May 22, 2012 @ 10:07:20

In this new post to his blog Till Klampaeckel shares a Zend Framework "base" controller that makes it easier to do the usual CRUD (Create, Read, Update, Delete) operations in an application.

I think it took me (or us) a couple attempts to get this right - let me introduce you to Zf_Crud, a CRUD controller for the Zend Framework. [...] Zf_Crud aims to provide you with an interface for any table possible - think of it as a phpMyAdmin more tailored towards your data and (thanks to Twitter Bootstrap and the Easybib_Form_Decorator) prettier!

He shows how to install and use it (via PEAR or Composer) and an example of a controller extending it. You can find the code here on github, ready to clone and try out.

0 comments voice your opinion now!
zendframework crud controller base github zfcrud


Christopher Kunz's Blog:
Now serving SPDY
May 03, 2012 @ 08:14:08

Christopher Kunz is trying out the new web acceleration tool Google recently released (SPDY) when his site is served under HTTPS (warning, self-signed cert).

The reason this posting lands in the PHP category is that I want to have a playground testing PHP applications with mod_spdy. Currently (and probably also in the future), this machine uses mod_php instead of php_(f)cgi(d) - this is not recommended for interoperation with mod_spdy. To test the real-life impact of the possible thread safety issues, I am using my private pages as a sandbox.

He has two other PHP-based applications running with the accelerator - a Gallery3 install and a WordPress site. SPDY ("speedy") was released by Google and is similar to HTTP but with a focus on minimized latency and heightened web security.

0 comments voice your opinion now!
spdy google acceleration tool google https


Community News:
PHP-GTK Migrates to Git/Github
March 21, 2012 @ 09:40:31

As a part of the move to git/github that the PHP project recently made, a reminder was posted that the PHP-GTK project has also migrated.

PHP-GTK is a PHP extension that enables you to write client-side cross-platform GUI applications. This is the first such extension of this kind and one of the goals behind it was to prove that PHP is a capable general-purpose scripting language that is suited for more than just Web applications.

The full source can be found and forked/cloned over on github and is just waiting for you to contribute!

0 comments voice your opinion now!
phpgtk gtk migrate git github


PEAR Blog:
What would you do with 5 million lines of code?
January 24, 2012 @ 12:18:07

On the PEAR blog today there's an update about the migration over to github that 5 million lines of code has already made:

Since October 2011, 5 million lines of the PEAR codebase has shifted to github. Hand in hand with this shift has been the tireless work of Daniel C - someone who brazenly said "I will fix the failing packages!" in the tail end of last year.

As a result of his efforts a list has been created of known good packages to use with PHP 5.4. Other results include:

  • All test infrastructure upgrading to PHP 5.4 release candidates
  • All database driven test suites executing properly, catching a variety of simple bugs
  • Hitting a point of "near zero" patches to be applied to unmaintained packages
  • Increasingly, the PEAR QA team is delivering PHP 5.3+ friendly forks of existing packages
0 comments voice your opinion now!
pear migrate github package library update


PEAR Blog:
Welcome to new contributors
December 19, 2011 @ 10:06:55

On the PEAR Group blog there's a new post welcoming all new contributors to the project and pointing out that the PEAR account on Github has officially passed the 200 repository mark in the move from SVN to Git.

PEAR is about providing the PHP community with reusable, effective components - this has been our mission since day 1. If there is anything we can do to make that goal happen, to assist you as an individual or company, I would strongly encourage you to let us know - we're here to help.

They mention the work of two individuals that have done good work on a specific package, meldra and Gemorroj - perfect examples of how the move to Github has made it simpler to implement changes that have been "waiting in the wings" on the XML_Feed_Parser and Image_Barcode2 packages.

If you've had changes you've wanted to make to a PEAR package in the past but haven't ever gotten them submitted, there's not a better time than now.

0 comments voice your opinion now!
contribution pear package github svn


PHPBuilder.com:
Talking to GitHub with PHP
December 01, 2011 @ 11:28:40

PHPBuilder.com has a new tutorial posted about interfacing with GitHub in PHP, using their API to hook into and pull down information about users and repositories.

The Git-based project hosting service GitHub is certainly the belle of today's technology ball, having attracted more than 1 million registered users and amassed more than 2 million hosted projects in less than three years. [...] GitHub High Scores and GitHub Badges are two examples of third-party services created using the GitHub API, which is capable of carrying out any task you might wish to perform via GitHub.com. With it you can create, edit and search repositories, learn more about fellow GitHub users, and manage repository issues.

Jason shows how to use the php-github-api library to connect to the API, search repository information, get user details, finding their repositories and accessing restricted resources (things only available for the authenticated user like updating your account or working with your own repositories).

0 comments voice your opinion now!
github api library phpgithubapi tutorial repository user


PEAR Blog:
PEAR Development on Github
November 07, 2011 @ 12:36:57

On the PEAR blog today it's been pointed out that many PEAR packages are moving to github as their standard place for development and repositories under the pear and pear2 accounts are available for anyone wanting to make the move.

While the existing PEAR packages will continue to use the pear.php.net distribution and bug tracking capabilities; it's never been easier to contribute to a PEAR package - simply fork; add your changes and send us a pull request. If your preferred packages aren't yet on github, please feel free to drop us a line on the pear-dev mailing list.

Here's more about the process to get the repository set up and how to migrate your package's current code from SVN over to github. The transition's pretty painless and can make the social development and improvement of your package a lot simpler.

0 comments voice your opinion now!
pear development github svn migrate pear2 development


Symfony Blog:
All symfony 1.x versions available on Github
October 26, 2011 @ 09:15:15

Fabien Potencier has made an announcement on the Symfony Blog today about all the availability of previous Symfony versions on github.

symfony1 is well and alive and many developers are now using it for projects hosted on Git. But as the official symfony 1 repository is hosted on Subversion, it's not always easy to get things versioned easily. As of today, this becomes much more easier. If you are using Git and symfony1, you can now use the official symfony1 Git clone.

There are branches for each of the major 1.x releases as well as tags for some of the minor releases. You can, of course, still access the latest packages directly via the symfony website.

0 comments voice your opinion now!
symfony version1 github clone svn copy


Ken Guest's Blog:
A new Openstreetmap API framework for PHP
October 24, 2011 @ 08:16:29

Ken Guest has a new post today talking about a PEAR package he's been developing, Services_Openstreetmap, to interact with the OpenStreetMap service to make it simpler to work with OSM data, adding new locations and working with users.

So over the last while, I've been working on a PHP package imaginatively named Services_Openstreetmap, for interacting with the openstreetmap API. I initially needed it so I could search for certain POIs and tabulate the results; it's now also capable of adding data to the openstreetmap database - nodes and other elements can be created, updated and so on. It will even access the details of the user that is being used to modify that data, which is one difference between it and the other single purpose OSM frameworks.

He's submitted it to PEAR for official inclusion. Until then, you can download the package from github. The OpenStreetMap project is a community-driven mapping tool that allows users to provide new map information or make updates in an effort to keep things more up to date.

0 comments voice your opinion now!
servicesopenstream pear package openstreetmap api github


Web Species Blog:
We built a cloud platform for PHP. Wait...what?
October 04, 2011 @ 10:33:04

As mentioned on the Web Species blog in this recent post, they've developed a "Windows Azure done right" platform (Azure++, name pending) that makes deploying to an Azure platform a much simpler process, pulling from something like a remote code repository (maybe github) and deploying in less than five seconds.

Azure is just impossible to use for PHP today. This is a fact. Doesn't matter which way you look at it, it just su.. isn't particularly good. The amount of steps you need to make, the knowledge you need to have and the fact that you can only deploy from Windows host are some of the things which make it a very painful experience. I had enough of this pain.

The service helps you make quick and easy Azure deployments. Features include multiple datacenter support, your choice of PHP versions (5.2 or 5.3) and the ability to deploy in "production" or "development" environments. You can find out more about the service here.

0 comments voice your opinion now!
cloud platform windowsazure azure deployment github service


PHPBuilder.com:
Transfer Data via Multiple Protocols with Libcurl
September 19, 2011 @ 12:03:23

On PHPBuilder.com today there's a new tutorial showing how to use libcurl to communicate with multiple protocols like FTP, HTTP, HTTPS, SMTP and STMPS. The libcurl library that can be compiled in or installed as a shared module in your PHP install to provide enhanced networking abilities.

As I wrote in my PHP multithreading with cURL article, the libcurl is a free and easy-to-use client-side URL transfer library, supporting DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP. PHP supports the libcurl library which allows you to connect and communicate to many different types of servers with many different types of protocols.

The tutorial focuses on two different types of connections (well, four really) - FTP/FTPS and HTTP/HTTPS - and how to transfer data across each. Some code is included to create a (procedural) tool to send an uploaded file to a remote site.

0 comments voice your opinion now!
tutorial libcurl ftp ftps http https networking multiple protocol


Lars Tesmer's Blog:
PHPUnit Better Syntax for Expecting Exceptions
September 05, 2011 @ 10:15:25

Lars Tesmer has an alternative to testing xceptions in PHPUnit that's a bit more flexible than just a docblock comment definition.

My main issues with this way of expecting exceptions are: The expectation is pretty far away from the location you'd normally expect to find an assertion. Usually, an assertion can be found at the bottom of each test function, whereas with the current method PHPUnit uses, it's at the top of the test-function. Additionally, it's an annotation "buried" in a comment which is easy to miss. Finally, PHPUnit will watch for an exception thrown by any of the code inside the test-function.

To replace it, he's created an "assertThrowsException" test that takes in the exception type to test for and the code to test for the exception (via a closure). He has his proof-of-concept posted on github if you'd like to give it a try. This also allows you to test for more than one exception in the same test, possibly as a result of slightly different conditions.

0 comments voice your opinion now!
phpunit unittest exception custom github


CodeIgniter.com:
Amazing Progress Report & Addition of IRC to CodeIgniter.com
September 02, 2011 @ 08:48:17

On CodeIgniter.com there's a new post updating the community on more of the current happenings surrounding the project including the status of their move to github and another source for developers to find the CI help they need.

In less than two weeks since the announcement was made at CICON that CodeIgniter was moving to GitHub, we've seen some incredible results from the change. Already CodeIgniter is the 10th most watched PHP project at GitHub (currently 758), with 42 open pull requests, 53 merged pull requests, 170 forks, and 41 individual contributors. Incredible!

[...] We also noticed what seemed to be a spike in activity on the #CodeIgniter Freenode IRC channel, so we've decided to make it more prominent to encourage its continued use. You'll now notice an IRC tab in the main navigation, letting you access the #CodeIgniter IRC channel right here at CodeIgniter.com.

If you want more details on why they made the switch over to git, check out this blog entry from the EllisLab site for an explanation from Derek Jones

0 comments voice your opinion now!
progress report codeigniter framework irc support github


CodeIgniter Blog:
GitHub, Reactor, and v2.0.3
August 22, 2011 @ 10:17:14

The CodeIgniter blog has a a new update today with some changes that are happening in the project and it's community.

If you are following CICON 2011 today, then you no doubt already heard from the Reactor team: CodeIgniter is now using Git for source control, and has moved its home to GitHub. Also, CodeIgniter "Core" is not longer being publicly maintained. CodeIgniter "Reactor" is CodeIgniter, so we are dropping that suffix. In short: CodeIgniter is the framework, and Reactor is our community driven development program.

As a part of the move they also released a new version of the formerly-Reactor codebase. The EllisLab blog has more information about the git switch including their reasons and some of the immediate effects they see from the change.

0 comments voice your opinion now!
codeigniter github reactor framework community git


Sasa Stamenkovic's Blog:
Create Kick-ass Website in no Time with Silex
July 27, 2011 @ 12:02:38

Sasa Stamenkovic has a quick post to his blog talking about a switch he made away from the Zend Framework over to Silex for a simple portfolio site.

Last week I needed a small website. I wanted it to be quick and dirty. Well, blazing fast and not so dirty. I heard best about Silex, so I gave it a shot. It was more then good experience. It worked like a charm, it was fun to use and site was completed in one day.

He includes two code snippets - one is the basic "hello world" example that most Silex tutorials reference and the other is more specific to his site. It defines the routes and the (Twig) templates they relate to. A few submodules helped him get this and other functionality working (like the Forms component and Swiftmailer for a contact form). You can find the full source for the site over on github.

0 comments voice your opinion now!
silex website portfolio example github


Derick Rethans' Blog:
Xdebug on github
June 23, 2011 @ 08:08:12

As Derick Rethans notes in his latest post, the Xdebug project is now on github and can be found under his account.

I've just opened my Xdebug repository on github. Importing my old SVN repository was a bit of a task. With the help of Ole Marius Smestad I managed to cook up a bash script to import and fix-up the repository. In the meanwhile I've learned more about git than I ever wanted to know, but still not enough.

Besides the source for Xdebug itself, you'll also notice repositories for the Xdebug website, the GtkDBGp client and the DBGp protocol definition.

0 comments voice your opinion now!
xdebug github move svn git website gtkdbgp dbgp


DZone.com:
PHP UML generation from a live object graph
May 11, 2011 @ 10:19:47

On the PHP On Windows section of the DZone.com site Giorgio Sironi has a new post looking at the process (and script he's created) to create a UML diagram with PHP from a project's current class structure.

Sometimes you need to share a design with your colleagues. You can walk him through the code, and explain which classes and interfaces you created, but there are higher abstracted models that you can show to him to make him grasp the picture quickly. One of these tools is UML, and in particular class diagrams.

His script creates a UML diagram from a PHP object graph, a sort of "reverse engineering" of the current object's hierarchy and relationships. It creates definitions that Yuml.me can use to generate the image and does some handy things like following the path down N levels until it hits "the bottom" and the ability to ignore certain namespaces (like "Zend_" or "Doctrine_") to help limit things down to just your application. He includes a sample set of tests to show it in action as well as a resulting UML diagram generated from the PHPUnit structure.

0 comments voice your opinion now!
uml generate github object live graph


Matthew Weier O'Phinney's Blog:
Backported ZF2 Autoloaders
May 11, 2011 @ 09:33:20

In a new post Matthew Weier O'Phinney talks about autoloaders in the Zend Framework and the changes they've made from ZF1 to ZF2. He also includes a link to a package you can try out if you'd like to backport the ZF2 autoloaders to your ZF1 application.

Interestingly, I've had quite some number of folks ask if they can use the new autoloaders in their Zend Framework 1 development. The short answer is "yes," assuming you're running PHP 5.3 already. If not, however, until today, the answer has been "no." I've recently backported the ZF2 autoloaders to PHP 5.2, and posted them on GitHub [tarball here].

His autoloader backport scripts include a class map generation tool, a PSR-0 compliant autoloader, a class map autoloader and an autoloader factory for loading multple strategies at once. He also includes a sample of how to use it with a bit of the output it might give you for your project.

0 comments voice your opinion now!
zendframework autoloader backport github


Query7.com:
Kohana 3.1 Wiki Tutorial
May 09, 2011 @ 12:26:13

On the Query7.com blog today Logan shows you how to create a simple wiki with the help of the Kohana framework, a HMVC PHP5 framework that includes several tools (including UTF-8 suport and a cascading filesystem) to make a developer's life easier.

In this tutorial you will learn how to create a simple wiki using the PHP framework Kohana version 3.1. Several years ago Siddharta Govindaraj created a screencast demonstrating how to create a wiki using Django, this is essentially the Kohana version of that. It covers using Kohana's Routing, ORM and MVC systems. Full source code of the application is available on github.

You'll need to be at least a bit familiar with the framework to follow along, but he takes it step-by-step to be sure things are easy to follow. He shows the configuration changes you'll need to make to the boostrap and the database configuration. He shows you the creation of a model and the SQL to match as well as the routing change for the new addition. Views are next on the list, then the controller - all with full code included.

0 comments voice your opinion now!
kohana framework wiki tutorial github


Victor Farazdagi's Blog:
New Project Phrozn - static site generator in PHP
April 15, 2011 @ 11:02:03

On his blog today Victor Farazdagi introduces a new tool he's developed to help make the creation of static sites even easier - Phrozn, a static site generator that takes content and wraps it in a site's template and structure and outputs it for easy integration.

Given the scale of how client-side technologies (such as JavaScript) evolved, most of dynamic functionality can be implemented using client-side scripts + remote web-services (e.g. Disqus for comments). More than often we a going down that road even on our completely dynamic sites - it makes things more simple.

He gives the example of being able to write the content in VIM and run a single application - Phrozn - and generate the new page to add to the site. He sees it as a good alternative to something like WordPress where most people only use 1% of the functionality it offers. You can find out more about the project by looking into its documentation or you can just dive into the code by grabbing it from github. As a side note, several other tools, like Jekyll are "blog aware" and can be used similarly.

0 comments voice your opinion now!
static site generator phrozn blog project github documentation


DZone.com:
Solarium PHP Solr client
April 07, 2011 @ 10:09:31

New on DZone.com today there's an article from Bas De Nooijer talking about a new tool he's created to allow PHP to work directly with Solr (the popular searching platform from the Apache project) as a result of research he'd done from a previous article. The result is < href="https://github.com/basdenooijer/solarium">Solarium, an open sourced PHP client for Solr.

I've worked on a lot of Solr implementations in PHP applications. There are multiple solutions: manual HTTP requests, the solr-php-client library, custom implementations etcetera. However they all have one issue in common: they only handle the communication with Solr, many other important parts like query building are not covered at all. And the parts that are covered are usually over-simplified. [...] At first I developed it as a library for my own projects, but I've decided to turn it into an opensource project. The project is called 'Solarium' and can be found on github: https://github.com/basdenooijer/solarium

You can find complete details about the project over on its wiki including basics concepts of query flow and using the ping/select/update query methods to access your Solr server.

0 comments voice your opinion now!
solarium solr client github opensource search


Kore Nordmann's Blog:
Generating XML schemas from XML data
March 29, 2011 @ 12:16:05

In a new post to his blog Kore Nordmann talks about a tool he's developed that will "learn" XML schemas based on a document it's given. The tool, the XML-schema-learner, makes it as simple as a one-line command to generate the DTD file and transform it into a schema.

You can get the "XML schema learner" from my Github account: https://github.com/kore/XML-Schema-learner. Just clone it, and you can run the tests, or use the learn command to infer XML schemas from XML data.

He includes an example XML definition and the resulting DTD that the tool generates from it, defining each of the elements and attributes each can have. The tool can then take this DTD file and generate an XSD file, creating complex and simple types that match the original data.

1 comment voice your opinion now!
generate xml data xmlschemalearner github dtd xsd


Sebastian Bergmann's Blog:
Visualization of PHPUnit Development
March 16, 2011 @ 09:02:51

On his blog Sebastian Bergmann has a recent post about how he's visualizing PHPUnit's development and pushing that information into a video based on the history of the project.

According to svn.php.net, I committed the first PHPUnit code to cvs.php.net on November 27th 2001 and the first release, PHPUnit 0.1, was made on December 1st 2001. [...] On December 26th 2009, I moved the development of PHPUnit from svn.phpunit.de to GitHub. I imported the history from Subversion into Git. As you can see in the video, moving to GitHub lead to an increased number of contributions to PHPUnit.

You can watch the video either embedded in his post or directly from Vimeo. It's interesting to watch the progress of the application and see the contributions make to each of the parts. The whole video, spanning the entire commit history of the tool, lasts about 25 minutes.

0 comments voice your opinion now!
visualize phpunit development cvs svn github git video history


Lorna Mitchell's Blog:
Github to Jira Bug Migration Script
March 09, 2011 @ 10:18:18

As part of a migration the Joind.in project made to track their bugs on a hosted Jira instance instead of the Issue Tracker on Github, Lorna Mitchell, one of the leads on the project has written up an import script she used to move current issues. The code is in her latest post.

I migrated only our open issues, and comments (and the comments ended up a bit weirdly formatted on the other end but this was the best they could do). It was nothing pretty or clever but in case it's useful to someone else.

The script connects to the github API and pulls down the information for the open issues including their titles, user and body of the issue. This is then used to make another connection for each to fetch their comments. The whole thing is dumped out to a CSV file that can be easily imported by the Jira team.

0 comments voice your opinion now!
github jira import issue list bug migrate csv api


php|architect:
More powerful Validation from Respect
March 09, 2011 @ 08:50:12

On the php|architect blog today John Mertic looks at a validation library that's been created to filter and handle user input for your application without too much effort on your part - Validation from a group called Respect.

It's simply called Validation, and it is a very simple and straightforward PHP 5.3 based validation library. The goal for them is to make validation easy and painless, using clever constructs like chaining and enabling developers to create reuseable components.

He shows a sample of how it all works by creating a validator that checks to be sure a given value is numeric. He also shows how you can chain the validation methods to create more complicated rules and even check for a set of value types (ex. numbers 1-10 or the string "NO"). You can find the code for Validate on their github repository.

0 comments voice your opinion now!
validation user input github respect tutorial


Alexey Zakhlestins' Blog:
GObject for PHP (new bindings project)
February 24, 2011 @ 08:25:23

In a new post Alexey Zakhlestins talks about a project he's been working on, a part of the split up with PHP-GTK out into separate projects. His part of the group is GObject with has now been moved over to github.

This new PHP extension is called "GObject for PHP", so, my main concern, obviously is building comfortable bridge between GObject objects and PHP's objects. It starts to work, but there's a lot of stuff to be done. Please join the project, if you are interested. We need more hands!

He describes some of the features already in the library - counterparts for parts of the current GObject world in PHP including GType, GSignal and GParamSpec. This is all on the master branch. In his "introspection" branch he's working on the introspection idea the GNOME community has been working towards too.

0 comments voice your opinion now!
phpgtk gobject binding github master introspection


Rafael Dohms' Blog:
Managing Test Users in Facebook
February 08, 2011 @ 10:03:57

In a recent post to his blog Rafael Dohms has shared a mini-application he's developed to work with his test users on Facebook when developing his applications - his Facebook Test User Manager.

Its possible to create up to 100 test users per app, creation allows you to choose whether the user already should have the application installed and which permissions you want them to have, using API calls. You can also remove users, list all of your app's test users and even create friend connections between them using the API. This really is a great resource, but using an API to get this information all the time is cumbersome and might take time away from your time to develop the application itself. This is where the Test User Manager comes in.

He explains some of his thoughts behind the development structure of the tool and includes some basic descriptions (and screenshots) of listing out the test users for an application, making a new user and creating/viewing the relationships between those users. As of the writing of his post, he's in version 0.9 which you can download from github. Obviously, you can also clone the repository and submit your own enhancements too if you'd like.

4 comments voice your opinion now!
facebook test user manager github tool


Cal Evans' Blog:
PHP Wrapper for Klout API
January 31, 2011 @ 10:51:23

In a new post to his blog today Cal Evans mentions a new API wrapper he's developed to work with the Klout website (a site showing your "clout" on twitter).

In a previous tweet about playing with Klout and Twitter I talked about a project I am working on that mines Klout for interesting people. (Well, interesting to me) The main body of code remains procedural because...well because it works and it's not something I'm going to share so why bother cleaning it up. However parts of it may be useful to me in other projects. So I abstracted the Klout API into a class and have posted it for anyone who wants to use it.

His Klout wrapper for PHP (a github project) is largely procedural but gives you a good idea of how to talk to their API. Cal mentions some other things he's wanting to do with the script, but notes that it's ready for use now without any other changes. You can find out more about Klout on their website.

0 comments voice your opinion now!
klout api wrapper twitter github


Henri Berguis' Blog:
Literate Programming With PHP
January 17, 2011 @ 12:13:04

In a new post to his blog Henri Berguis takes a look at something that seems to be popping up more and more these days - literate programming. He's created a simple tool that can help implement this in your development too called noweb (modeled after the noweb python project).

The literate programming paradigm, as conceived by Knuth, represents a move away from writing programs in the manner and order imposed by the computer, and instead enables programmers to develop programs in the order demanded by the logic and flow of their thoughts.

Literate programming allows the developer to set up one file, one with more natural language, and have the tool split it up into two other files - one for execution and the other used as documentation. He steps you through how the noweb tool works to pull in the file, parsing out the information via regular expressions (based on the noweb-style) and pushing the two versions of the file back out on the other side. The documentation is set up to end up as HTML and the code will be the literal code pulled from the noweb document itself.

0 comments voice your opinion now!
literate programming noweb github tutorial nowebstyle


Lorna Mitchell's Blog:
Gthub API Issues List
January 11, 2011 @ 09:56:26

Lorna Mitchell has a handy tip for those PHPers out there that use Github and want to pull off the issues from their project's Issues List quickly and easily - use their API (super simple).

I looked around for some export functionality for github but I got a lot of posts complaining it wasn't there. Since I hate applications that take your data and refuse to let you remove it, I was disappointed by this news but further inspection showed that although there might be no "export from github" button, there's an API that more than has it covered.

She gives an example of how to fetch only the currently open issues (the important ones) and pull then back through the API as a JSON message. Her little code snippet uses file_get_contents, but this can obviously be adopted to whatever use you might want. You can find out more about the things you can do with the Github API on the develop.github.com site including features to work with organizations, users, pull requests and gists.

0 comments voice your opinion now!
github api issues json tutorial filegetcontents


Matthew Weier O'Phinney's Blog:
Making Zend Server Available Via SSL Only
January 07, 2011 @ 09:46:58

Matthew Weier O'Phinney has a new post to his blog today about making your Zend Server instance a bit more secure by taking the admin GUI and forcing it to be HTTPS-only (instead of the default HTTP & HTTPS).

In light of the recent remote PHP exploit, I decided to update a couple servers I manage to ensure they weren't vulnerable. In each case, I had been using hand-compiled PHP builds, but decided that I'm simply too busy lately to be trying to maintain updates -- so I decided to install Zend Server. [...] One thing I've never been happy about, however, is that by default Zend Server exposes its administration GUI via both HTTP and HTTPS. Considering that the password gives you access to a lot of sensitive configuration, I want it to be encrypted.

He points out that, since the Zend Server interface runs on a lighttpd instance, it's easy to modify a few config files to change the setting. Adding a few lines to limit the socket it can connect on, the IP address to filter to and a URL filter on anything starting with "/ZendServer/" takes away the HTTP access.

0 comments voice your opinion now!
zendserver http https restrict tutorial


Stefan Koopmanschap's Blog:
Introducing phpOpenNOS
January 03, 2011 @ 11:42:07

Stefan Koopmanschap has a new post to his blog today talking about the release of a library he's created to help interface with the NOS public broadcasting group's newly opended API.

NOS is a dutch public broadcasting organization focussing mostly on news. Some months ago, NOS announced opening up their data by offering an API which would give access to (some of) their data. Today, the API is opened up to the public and developers who requested API keys will start receiving them. To make it easier for developers to use the API, I've developed a PHP5.3 library. [...] Basically, the phpOpenNOS library is nothing more than a layer between the API and your application. It is there so you don't have to develop the code to make the requests to the server.

He includes some sample code of how to use the library to make a request to the API (in this case the "getLatestArticles" method) and return the results as an array. He's put the interface up on github so it can be forked and modified as you might need. Along with articles, you can also fetch the latest video and audio information from the service.

0 comments voice your opinion now!
phpopennos nos api webservice rest interface github


Mike Lively's Blog:
Introducing Phake Mocking Framework
December 29, 2010 @ 08:40:27

Mike Lively has a new post to his blog today looking at a mocking framework he's developed to work hand in hand with PHPUnit to make mocking easier and more robust.

I have used PHPUnit heavily now for the last 4 years. As anyone that is heavily involved in writing Unit Tests knows, test doubles (commonly referred to as mock objects) are a necessary part of your toolbox. The mocking options that we used to have for PHP unit testing have traditionally been fairly limited and most all of them in some form or another were ports of JMock. The way PHP operates as well as some decisions made to more closely emulate how JMock does things lead to functionality in the existing mock library for PHPUnit that for some are a hassle.

To help eliminate this hassle, he create the Phake mocking framework - a tool that comes at mocking a different way than the normal PHPUnit procedures. He includes some sample code for a class to test, a simple stub for getting a value and how to use it in a basic test. By calling a "Phake::mock()" on the class to make an object, you can call the method and run a "verify()" to ensure that the results are correct. He talks about some other options that the mocking allows too like calling a "no interaction" method on a mock and argument capturing.

0 comments voice your opinion now!
mock framework unittest phake github phpunit


Francesco Montefoschi's Blog:
PHPADD abandoned docblocks detector
December 14, 2010 @ 13:34:34

Francesco Montefoschi has a recent post to his blog looking at a tool you could use to ensure the quality of your code comments - PHPADD, the abandoned docblock detector.

PHPADD can analyze a directory with PHP source code and detect (for each file, for each class, for each method) if the parameters in the function declaration are compatible with the parameters found in the docblock, reporting the outdated ones. This can be easily integrated in your build script and the result can be published in build result. Using Hudson, you just need HTML Publisher plugin.

The include the (super simple) installation instructions for pulling it in via the PEAR installer and running it on your codebase. There's even some sample output included. If you're interested in the source, check out (or fork) the latest code on github.

0 comments voice your opinion now!
phpadd abandoned docblock comment detector github


NETTUTS.com:
Creating a Twitter OAuth Application
December 02, 2010 @ 08:49:29

In a recent post to NETTUTS.com, there's a new tutorial that will walk you through the creation of a basic Twitter client that uses their OAuth system for authentication. All of the code is provided so you can follow along.

OAuth can be a tricky concept to wrap your head around at first, but with the Twitter API now requiring its use, it is something you need to understand before creating a Twitter application. This tutorial will introduce you to OAuth, and walk you through the process of creating a basic application.

They show you how to register your application, where to grab the OAuth library from and the code you'll need to make the connection and send tweets. There's also a few other code snippets showing profile image downloading, updating and cached version generation. You can see a demo of the application in action here.

0 comments voice your opinion now!
twitter tutorial oauth demo tmhoauth github


Paul Jones' Blog:
PHP Framework Benchmarks on Github
October 20, 2010 @ 11:10:44

For those that have been interested in the benchmarking that Paul Jones has done in the past on benchmarking the various frameworks but didn't want to mess with the Google Code repository for it, you can now grab it easier since he's moved it to Github. This also helps to make any collaboration simpler.

As part of "trying new things," I have moved my web frameworks benchmark project over to Git on Github and away from Subversion on Google Code. This project is often imitated and occasionally adopted. For all you framework fans who want to compare their preferred systems to the ones officially included in the project, you can now fork the repo and add your favorite. Who knows, some may make their way back onto the officially-included list.

He's also made a slight modification to the project in the process of the move - the ability to use one of three different benchmarking tools (or all three, really) for your testing - Apache's ab, Siege and HttpLoad. Check out this updated version here on Paul's Github account.

0 comments voice your opinion now!
framework benchmark github googlecode git


Ilia Alshanetsky's Blog:
PHP Excel Extension
August 02, 2010 @ 13:12:02

In a new post to his blog today Ilia Alshanetsky talks about a PHP Excel extension to help with some output generation problems he was seeing (based on the LibXL libraries).

As we are doing more & more Excel output generation, this became a bigger and bigger problem. At first we've tried solving the problem via a newer PHP based Excel library, PHPExcel. Unfortunately, it is massive beast, that is not only slower than the old Spreadsheet Excel Writer/Reader, but memory hog too. [...] So, I turned to Google and found LibXL, which is a small, C++ (with C, C++ interfaces) library that promised really fast Excel reading & writing.

His extension gives you an object-oriented interface to the library that can generate Excel files with a lot less resources than some of the other PHP Excel extensions out there. He includes a sample benchmarking script he used to generate these stats.

0 comments voice your opinion now!
excel extension libxl phpexcel github


Project:
MongoSession - A PHP MongoDB Session Handler
July 08, 2010 @ 12:25:37

Corey Ballou has posted a MongoDB-based session handler to his site with a new update back on July 1st.

MongoSession is a PHP implementation of a MongoDB session wrapper. This class was built as a drop-in for easily switching to handling sessions using Mongo. It's a great replacement to memcache(d) for VPS servers where you risk memory being reshuffled in the pool and taking performance hits.

You can grab the latest version of the source from the github repository for the project or just copy and paste the source directly from this page on his site. A usage example is also included.

0 comments voice your opinion now!
mongodb session handler project wrapper github


Github.com:
Lisphp - Lisp in PHP
July 07, 2010 @ 10:55:55

From the "just because you can" category today Lunant has created a port of the Lisp language via an interpreter in PHP - Lisphp.

Lisphp is a Lisp dialect written in PHP. It was created to be embedded in web services or to be distributed within web applications. For that reason, it implements sandbox environment for security issues and multiple environment instances.

You can grab the latest code from the github page for the project as well as check out some of the tutorials and details about using the interpreter features like use/from, custom functions and custom macros.

0 comments voice your opinion now!
lisp interpreter dialect github


PHP Web Services:
How to configure https for Apache2.2 and consume PHP web services over https
May 24, 2010 @ 08:39:49

New from the PHP Web Services blog today there's a post showing you how to set up Apache 2.2 for HTTPS connections to consume other web services.

The tutorial gives you a step-by-step process to follow with commands and configuration changes every step of the way:

  • Create a certificate
  • Generate a key
  • Sign the key with the certificate
  • Copy the keys to the right directory
  • Make configuration changes for the SSL connections
  • Connect to the remote HTTPS web service

If you're using PHP, you can also use the OpenSSL and SOAP clients with the SSL libraries to make requests to secure remote resources.

0 comments voice your opinion now!
https apache configuration ssl tutorial


Sebastian Bergmann's Blog:
Using PHPUnit from a Git Checkout
April 15, 2010 @ 10:58:46

On his blog today Sebastian Bergmann shows how to use PHPUnit from a git checkout and run its own suite of tests easily.

Users of PHPUnit frequently ask me questions such as "How do I use PHPUnit from a Git checkout?" or "How do I run PHPUnit's own test suite?" This article provides the answers to these questions.

The git checkout is as easy as cloning the latest version (at the time of this post, it's 3.5). If you want a different version, you can checkout that branch with one or two more commands. The checkout comes with the test runner PHP script that is used when the "phpunit" command is run based on the "phpunit.xml.dist" file included in the checkout.

0 comments voice your opinion now!
git checkout phpunit unittest github


Tobias Schlitt's Blog:
PDV -> VIP, now on github!
February 16, 2010 @ 09:17:02

Tobias Schlitt has a quick post to his blog about the release of the phpDocumentor for VIM project he's been working on over to github.

phpDocumentor for VIM (PDV) is a project which resulted from my efforts to create a comfortable programming environment for PHP in the VIM editor. Since the server which hosted the SVN repository is to be switched off the next days, I finally moved development over to github. In addition to that, I seized the chance to rename the project itself to VIP (VIM integration for PHP).

There's a few other goodies in the repository besides just the VIP tool. You can grab some (or all) of the code by following the instructions given on the github page.

0 comments voice your opinion now!
pdv vip phpdocumentor vim editor github


Community News:
XHP Released by Facebook (XML in PHP)
February 10, 2010 @ 15:10:23

Even before they've release the source for their much hyped HipHop PHP tool, Facebook has slipped another tool in under the radar and have already released it in github - XHP.

On the official announcement they describe what the tool is and what it can do for you:

XHP is a PHP extension which augments the syntax of the language to both make your front-end code easier to understand and help you avoid cross-site scripting attacks. XHP does this by making PHP understand XML document fragments, similar to what E4X does for ECMAScript (JavaScript). While PHP is typically used to write front-end code, by itself it isn't a very good language for generating HTML (as evidenced by the popularity of templating engines like Smarty). XHP is something between a programmatic UI library and a full templating system

Rasmus Lerdorf took the opportunity to play with this new tool and run some benchmarks on its performance in a more real situation than the form example Facebook gave:

The real question here is what is this runtime xml validation going to cost you. [...] Note that to build XHP you will need flex 2.5.35 which most distros won't have installed by default. Grab the flex tarball and ./configure && make install it. Then you are ready to go.

He created a simple class (a "singleton") and ran some benchmarks against it with Siege. I won't share the results of those benchmarks here, though - you'll need to visit Rasmus' site for those (but here's a hint, the future's not bright).

1 comment voice your opinion now!
xhp facebook release github rasmuslerdorf


Raphael Stolt's Blog:
Closing and reopening GitHub issues via PHPUnit tests
January 20, 2010 @ 11:16:18

Raphael Stolt has an interesting idea about PHPUnit plugin (GitHub_TicketListener) that allows you to close (or reopen) Github issues via PHPUnit tests.

Since PHPUnit 3.4.0 a new extension point for interacting with issue tracking systems [...]. The extension point has been introduced by an abstract PHPUnit_Extensions_TicketListener class, which allows developer to add tailor-made ticket listeners supporting their favoured TTS.

The "@ticket" notation that PHPUnit allows as an annotation is the key to linking together your unit tests with the new listener. Two methods, getTicketInfo and updateTicket, are used to have the listener make a cURL connection over to Github and send the request to a REST-like service on the remote side.

5 comments voice your opinion now!
phpunit test github close reopen ticket


Symfony Blog:
Symfony 2 Migration to Git
January 14, 2010 @ 09:54:30

On the Symfony project blog there's a recent post from <>Fabien Potencier about the popular framework's development and source moving to a new home - github.

As you might have noticed if you follow me on Twitter (which you should do as I make a lot of small announcements there), or if you monitor the Subversion activity closely, the Symfony 2 code is now hosted on Git. [...] So, from now on, all the development activity for Symfony 2 will take place on the new Git repository.

He briefly covers what git is and a resource (book) he used to help understand this recently popular version control system. If you don't want to learn a new version control system but still want to contribute back with the subversion knowledge you're already armed with, you can still use their svn mirror to get the latest releases.

0 comments voice your opinion now!
symfony migrate git svn mirror github


Sebastian Bergmann's Blog:
PHPUnit Development Moved to GitHub
December 28, 2009 @ 08:14:55

Sebastian Bergmann, developer of the PHPUnit unit testing software for PHP, has posted about a major move of the source code for the project over to github.

I was hearing more and more positive things about Git and GitHub from my peers. So I took the PHP_ObjectFreezer code base and migrated it to Git and hosted the repository and GitHub to experiment with both the tool and the platform. It was a step that I did not regret and all the projects that I started since then are hosted on GitHub: bytekit-cli, phpcpd, phpdcd, phploc, PHP_CodeCoverage, PHP_FileIterator, PHP_ObjectFreezer, Text_Template, PHP_TokenStream.

He explains some of his thinking behind the move and why he moved towards a distributed version control model rather than something like subversion. So, if you're looking for the latest sources for PHPUnit, you'll find them here. (He also includes the steps he took to import the code into github by making use of the svn2git tool).

0 comments voice your opinion now!
phpunit github sourcecode repository


Konstantin's Blog:
The Twitter OAuth PHP Class Gets Even Better
December 17, 2009 @ 12:53:26

In a recent blog post Konstantin take a look at some updates made to a Twitter OAuth library (TwitterOAuth) recently to make it even easier to use:

Just like everybody else, I never read the readme or other documentation files so I dug straight into the class code and examples. Soon after I realized that the new changes were not that bad, so instead of the usual 5 lines of code, I shortened it up to only one. I stopped worrying about parsing XML or JSON, converting them to objects, and I stopped typing in the full address for Twitter API calls. Abraham did all that for us.

It makes it simpler to use, but can break backwards compatibility, so watch out for that if you're using Abraham's library. If you're interested who's using the class, check out this page on his github wiki.

0 comments voice your opinion now!
twitter oauth class github


DotVoid.com:
Problem with downloading files with Internet Explorer over HTTPS
October 01, 2009 @ 09:48:28

On the DotVoid.com blog Danne shares a quick tip on forcing downloads over HTTPS to Internet Explorer (which, of course, has to be difficult about it).

The problem is that Internet Explorer does not handle file dowloads without caching over https very well. Or at all. According to knowledge articles on Microsofts website the problem occurs when having one or two of the http headers. [...] Previously I have have just omitted the http header "Pragma: nocache" for IE but it seems it does not always help.

So the fix is relatively simple - rely on the $_SERVER['HTTP_USER_AGENT'] value to tell if it's an IR browser or not. If it is, "Pragma: cache" works. If not, stick with "Pragma: no-cache".

0 comments voice your opinion now!
download file ie browser https tutorial


PHP.net:
Subversion Migration Complete
July 17, 2009 @ 07:53:07

The PHP project has been making a major change lately - an upgrade of their version control system of choice from CVS to Subversion. They started the move the other day and now, according to this new post on the PHP.net website, the process has been completed.

The migration from CVS to Subversion is complete. The web interface is at svn.php.net. You can read about it at php.net/svn.php, wiki.php.net/vcs/svnfaq. The URL to feed to your svn client is http://svn.php.net/repository. There is also a github mirror. Please use that instead of trying to do a full git clone from the svn repository. See the instructions at wiki.php.net/vcs/svnfaq#git.

The instructions contain complete information on how to get and compile this "bleeding edge" (and what libraries you might need to install to get it up and working).

0 comments voice your opinion now!
github subversion migrate cvs


DevShed:
Managing Secure Protocol in Apache-Based Websites using PHP
May 29, 2009 @ 07:55:25

On DevShed today there's a new tutorial that walks you through tips on two things that can help you keep your https site running smoothly and keep in favor with the major search engines - duplicate content and correct 301 redirects.

When trying to maintain a secure protocol on an Apache-based website, you can expect to deal with certain issues, especially if you're also trying to rank well in the search engines. [...] This article provides tips and solutions to help any web developer effectively manage the two most difficult problems in maintaining the secure protocol side of any website. These are the: Duplicate content and 301 redirection from the non-https to http version.

They recommend two things to handle the duplicate content issues: placing a meta tag on the https pages to keep them from being indexed (keeping the search engines from seeing the http and htttps as two different resources, thus two different sites to index) and using a canonical value in a link tag.

As far as the 301 redirects go, they include some PHP code that, if placed at the top of your pages, can detect if the protocol is https or not. If its not, it uses header to perform the 301 redirect.

0 comments voice your opinion now!
tutorial content duplicate redirect https


SitePoint PHP Blog:
Introducing Bucket A Minimal Dependency Injection Container for PHP
May 11, 2009 @ 07:58:04

On the SitePoint PHP blog Troels Knak-Nielsen has posted about a new tool he's whipped up to handle dependency injections - Bucket.

I got fed up with the lack of a decent DI-container for PHP, so today I created Bucket. To be clear, what I think is wrong with the currently available containers (at least that I'm aware of) is that they either are unstable, abandoned, require a lot of up-front configuration in external XML-files, or are tightly integrated into some full-stack framework. I had my hopes up for Phemto for a while, but it seems that progress has stalled.

He includes a few bits of examples code in the post showing how to use type hinting, the factory method, callbacks and its support for child scopes. If you'd like to check it out for yourself, you can clone it from github.

0 comments voice your opinion now!
dependency injection bucket container github


Christian Stocker's Blog:
Planet PHP Sources now on GitHub
May 04, 2009 @ 09:35:32

If you're a fan of Planet-PHP (our fellow PHP news source) and have wanted to see how things run behind the scenes, you might want to check out this bit of information from Christian Stocker on where the source has ended up.

After Lukas asked me for the current Planet sources, I realized that I didn't really maintain the sources in the mentioned SVN repository anymore (for various reasons). So I decided to finally move them to GitHub. It makes much more sense there, since the most decent thing to do if you want to set up your own planet is to fork it and git (plus GitHub) makes that painlessly easy. Nevertheless I'm of course still interested in patches.

He warns that the code is a bit on the old side and that the framework its based on has officially been deprecated. If you're still interested, though, you can find (and clone) the application from its GitHub page.

2 comments voice your opinion now!
github planetphp planet subversion svn source


Raphael Stolt's Blog:
Creating and using Phing ad hoc tasks
April 20, 2009 @ 08:49:38

Raphael Stolt has another post dealing with the Phing (PHP-based) build tool. This time he talks about making ad hoc tasks inside of your build scripts.

Sometimes there are build scenarios where you'll badly need a functionality, like adding a MD5 checksum file to a given project, that isn't provided neither by the available Phing core nor the optional tasks. [...] The following post will try to outline how to define and use these inline tasks, by sketching an ad hoc task that enables the build orchestra to clone Git repositories from GitHub during a hypothetical workbench setup.

He creates an example task - running a "clone" command via github - complete with the code for both sides of the feature; the PHP code to create the task and how to use it in your build file.

0 comments voice your opinion now!
tool build example clone github task adhoc phing create


Blue Parabola Blog:
On Writing CDC
March 27, 2009 @ 10:24:50

On the Blue Parabola blog Matthew Turland has written up a post about working with the CDC, the Ceres Document Checker - a project he's developed to check documents based on the Ceres document format.

If you've written or done editing for php|architect before, you're probably familiar with the custom markup format they use called Ceres, which looks a bit like Markdown. Both articles and books use it, though each has slightly different formatting requirements. Some of these requirements can be tedious to check for and easy to miss. As much as I've been working with documents in the format, I decided to write a tool to help me out.

He outlines the requirements he wanted to follow including that it could be run from the command line, that it could detect code blocks, it could perform lint checks on the code samples and it could give a rough word count excluding code. He also includes his three methods for processing - finding a file and checking it, recursing through a directory and finding files matching a regular expression.

Files are pulled in and processed line-by-line until a code block is reached. This is processed via a regular expression and the script continues on. If you're interested in the code, you can check out the latest version from the project's github page. There's also a TextMate bundle (written by Davey Shafik) for those users of the TextMate editor.

0 comments voice your opinion now!
ceres doucment checker project github process


GitHub Support Forums:
PEAR channel (like github gems, but for PHP)
January 01, 2009 @ 21:40:13

On the GitHub Support forums Kastner has proposed an idea - making something similar to gethub gems but for PHP:

Just like ruby/gems, PHP has a packaging/distribution system called PEAR. I think that running a pear channel would help the PHP community with things like GPL extensions, as well as increasing participation in the community. Thoughts?

There's already thirteen comments on the post, all supportive of the idea including interest from the GitHub folks themselves.

0 comments voice your opinion now!
pear channel github gems gpl extension package community


SitePoint PHP Blog:
Introducing php-tracer-weaver
December 09, 2008 @ 08:49:00

On the SitePoint PHP blog today Troels Knak-Nielsen has posted about a lesser known feature of the popular XDebug debugging tool - function traces.

In case you haven't heard of it before, it "allows you to log all function calls, including parameters and return values to a file", to quote the manual. After playing around with it for a while, I realised that this information could be parsed and used to determine parameter types and return types of functions.

To illustrate one use for the trace results, he create a simple script that parsed them and reinjected them back into a source file as docblock comments. Included in the post is an example of its usage and the resulting comments for a simple class. It can be downloaded from github.

0 comments voice your opinion now!
xdebug trace function tutorial github application parse docblock comment


Jeremy Johnstone's Blog:
PHP parser for OS X plist XML files
October 27, 2008 @ 09:35:56

Jeremy Johnstone has come up with a simple plist xml parser. The plist format is what iTunes (and some other application) uses for its library files.

Normally SimpleXML is enough to handle most XML parsing needs, but the plist XML format is just broken enough to make parsing it with SimpleXML virtually impossible. Since I hadn't played with XMLReader much, I thought it would be a good chance to give it a spin. For the anxious types, the code is available on github in my php_class_lib project, so dig right in.

His parser takes in the name of the file to fetch and a parser() method is called to do the actual work. The contents of the file are returned as an array (he includes a print_r() of that output too).

1 comment voice your opinion now!
osx parse xmlreader plist xml file tutorial github



Community Events





Don't see your event here?
Let us know!


release api series zendserver language interview introduction community developer bugfix library deployment symfony conference list framework podcast voicesoftheelephpant laravel tips

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework