<?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>Tue, 18 Jun 2013 01:41:59 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Lorna Mitchell: Installing XHGui]]></title>
      <guid>http://www.phpdeveloper.org/news/19286</guid>
      <link>http://www.phpdeveloper.org/news/19286</link>
      <description><![CDATA[<p>
<i>Lorna Mitchell</i> has a new post today showing you how to <a href="http://www.lornajane.net/posts/2013/installing-xhgui">install XHGui</a> to help with profiling your application for performance and processing issues.
</p>
<blockquote>
If you're not familiar with XHGui it's a fabulously easy and friendly way to profile your application; to understand which method calls in a page take the time and how many times they are made, so you can improve the performance of your application. All these instructions are for my 32-bit Ubuntu 12.10 system, hopefully they will work for you or you'll be able to adapt them as appropriate.
</blockquote>
<p>
She lists the dependencies you'll need to have installed before you can get XHGui working correctly including a MongoDB instance and the <a href="http://pecl.php.net/package/xhprof">PECL xhprof</a> extension. With those all set to go, you can go grab the latest XHGui <a href="https://github.com/preinheimer/xhgui">from github</a> and drop it into place. 
</p>]]></description>
      <pubDate>Thu, 07 Mar 2013 12:15:01 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Paul Reinheimer: XHGui and MongoDB]]></title>
      <guid>http://www.phpdeveloper.org/news/18949</guid>
      <link>http://www.phpdeveloper.org/news/18949</link>
      <description><![CDATA[<p>
<i>Paul Reinhemier</i> has <a href="http://blog.preinheimer.com/index.php?/archives/403-XHGui-on-MongoDB.html">written up  post</a> sharing his creation of the code to get <a href="https://github.com/preinheimer/xhgui">XHGui working with MongoDB</a>.
</p>
<blockquote>
<a href="http://mark-story.com/posts/archive">Mark Story</a> & I are pleased as punch to introduce <a href="https://github.com/preinheimer/xhgui">XHGui on MongoDB</a>. Our goal was to get as close to the original feature set of the tool I worked on a few years ago (which leveraged the starting point provided by Facebook) and then to release what we had. What we've got now works; there's still a good distance to go, but we think it's far enough that we can ask for help form the community at large.
</blockquote>
<p>
The tool collects XHProf data and stores it into a MongoDB database and allows you to <a href="http://blog.preinheimer.com/uploads/runpage.png">view</a> <a href="http://blog.preinheimer.com/uploads/urlpage.png">recent</a> activity. There's a few warnings that he includes with the post, so be sure to read those through if you plan on using the tool.
</p>]]></description>
      <pubDate>Wed, 26 Dec 2012 10:02:01 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[David Parra: Probing PHP with Systemtap on Linux]]></title>
      <guid>http://www.phpdeveloper.org/news/18846</guid>
      <link>http://www.phpdeveloper.org/news/18846</link>
      <description><![CDATA[<p>
<i>David Parra</i> has a new post to his site today about a method of <a href="http://blog.experimentalworks.net/2012/12/probing-php-with-systemtap-on-linux/">using Systemtap to profile PHP</a> as the code executes (as an alternative when <a href="http://docs.oracle.com/cd/E19253-01/817-6223/index.html">DTrace</a> may not be available.
</p>
<blockquote>
PHP introduced DTrace support with PHP 5.3, enabling probing points in the PHP executable that can be used to simplify probing of PHP applications without having to the PHP implementation details. We enabled probes on function calls, file compilation, exceptions and errors. But this has always been limited to the operating systems that support DTrace. With the popularity of DTrace, Systemap programmers decided to add a DTrace compatibility layer that allows to use DTrace probes as Systemtap probing points as well.
</blockquote>
<p>
Thanks to a recent commit to the PHP 5.5 branch, your PHP installation (compiled with DTrace support) can be executed with the "stap" command and searched for probe points. He includes a simple Systemtap script that counts the calls of a specific function to get you started. 
</p>]]></description>
      <pubDate>Wed, 05 Dec 2012 10:41:30 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Debugging and Profiling PHP with Xdebug]]></title>
      <guid>http://www.phpdeveloper.org/news/18795</guid>
      <link>http://www.phpdeveloper.org/news/18795</link>
      <description><![CDATA[<p>
On PHPMaster.com today there's a new tutorial showing you how to effectively <a href="http://phpmaster.com/debugging-and-profiling-php-with-xdebug/">debug your applications with Xdebug</a>, a handy tool that provides more detail around your errors just by installing it.
</p>
<blockquote>
Xdebug is a free and open source project by <a href="http://derickrethans.nl/">Derick Rethans</a> and is probably one of the most useful PHP extensions. It provides more than just basic debugging support, but also stack traces, profiling, code coverage, and so on. In this article you'll see how to install and configure Xdebug, how to debug your PHP application from Netbeans, and how to read a profiling report in KCachegrind.
</blockquote>
<p>
He walks you through the installation process (installing it from a package, not compiling) and how to enable it in your "php.ini" configuration file. He also shows how to hook it into the debugger on your IDE (in this case Netbeans) to receive debug messages and be able to step through the code to easily locate the issues. Also included is some basic information about profiling your application and viewing the resulting data in something like <a href="http://kcachegrind.sourceforge.net/html/Home.html">Kcachegrind</a> or <a href="http://code.google.com/p/webgrind/">Webgrind</a> 
</p>]]></description>
      <pubDate>Fri, 23 Nov 2012 12:58:31 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: The Need for Speed: Profiling with XHProf and XHGui]]></title>
      <guid>http://www.phpdeveloper.org/news/18435</guid>
      <link>http://www.phpdeveloper.org/news/18435</link>
      <description><![CDATA[<p>
On PHPMaster.com today <i>Matt Turland</i> has an article posted about <a href="http://phpmaster.com/the-need-for-speed-profiling-with-xhprof-and-xhgui/">using XHProf and XHGui</a> to find the performance issues in your application and profile them to help optimize things.
</p>
<blockquote>
Profiling is the process of measuring the execution time of each function or method call involved in servicing a single page request. The data collected from this process can reveal issues such as a particular method taking a long time to execute or being called a large number of times. Profiling a PHP script generally requires installing a PHP extension. The two more popular extensions for this purpose are <a href="http://derickrethans.nl/">Derick Rethans</a>' <a href="http://pecl.php.net/package/xdebug">Xdebug</a> and Facebook's <a href="http://pecl.php.net/package/xhprof">XHProf</a>. This article will focus on XHProf.
</blockquote>
<p>
He walks you through the installation of both and shows you some sample results of the profiling of a simple application and how you can compare the results across profiling runs. Additionally, if you install <a href="http://www.graphviz.org/">graphviz</a> support, you can <a href="http://cdn.phpmaster.com/files/2012/09/xhprof-03.png">generate the call stack output</a> in a visual form to make for easier consumption.
</p>]]></description>
      <pubDate>Mon, 03 Sep 2012 10:29:13 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NetTuts.com: Build Web Apps from Scratch with Laravel - The Eloquent ORM]]></title>
      <guid>http://www.phpdeveloper.org/news/18153</guid>
      <link>http://www.phpdeveloper.org/news/18153</link>
      <description><![CDATA[<p>
In the second part of their series looking at the <a href="http://laravel.com">Laravel PHP framework</a> and creating your first application with it. In <a href="http://phpdeveloper.org/news/18115">part one</a> you got a brief introduction to creating and configuring an application. In <a href="http://net.tutsplus.com/tutorials/php/build-web-apps-from-scratch-with-laravel-the-eloquent-orm/">part two</a> they dig a little deeper and talk about Laravel's ORM functionality.
</p>
<blockquote>
In this Nettuts+ <a href="http://net.tutsplus.com/tutorials/php/building-web-applications-from-scratch-with-laravel/">mini-series</a>, we'll build a web application from scratch, while diving into a great new PHP framework that's rapidly picking up steam, called <a href="http://laravel.com/">Laravel</a>. In this lesson, we'll be working on an integral part of any web application: the Models. Along the way, we'll learn about Laravel's amazing ORM implementation: Eloquent.
</blockquote>
<p>
The tutorial introduces you to the concept of "Models" and some of the conventions that surround them in the Laravel framework. They show some of the most common operations (CRUD) and how to define relationships between the models (has many, has one, etc). They apply this to their "Instapics" example application, creating the interfaces for the users, profiles, relationships, photos and comments. They include the code to create the controllers/views to go along with them, making a simple interface to show users and their photos.
</p>
<p>
You can find out more about the Eloquent ORM in <a href="http://laravel.com/docs/database/eloquent">this section</a> of the Laravel manual.
</p>]]></description>
      <pubDate>Thu, 28 Jun 2012 12:27:14 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[WebSpeaks.in: Search Google Plus Profiles using PHP and Google Plus API]]></title>
      <guid>http://www.phpdeveloper.org/news/18034</guid>
      <link>http://www.phpdeveloper.org/news/18034</link>
      <description><![CDATA[<p>
In <a href="http://www.webspeaks.in/2012/05/search-google-plus-profiles-using-php.html">this new tutorial</a> to the WebSpeaks blog, <i>Arvind Bhardwj</i> shows you how to hook up to the Google+ API and search profiles for your desired terms.
</p>
<blockquote>
The main aim of this application is to go familiar with the Google Plus API usage. Google Plus provides an extremely easy to use API to access the public contents on it. Here we will create a simple search application to search user profiles on Google Plus.
</blockquote>
<p>
Complete code is provided in the post (PHP) and instructions on setting up an "application" on G+ so you can get the keys needed to connect to the API. You can see it in action in <a href="http://demos.webspeaks.in/gplus/search/">the live demo</a> or just <a href="https://www.box.com/s/715fb9da61c459a1fe8b">download the source</a> to get started.
</p>]]></description>
      <pubDate>Fri, 01 Jun 2012 09:05:05 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NetTuts.com: Advanced CodeIgniter Profiling With XHProf]]></title>
      <guid>http://www.phpdeveloper.org/news/17836</guid>
      <link>http://www.phpdeveloper.org/news/17836</link>
      <description><![CDATA[<p>
On the NetTuts.com site today there's a new tutorial showing how to <a href="http://net.tutsplus.com/tutorials/php/advanced-codeigniter-profiling-with-xhprof/">use XHProf to profile CodeIgniter-based applications</a> and fidn the spots that are causing the most overhead/issues.
</p>
<blockquote>
<a href="https://github.com/facebook/xhprof">XHProf</a> will provide you with a hierarchical profile of the functions your application calls, allowing you to follow the chain of events that lead up to resource intensive code running. You'll be able to see exactly how much wall time (the actual time elapsed), CPU time and memory your application uses. This tutorial will help you get XHProf installed on your server, and integrated with your CodeIgniter application via hooks so that you can start profiling your application, in a production environment, straight away. Everything you see here was written for Ubuntu 10.04 - the latest LTS release at the time of writing.
</blockquote>
<p>
They walk you through the installation of the tool (via a wget of the source), show you how to integrate it with CodeIgniter via hooks and include a simple class that is called to execute and report on the findings. Some sample output is included as well as some general tips on interpreting the results.
</p>]]></description>
      <pubDate>Wed, 18 Apr 2012 13:12:18 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Kurt Payne's Blog: User register_tick_function to profile your code]]></title>
      <guid>http://www.phpdeveloper.org/news/17512</guid>
      <link>http://www.phpdeveloper.org/news/17512</link>
      <description><![CDATA[<p>
<i>Kurt Payne</i> has a new post to his blog showing how to <a href="http://kpayne.me/2012/02/04/use-register_tick_function-to-profile-your-code/">use register_tick_function</a> with a callback to help benchmark and profile your application to find its pain spots.
</p>
<blockquote>
A profiler gives you the ability to trace the performance of your code through every function call and create an overview of your system's performance over a certain time period and helps you make intelligent decisions about where to look for problems. [...] But what if you're in an environment where you can't install [the xdebug or xhprof] extension? Luckily, php has a built-in function called <a href="http://php.net/register_tick_function">register_tick_function</a> that gives you a way to hook in to every user function that's called.  With this, you can write a profiler yourself.
</blockquote>
<p>
A bit of sample code illustrates his method - it defines a "do_profile" function and assigns it with the <a href="http://php.net/register_tick_function">register_tick_function</a> call. This function generates a debug backtrace and echos out the function path it took to get to that spot (output is included). He provides code for a bit more useful profiling and points out that it could easily be graphed to help visualize the problems. Also included are a few caveats to watch out for when using this method of profiling.
</p>]]></description>
      <pubDate>Tue, 07 Feb 2012 13:26:23 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Ibuildings techPortal: DPC Radio: Profiling PHP Applications]]></title>
      <guid>http://www.phpdeveloper.org/news/17257</guid>
      <link>http://www.phpdeveloper.org/news/17257</link>
      <description><![CDATA[<p>
The Ibuildings techPortal has posted the latest episode of their recordings from this year's <a href="http://phpconference.nl">Dutch PHP Conference</a> - <i>Derick Rethans'</i> talk "<a href="http://techportal.ibuildings.com/2011/12/14/dpc-radio-profiling-php-applications/">Profiling PHP Applications</a>".
</p>
<blockquote>
The web is full of useful advice focussed on pushing out the last bit of performance of your code. They mention trivial changes. like changing every occurrence of print with echo even suggesting to use for instead of foreach. These optimisations help, but you are not going to notice it unless they're in a tight loop with many iterations. It is also a wrong approach for tackling performance issues.
</blockquote>
<p>
You can listen to this latest episode either through the <a href="http://techportal.ibuildings.com/2011/12/14/dpc-radio-profiling-php-applications/">in-page player</a>, by <a href="http://dpcradio.s3.amazonaws.com/2011_015.mp3">downloading the mp3</a> or <a href="http://feeds2.feedburner.com/ibuildingstechportal">subscribing to their feed</a>. You can also page through <a href="http://derickrethans.nl/talks/profiling-dpc11.pdf">his slides</a> as you listen.
</p>]]></description>
      <pubDate>Wed, 14 Dec 2011 10:20:07 -0600</pubDate>
    </item>
  </channel>
</rss>
