<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Thu, 23 May 2013 18:26:32 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Smashing Magazine: Why Coding Style Matters]]></title>
      <guid>http://www.phpdeveloper.org/news/18661</guid>
      <link>http://www.phpdeveloper.org/news/18661</link>
      <description><![CDATA[<p>
On the Smashing Magazine site there's a new article talking about <a href="http://coding.smashingmagazine.com/2012/10/25/why-coding-style-matters/">coding style matters</a> with developing projects with multiple people (or even possible contributors in the future) involved.
</p>
<blockquote>
Coding style is how your code looks, plain and simple. And by "your," I actually mean you, the person who is reading this article. Coding style is extremely personal and everyone has their own preferred style. You can discover your own personal style by looking back over code that you've written when you didn't have a style guide to adhere to. Everyone has their own style because of the way they learned to code. 
</blockquote>
<p>
They talk about how everyone has their own personal "style" to their code and how, when working with a team, everyone needs to communicate and make sure their styles match. They also make a few recommendations for your code like leaving "clues" (comments) and making errors easier to spot. There's also a few links to tools that can help keep your code standardized including <a href="http://csslint.net/">CSS Lint</a> and the <a href="http://eclipseone.wordpress.com/2009/12/13/automatically-format-and-cleanup-code-every-time-you-save/">Eclipse code formatter</a>. PHP, of course, has its own - <a href="http://pear.php.net/package/PHP_CodeSniffer">PHP_CodeSniffer</a> with its own rules.
</p>]]></description>
      <pubDate>Fri, 26 Oct 2012 09:41:32 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Let's Talk: Efficient Communication for PHP and Android, Part 1]]></title>
      <guid>http://www.phpdeveloper.org/news/18010</guid>
      <link>http://www.phpdeveloper.org/news/18010</link>
      <description><![CDATA[<p>
On PHPMaster.com today, they've started a new series about integrating two popular technologies - PHP and the Android OS - in <a href="http://phpmaster.com/lets-talk-1/">this new tutorial</a> from <i>Matthew Turland</i>. He'll show both sides of the code needed to get your Android app talking to a PHP backend.
</p>
<blockquote>
This two-part article will guide you through the process of building an efficient PHP-based REST web service to be consumed by an Android-based application. Some of the concepts presented here are also applicable to other mobile platforms, such as iOS. I assume you already know the basics of PHP and Android development and that you have a suitable development environments set up for both. I'll focus mainly on showing you how to handle data serialization and compression in both environments.
</blockquote>
<p>
In this <a href="http://phpmaster.com/lets-talk-1/">first part</a>, he starts from the client side, creating the code (Java) that's needed to create the connection to the backend. He stets it up as a background task so its execution won't block the main app from working. He shows how to execute it, running an "on create" method and checking to ensure the network is available for the request.
</p>]]></description>
      <pubDate>Mon, 28 May 2012 16:20:09 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Court Ewing's Blog: Follow-up: How PHP is Broken and How It Can Be Fixed]]></title>
      <guid>http://www.phpdeveloper.org/news/17129</guid>
      <link>http://www.phpdeveloper.org/news/17129</link>
      <description><![CDATA[<p>
In a follow up to his <a href="http://phpdeveloper.org/news/16801">previous post</a> about how PHP is broken (and what can be done to fix it), <i>Court Ewing</i> has <a href="http://epixa.com/2011/11/follow-up-how-php-is-broken-and-how-it-can-be-fixed">this new post</a> with a few suggestions on how PHP development could be better, but admits that PHP itself is not broken.
</p>
<blockquote>
It is no secret that the PHP development process has never been a shining example of project organization or quality assurance. Until recently, some of the most important aspects of any project's development cycle were either entirely lacking or were ill-defined. Worse, there was little in the form of systemic quality assurance. Fortunately, the core devs did not ignore these issues, and they've been pushing really hard to improve on these areas over the past few years.
</blockquote>
<p>
He points out two things that he sees as things that could be improved in the overall process of developing the language - noting that failing automated tests are ineffective and that communication is a key factor in the trust developers have in PHP.
</p>
<blockquote>
The core PHP developers have long been a key component of [the amazing things the language can do], and none of progress that modern PHP applications have made would be possible without their ongoing efforts. As a result of those efforts, PHP is a stable, secure, and beautifully-practical language that is both easy for novices to wrap their heads around and experts to build the most-used web applications the world has ever seen.
</blockquote>]]></description>
      <pubDate>Tue, 15 Nov 2011 10:18:45 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Henri Bergius' Blog: DNode: Make PHP And Node.Js Talk To Each Other]]></title>
      <guid>http://www.phpdeveloper.org/news/17060</guid>
      <link>http://www.phpdeveloper.org/news/17060</link>
      <description><![CDATA[<p>
<i>Henri Bergius</i> has a new post to his blog today sharing details about a messaging protocol that can help PHP and Node.js play together nicely - <a href="http://substack.net/posts/85e1bd/DNode-Asynchronous-Remote-Method-Invocation-for-Node-js-and-the-Browser">DNode</a>.
</p>
<blockquote>
Both environments have their strong points. Node.js is very fast and flexible, but PHP has a lot more mature tools and libraries available. So in a lot of projects it is hard to choose between the two. But now you might not have to. <a href="http://substack.net/posts/85e1bd/DNode-Asynchronous-Remote-Method-Invocation-for-Node-js-and-the-Browser">DNode</a> is a remote method invocation protocol originally written for Node.js, as the name probably tells. But as <a href="https://github.com/substack/dnode-protocol#readme">the protocol</a> itself is quite simple, just sending newline-terminated JSON packets over TCP connections, implementations have started popping up in other languages. You can talk DNode in <a href="https://github.com/substack/dnode-ruby">Ruby</a>, <a href="https://github.com/substack/dnode-perl">Perl</a>, <a href="https://github.com/jesusabdullah/dnode-python">Python</a>, <a href="https://github.com/aslakhellesoy/dnode-java">Java</a>, and now <a href="https://github.com/bergie/dnode-php">PHP</a>.
</blockquote>
<p>
He includes a <a href="http://bergie.iki.fi/blog/dnode-make_php_and_node-js_talk_to_each_other/">quick example</a> of both sides of the messaging - a simple server on the Node.js side that looks for a DNode request and using the <a href="https://github.com/bergie/dnode-php">dnode PHP client</a> to connect to it (and return the input number multiplied by 100). He also includes a method that allows for bidirectional communication with a service that converts from Celsius to Fahrenheit.
</p>]]></description>
      <pubDate>Mon, 31 Oct 2011 09:50:05 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Cal Evans' Blog: Six ways to be a better client for your developer - Point 1]]></title>
      <guid>http://www.phpdeveloper.org/news/15741</guid>
      <link>http://www.phpdeveloper.org/news/15741</link>
      <description><![CDATA[<p>
<i>Cal Evans</i> has started up a new series of posts to his blog today, flipping things over from the usual developer-centric perspective most people take and looking at the client instead. In <a href="http://blog.calevans.com/2011/01/14/six-ways-to-be-a-better-client-for-your-developer-point-1">this first part</a> of the series he looks at the first of six ways you can be a better client to your freelance developer.
</p>
<blockquote>
You and you alone are the vision keeper for your project. You have to convey the problem that needs to be solved without specifying how it is to be solved. Work with your developer to make sure they understand you as you describe the problem. [...] Don't assume that the developer will understand industry jargon or acronyms. Just because it's clear to you doesn't mean that it is clear to them.
</blockquote>
<p>
Communication is a huge key when dealing with any developers, freelance or not and <i>Cal</i>'s suggests that not only is everything laid out clearly, but there's also no stone unturned on things like features and goals for the project.
</p>]]></description>
      <pubDate>Fri, 14 Jan 2011 09:51:28 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Derick Rethans' Blog: First release of the D-Bus extension]]></title>
      <guid>http://www.phpdeveloper.org/news/14306</guid>
      <link>http://www.phpdeveloper.org/news/14306</link>
      <description><![CDATA[<p>
<i>Derick Rethans</i> has announced the first official release <a href="http://derickrethans.nl/dbus-extension-released.html">of his D-Bus extension</a> that makes it possible for PHP applications (and ones built in other languages) to interact directly with each other.
</p>
<blockquote>
A few days ago I made the first beta release of the D-Bus extension that I have been working on for a while. D-Bus is a message bus system, a simple way for applications to talk to one another. I started working on this because my cellphone. [...] However, many other applications on the Linux desktop speak D-Bus. This includes system services such as the notification daemon, the screen saver and hardware plug-in detection as well as desktop applications such as <a href="http://www.pidgin.im/">Pidgin</a> and <a href="http://live.gnome.org/Empathya">Empathy</a>.
</blockquote>
<p>
You can find out more about the extension on <a href="http://pecl.php.net/package/dbus">its PECL page</a> or check out <i>Derick</i>'s <a href="http://derickrethans.nl/talks/dbus-london2010.pdf">presentation</a> on the subject (as presented at the 2010 PHP London conference).
</p>]]></description>
      <pubDate>Tue, 06 Apr 2010 12:16:16 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[ThinkPHP Blog: Comet in conjunction with a PHP socket server - server-client communication]]></title>
      <guid>http://www.phpdeveloper.org/news/10941</guid>
      <link>http://www.phpdeveloper.org/news/10941</link>
      <description><![CDATA[<p>
In a <a href="http://blog.thinkphp.de/archives/355-Comet-in-conjunction-with-a-PHP-socket-server-Yet-another-way-of-server-client-communication.html">new post</a> to the ThinkPHP blog today there's a look at combining Comet with PHP to make a simple method for the client to talk back to the server outside the usual methods.
</p>
<blockquote>
If a couple of users have opened the application there are already some hundred or thousand requests per second. The outcome of this is a big load for your server and a highly increased traffic - your server will in a senseless way be overloaded. In conclusion, our problem is the enormous amount of polling without knowing whether the server really wants to send a new push. Let's turn the initial situation around. And we get the solution to our problem: Comet.
</blockquote>
<p>
With Coment, the model changes and the request is "cached" on the server-side automatically in a single Comet instance. Coordinate this with another recommendation of theirs, a PHP socket server, and you can do some pretty interesting things.
</p>]]></description>
      <pubDate>Tue, 02 Sep 2008 08:41:55 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: phpBB & phpMyAdmin Win at SourceForce Community Choice Awards]]></title>
      <guid>http://www.phpdeveloper.org/news/8394</guid>
      <link>http://www.phpdeveloper.org/news/8394</link>
      <description><![CDATA[<p>
As mentioned by the <a href="http://hades.phparch.com/hermes/public/viewnews/index.php?id=3483">php|architect website</a>, the results are in for the Community Awards competition SourceForge was hosting for the year and two PHP-based projects <a href="http://sourceforge.net/community/index.php/landing-pages/cca07/">made the list</a> - phpBB and phpMyAdmin.
</p>
<blockquote>
The Community Choice Awards are over! The SourceForge.net 2007 Community Choice Awards provided you an opportunity to recognize projects that stand taller than the rest. Everybody got to vote, and everybody's vote counted equally. The winning projects, each with superlative quality, productivity, and ingenuity, represent the cream of the crop on SourceForge.net.
</blockquote>
<p>
<a href="http://sourceforge.net/projects/phpbb">phpBB</a> made the cut in the "Best Project for Communications" category and <a href="http://sourceforge.net/projects/phpmyadmin">phpMyAdmin</a> won in the "Best Tool or Utility for SysAdmins". Congratulations to both projects on your achievement!
</p>]]></description>
      <pubDate>Mon, 06 Aug 2007 11:06:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: AJAX and PHP Part 2 - XML Communication/Processing]]></title>
      <guid>http://www.phpdeveloper.org/news/8154</guid>
      <link>http://www.phpdeveloper.org/news/8154</link>
      <description><![CDATA[<p>
PHPBuilder.com has posted <a href="http://www.phpbuilder.com/columns/jon_campbell_20070627.php3">part two</a> of their look at combining Ajax and PHP. They take things a step further than <a href="http://www.phpdeveloper.org/news/7955">last time</a> and look at the actual communication between the script and the server.
</p>
<blockquote>
AJAX and PHP 5 both have powerful features for processing and using an XML document. XML is a method of formatting data often for communication purposes between different computer systems. In this article, we will show you how to access an XML document with AJAX!
</blockquote>
<p>
They <a href="http://www.phpbuilder.com/columns/jon_campbell_20070627.php3">create a script</a> that can load the XML information from a file and echo it back out to the waiting client script. They also include the other half - the client-side javascript that grabs the XML information, parses it, and pushed it into a javascript object for easy access.
</p>]]></description>
      <pubDate>Fri, 29 Jun 2007 16:22:06 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[WorkingSoftware.com.au: Something Like Threading- PHP Process Forking & Interprocess Communication]]></title>
      <guid>http://www.phpdeveloper.org/news/7999</guid>
      <link>http://www.phpdeveloper.org/news/7999</link>
      <description><![CDATA[<p>
New from <i>Iain Dooley</i> on the Working Software website today is <a href="http://www.workingsoftware.com.au/index.php?h=WebLog&author_id=1&entry_id=61">his look at</a> working with threading in PHP including forking and communication between the processes.
</p>
<blockquote>
I recently wrote a little application that dumps a file across a forwarded port. [...] So when I first wrote it, I didn't know what I was doing and had never written socket code before, so it was a big procedural mess. Naturally I was keen to separate out my socket class into it's own package but this presented a problem: the controlling process needed to check the status but how could I decouple the process that instantiated the socket class from the socket code itself
</blockquote>
<p>
So, he <a href="http://www.workingsoftware.com.au/index.php?h=WebLog&author_id=1&entry_id=61">set about</a> working up his class, hitting a few barriers along the way:
</p>
<ul>
<li>Copy On Write issues with how PHP handles the variable for the forked process
<li>Interprocess Communication using Sockets using the socket_create_pair function
<li>a "Curious Interlude" about why you can share sockets between two processes
</ul>
<p>
There's <a href="http://www.workingsoftware.com.au/index.php?h=WebLog&author_id=1&entry_id=61">a example of it in action</a> - a setup with a child process that's all set to count up and respond back with the current number to the managing script.
</p>]]></description>
      <pubDate>Thu, 07 Jun 2007 10:21:00 -0500</pubDate>
    </item>
  </channel>
</rss>
