<?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>Wed, 23 May 2012 06:02:37 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Christopher Kunz's Blog: Now serving: SPDY]]></title>
      <guid>http://www.phpdeveloper.org/news/17900</guid>
      <link>http://www.phpdeveloper.org/news/17900</link>
      <description><![CDATA[<p>
<i>Christopher Kunz</i> is trying out the new web acceleration tool Google recently released (<a href="http://en.wikipedia.org/wiki/SPDY">SPDY</a>)  when his site is <a href="https://www.christopher-kunz.de/archives/279-Now-serving-SPDY.html">served under HTTPS</a> (warning, self-signed cert).
</p>
<blockquote>
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.
</blockquote>
<p>
He has two other PHP-based applications running with the accelerator - a <a href="https://gallery.christopher-kunz.de/">Gallery3</a> install and <a href="https://absynth.de/">a WordPress site</a>. SPDY ("speedy") was released by Google and is similar to HTTP but with a focus on minimized latency and heightened web security. 
</p>]]></description>
      <pubDate>Thu, 03 May 2012 08:14:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPClasses.org: Participate in the Lately in PHP podcast in Video with Google Hangouts]]></title>
      <guid>http://www.phpdeveloper.org/news/17866</guid>
      <link>http://www.phpdeveloper.org/news/17866</link>
      <description><![CDATA[<p>
PHPClasses.org is trying something new with their "Lately in PHP" podcast for this latest episode - they want you to be a part of it <a href="http://www.phpclasses.org/blog/post/181-Participate-in-the-Lately-in-PHP-podcast-in-Video-with-Google-Hangouts.html">via a Google hangout</a>.
</p>
<blockquote>
The Google Hangouts On Air edition is not yet generally available to all Google+ users. However, thanks to the guides of the Google Top Contributor program, on which I have the pleasure and the privilege to participate, this feature was enabled on the PHP Classes site Google+ account. Therefore, starting the next episode, we are going to try recording the Lately in PHP podcast using the Google Hangouts On Air. This is still an experimental idea, but if all goes well, all the upcoming podcast episodes will be recorded this way.
</blockquote>
<p>
Instructions are <a href="http://www.phpclasses.org/blog/post/181-Participate-in-the-Lately-in-PHP-podcast-in-Video-with-Google-Hangouts.html">included in the post</a> if you'd like to participate in the upcoming episode (recording time is yet to be determined).
</p>]]></description>
      <pubDate>Wed, 25 Apr 2012 12:25:15 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: Running JavaScript inside PHP code]]></title>
      <guid>http://www.phpdeveloper.org/news/17609</guid>
      <link>http://www.phpdeveloper.org/news/17609</link>
      <description><![CDATA[<p>
On DZone.com <i>Giorgio Sironi</i> has a new post about an interesting new PHP extension that <a href="http://css.dzone.com/articles/running-javascript-inside-php">lets you run javascript inside PHP</a> - v8js (VERY alpha right now).
</p>
<blockquote>
v8js is a new PHP extension able to run JavaScript code inside V8, Google's JavaScript interpreter that powers for example Chrome and NodeJS. This extension is highly alpha - and its API would probably change in the months ahead. Since documentation is lacking, I invite you to repeat the discovering process I follow in this post in case you find some differences in a new version of v8js.
</blockquote>
<p>
He gives you the (PECL-based) commands to get the extension and it's needed dependencies installed and enabled. He uses PHP's own Reflection features to look at the extension and find its methods including: "executeString", "getPendingException" and "getExtensions". 
 To show it in action, he implements an old standby to test new languages - the <a href="http://www.codinghorror.com/blog/2007/02/fizzbuzz-the-programmers-stairway-to-heaven.html">FizzBuzz</a> example - in Javascript, executed inside the PHP. He also includes a quick example of how to load in an external Javascript file and execute the results.
</p>]]></description>
      <pubDate>Thu, 01 Mar 2012 09:56:45 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Carson McDonald's Blog: Google OAuth for Installed Apps PHP Example]]></title>
      <guid>http://www.phpdeveloper.org/news/16978</guid>
      <link>http://www.phpdeveloper.org/news/16978</link>
      <description><![CDATA[<p>
<i>Carson McDonald</i> has posted an example of how to <a href="http://www.ioncannon.net/programming/1443/google-oauth-for-installed-apps-php-example/">use the Google OAuth for Installed Apps</a> tool to authenticate users.
</p>
<blockquote>
I have been working on a long needed update to the <a href="http://www.ioncannon.net/projects/google-analytics-dashboard-wordpress-widget/">Google analytics dashboard plugin for WordPress</a> and one of the items I had on my TODO list was using Google's OAuth login instead of the old ClientLogin. Setting OAuth up for a WordPress plugin is complicated because it isn't a hosted application and as such I can't register it to get OAuth keys. That is where a special way of doing OAuth comes in called <a href="http://code.google.com/apis/accounts/docs/OAuthForInstalledApps.html">OAuth for installed apps</a>.
</blockquote>
<p>
He uses <a href="http://oauth.googlecode.com/svn/code/php/">this OAuth library</a> to handle the "dirty work" of the connections. With that included in the application, he shows how to - in two phases - make an authentication system that direct the user to a Google link for completing the authentication process. He points to the <a href="http://code.google.com/apis/gdata/articles/oauth.html">Google OAuth docs</a> and <a href="http://googlecodesamples.com/oauth_playground/">playground</a> as good resources to help you during the process.
</p>]]></description>
      <pubDate>Tue, 11 Oct 2011 12:13:10 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Liip Blog: 2-Step Verification with Google Authenticator and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/16795</guid>
      <link>http://www.phpdeveloper.org/news/16795</link>
      <description><![CDATA[<p>
On the Liip blog there's <a href="http://blog.liip.ch/archive/2011/08/29/2-step-verification-with-google-authenticator-and-php.html">a recent post</a> talking about a tool Google offers to help you authenticate your users, a one-time passcode generator called <a href="http://code.google.com/p/google-authenticator/">Google Authenticator</a>. The post talks about a PHP port of the same idea.
</p>
<blockquote>
The main point about 2-step verification is that something else than your computer provides that token. If it's on your computer and that one gets stolen (or hacked into), it won't help much for the additional security. That's why you need a second device for those tokens. Some banks do that with SMS/Text Messages (Facebook, too), other give you special devices for that (eg. RSA keys) and the last group does it with your smartphone.
</blockquote>
<p>
At the request of a client, they created a tool that did just this, but for PHP. As a result, they created the <a href="https://github.com/chregu/GoogleAuthenticator.php">GoogleAuthenticator</a> library that makes it easy to implement in your application. There's even <a href="https://github.com/chregu/GoogleAuthenticator.php/tree/master/web">an example</a> of it in use. For more information about the Google Authenticator tool, see <a href="http://code.google.com/p/google-authenticator/">this page on Google Code</a>.
</p>]]></description>
      <pubDate>Wed, 31 Aug 2011 09:53:05 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Project: Zend Framework Google Analytics Code Generation]]></title>
      <guid>http://www.phpdeveloper.org/news/16764</guid>
      <link>http://www.phpdeveloper.org/news/16764</link>
      <description><![CDATA[<p>
<i>Martin Aarhof</i> has put together <a href="https://github.com/lsv/zf-maa_analytics">an handy tool</a> for Zend Framework applications that creates the async javascript analytic code recommended by Google to provide tracking information back to Analytics.
</p>
<blockquote>
It supports: browser Settings Detection, campaign Duration, campaign Fields (custom), cross-domain linking and last but not least Ecommerce tracking.
</blockquote>
<p>
The configuration lets you set the various keys for your Analytics accounts, the domain name for it to live under, browser detection settings and various other settings for <a href="http://code.google.com/apis/analytics/docs/gaJS/gaJSApiCampaignTracking.html">campaign configuration</a> and <a href="http://code.google.com/apis/analytics/docs/gaJS/gaJSApiDomainDirectory.html">domain setup</a>. You can find the full code on <a href="https://github.com/lsv/zf-maa_analytics">his github account</a> ready to download or clone.
</p>]]></description>
      <pubDate>Wed, 24 Aug 2011 09:46:58 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Superdit.com: Google Web Seach With ExtJS Grid and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/16695</guid>
      <link>http://www.phpdeveloper.org/news/16695</link>
      <description><![CDATA[<p>
From Superdit.com there's a tutorial showing you how to <a href="http://superdit.com/2011/01/24/google-web-seach-with-extjs-grid-and-php/">display search results in an ExtJS grid</a> as pulled from Google's API. The article's from the beginning of the year, but it's a good self-contained example of using <a href="http://www.sencha.com/products/extjs/">ExtJS</a> to automatically pull in data produced from the backend.
</p>
<blockquote>
This time I want to make a simple example in displaying google web search result in ExtJS grid, other ExtJS component that can be used to displaying this result is dataview, but grid is more common in displaying data in ExtJS.
</blockquote>
<p>
The code (downloadable <a href="http://www.box.net/shared/iyf2x8or8h">here</a>) is pretty simple and the full CSS, Javascript, PHP and markup you'll need are included. The PHP pulls the results from the Google API and </p> JSON encodes them for loading into the ExtJS grid. You can see the <a href="http://superdit.com/wp-content/uploads/2011/01/screenshot.png">end result here</a> or <a href="http://demo.superdit.com/ext_php_google/">try out a demo</a>.
]]></description>
      <pubDate>Tue, 09 Aug 2011 12:45:27 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Project: Google Storage Plugin for CakePHP]]></title>
      <guid>http://www.phpdeveloper.org/news/16592</guid>
      <link>http://www.phpdeveloper.org/news/16592</link>
      <description><![CDATA[<p>
<i>Jonathan Bradley</i> has submitted a handy new helper for the CakePHP users out there that can help to work with Google's Storage in a drop-in plugin - the <a href="https://github.com/jonbradley/google_storage">Simple Google Storage Plugin</a> for CakePHP.
</p>
<blockquote>
Ever noticed how there is no decent support for CakePHP to utilize Google Storage? Well the wait is over, after realizing that Amazon S3 was just way to unreliable and bloated with spammers and usuage hogs. You can now add Google Storage support to your CakePHP application.
</blockquote>
<p>
Obviously you'll need to be set up with <a href="http://code.google.com/apis/storage/">Google Storage</a> before using it, but the tool makes it as simple as calling publish() to push the data out, return all of the bucket information for your account and pull out information about individual objects. There's also a method that lets you make new buckets on the fly to make categorization simpler.
</p>
<p>
The heart of the code lies in the <a href="https://github.com/jonbradley/google_storage/blob/master/vendors/Storage.php">Storage class</a>, so if you want to see how it's done, check that first. Other frameworks have their own interfaces with the Google services too, like the Zend Framework's <a href="http://framework.zend.com/download/gdata">Zend_GData</a> component.
</p>]]></description>
      <pubDate>Thu, 14 Jul 2011 11:03:21 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Martin Sikora's Blog: Google Chrome Extension: PHP Ninja Manual]]></title>
      <guid>http://www.phpdeveloper.org/news/16566</guid>
      <link>http://www.phpdeveloper.org/news/16566</link>
      <description><![CDATA[<p>
In a new post today <i>Martin Sikora</i> has <a href="http://www.martinsikora.com/google-chrome-extension-php-ninja-manual">points out a Google Chrome extension</a> he's created that lets you view some of the basics of the PHP manual without leaving the browser.
</p>
<blockquote>
Finally, I released my extension for Google Chrome called <a href="https://chrome.google.com/webstore/detail/clbhjjdhmgeibgdccjfoliooccomjcab">PHP Ninja Manual</a> (Ninja - because I like <a href="http://www.kaushik.net/avinash/">Avinash Kaushik</a>'sblog and he always call people who are very skilled in something as "Ninjas"). I was always lazy to open PHP documentation every time I had to look at some method definition and its parameters so I made this extension which is actually preparsed official PHP manual available instantly in a popup window.
</blockquote>
<p>
You can see a screenshot of it in action <a href="http://www.martinsikora.com/web/uploads/assets/chrome-extension-php-ninja-manual.png">here</a> including the auto-complete searching and the example of the function's summary details. If you try it out and have feedback, go over to <a href="http://getsatisfaction.com/php_ninja_manual">the forum</a> for it and leave your comments.
</p>]]></description>
      <pubDate>Fri, 08 Jul 2011 09:38:23 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Derick Rethans' Blog: Translating Twitter, part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/16419</guid>
      <link>http://www.phpdeveloper.org/news/16419</link>
      <description><![CDATA[<p>
<i>Derick Rethans</i> has posted the second part of his look at <a href="http://derickrethans.nl/translating-twitter-part2.html">translating twitter</a> as a part of his PHP-GTK Twitter client <a href="http://derickrethans.nl/projects.html#haunt">Haunt</a>. Because of the deprecation route Google chose for its translation API, he needed a change to another service - the <a href="http://www.microsoft.com/web/post/using-the-free-bing-translation-apis">Bing Translation API</a>.
</p>
<blockquote>
A while ago I wrote in <a href="http://derickrethans.nl/translating-twitter.html">an article</a> about translating tweets in my client <a href="http://derickrethans.nl/projects.html#haunt">Haunt</a>. For the translating itself I was using the Google Translate API, which has sadly be <a href="http://googlecode.blogspot.com/2011/05/spring-cleaning-for-some-of-our-apis.html">deprecated</a>. Evil after all I suppose. I've now rewritten my translation code to use the <a href="http://www.microsoft.com/web/post/using-the-free-bing-translation-apis">Bing Translation APIs</a> instead. You need to register an API key (see <a href="http://www.bing.com/developers/appids.aspx%29">http://www.bing.com/developers/appids.aspx</a>) to be able to use the APIs. The APIs that I am using are fairly simple though.
</blockquote>
<p>
Also included in <a href="http://derickrethans.nl/translating-twitter-part2.html">the post</a> is some sample code showing how to make the request to this new API and the results from the requests.
</p>]]></description>
      <pubDate>Thu, 02 Jun 2011 11:28:40 -0500</pubDate>
    </item>
  </channel>
</rss>

