<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>gog&#039;s info &#187; PHP</title>
	<atom:link href="http://gogs.info/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://gogs.info</link>
	<description></description>
	<lastBuildDate>Wed, 27 Apr 2011 15:02:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The Rename refactoring cannot be applied in this context</title>
		<link>http://gogs.info/2010/09/the-rename-refactoring-cannot-be-applied-in-this-context/</link>
		<comments>http://gogs.info/2010/09/the-rename-refactoring-cannot-be-applied-in-this-context/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 13:45:35 +0000</pubDate>
		<dc:creator>Goran Jurić</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[refactoring]]></category>

		<guid isPermaLink="false">http://gogs.info/?p=156</guid>
		<description><![CDATA[I have been using NetBeans for a couple of months now, and I must admit that except for a quirk here and there the overall experience of switching from Zend Studio was a pleasant one. Since switching to 6.9 I had some trouble using the integrated Refactoring utility. There error I got was: The Rename [...]]]></description>
			<content:encoded><![CDATA[<p>I have been using NetBeans for a couple of months now, and I must admit that except for a quirk here and there the overall experience of switching from Zend Studio was a pleasant one.</p>
<p>Since switching to 6.9 I had some trouble using the integrated Refactoring utility. There error I got was: <code>The Rename refactoring cannot be applied in this context.</code></p>
<p>The solution is a simple one, use the built in shortcut &#8220;Ctrl + R&#8221; (or &#8220;Cmd + R&#8221; on a Mac).</p>
<p>The other thing that bothered me is that when you select a method or class and use the context menu to navigate to the declaration of the method/class Netbeans doesn&#8217;t do a thing. To make this work the method/class name <strong>must not</strong> be selected (or you can use the  + click shortcut).</p>
]]></content:encoded>
			<wfw:commentRss>http://gogs.info/2010/09/the-rename-refactoring-cannot-be-applied-in-this-context/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UTF-8 encoding and the TinyMCE SpellCheck plugin</title>
		<link>http://gogs.info/2010/03/utf-8-encoding-and-the-tinymce-spellcheck-plugin/</link>
		<comments>http://gogs.info/2010/03/utf-8-encoding-and-the-tinymce-spellcheck-plugin/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 14:42:02 +0000</pubDate>
		<dc:creator>Goran Jurić</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[spellcheck]]></category>
		<category><![CDATA[tinymce]]></category>
		<category><![CDATA[utf8]]></category>

		<guid isPermaLink="false">http://gogs.info/?p=108</guid>
		<description><![CDATA[If you have tried using the the TinyMCE spell check plugin on UTF-8 encoded page with the PSpellShell adapter you probably noticed that the implementation is broken. The spelling suggestions do not contain properly encoded UTF-8 characters. Since the creators of TinyMCE moved to Github it was a great opportunity to try and push these [...]]]></description>
			<content:encoded><![CDATA[<p>If you have tried using the the <a href="http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker">TinyMCE spell check plugin</a> on UTF-8 encoded page with the PSpellShell adapter you probably noticed that the implementation is broken. The spelling suggestions do not contain properly encoded UTF-8 characters.</p>
<p>Since the creators of TinyMCE moved to <a href="http://github.com/">Github</a> it was a great opportunity to try and push these changes to the master branch. If you need this you can look at the <a href="http://github.com/gjuric/tinymce_spellchecker_php/commit/5d8430ccb116ae83218a48c0dc36088ecc250596">changes that need to be made to the PSpellShell adapter</a> or just clone my <a href="http://github.com/gjuric/tinymce_spellchecker_php">fork of the spellcheck plugin</a>.</p>
<p>p.s. Have I mentioned how awesome Git and Github are?</p>
]]></content:encoded>
			<wfw:commentRss>http://gogs.info/2010/03/utf-8-encoding-and-the-tinymce-spellcheck-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hudson and PHP Howto</title>
		<link>http://gogs.info/2009/11/hudson-and-php-howto/</link>
		<comments>http://gogs.info/2009/11/hudson-and-php-howto/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 18:53:59 +0000</pubDate>
		<dc:creator>Goran Jurić</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ci]]></category>
		<category><![CDATA[continuous Integration]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[phpundercontrol]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[unit testing]]></category>

		<guid isPermaLink="false">http://gogs.info/?p=93</guid>
		<description><![CDATA[After a couple of weeks of playing with phpUnderControl and reading some nice reviews of Hudson I decided to give Hudson a try. And boy am I glad I did. Hudson definitively won me over with its clean interface and easy to setup tasks. Even plugin installation is a breeze and you can even do [...]]]></description>
			<content:encoded><![CDATA[<p>After a couple of weeks of playing with <a href="http://www.phpundercontrol.org/about.html">phpUnderControl</a> and reading some nice reviews of <a href="http://hudson-ci.org/">Hudson</a> I decided to give Hudson a try. And boy am I glad I did.</p>
<p>Hudson definitively won me over with its clean interface and easy to setup tasks. Even plugin installation is a breeze and you can even do it right out of the comfort of your browser.</p>
<p>I found a nice tutorial about setting up Hudson with PHP <a href="http://toptopic.wordpress.com/2009/02/26/php-and-hudson/">here</a> but I had some question marks hovering over my head during the installation so I have decided to write a more detailed installation tutorial.</p>
<p>If you are running a Debian flavored distribution (yes I mean Ubuntu) take a look at the <a href="http://gogs.info/wiki/debian/hudson">tutorial</a>, you should have <a href="http://gogs.info/wiki/debian/hudson">Hudson working with your PHP projects</a> in no time.</p>
<p>Bonus points if you integrate your Hudson installation to act as your staging server.</p>
]]></content:encoded>
			<wfw:commentRss>http://gogs.info/2009/11/hudson-and-php-howto/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Install phpUnit on Mac OSX 10.6</title>
		<link>http://gogs.info/2009/11/install-phpunit-on-mac-osx-10-6/</link>
		<comments>http://gogs.info/2009/11/install-phpunit-on-mac-osx-10-6/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 15:08:26 +0000</pubDate>
		<dc:creator>Goran Jurić</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[phpUnit]]></category>
		<category><![CDATA[unit testing]]></category>
		<category><![CDATA[Zend Studio]]></category>

		<guid isPermaLink="false">http://gogs.info/?p=90</guid>
		<description><![CDATA[Here is another quick How-to so I don&#8217;t have to look it up next time. Open up Terminal.app and enter &#8220;sudo su&#8221; and enter your password when asked (I guess you must be using an account with administrator privileges). pear upgrade PEAR pear channel-discover pear.phpunit.de pear install --alldeps phpunit/PHPUnit That&#8217;s it. phpunit binary should be [...]]]></description>
			<content:encoded><![CDATA[<p>Here is another quick How-to so I don&#8217;t have to look it up next time.</p>
<p>Open up Terminal.app and enter &#8220;sudo su&#8221; and enter your password when asked (I guess you must be using an account with administrator privileges).</p>
<pre>pear upgrade PEAR
pear channel-discover pear.phpunit.de
pear install --alldeps phpunit/PHPUnit</pre>
<p>That&#8217;s it. phpunit binary should be in your path now.</p>
<p>p.s.</p>
<p>For some reason phpUnit that is being used by Zend Studios (6.1) does not have mbstring extension compiled and that makes it unusable for me. I guess there is a way to force PHP interpreter that is being used in the Zend Studio to run with the mbstring extension, but this is a faster approach. Hudson or phpUnderControl (whichever you like) will take care of the code coverage reports.</p>
]]></content:encoded>
			<wfw:commentRss>http://gogs.info/2009/11/install-phpunit-on-mac-osx-10-6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Removing require_once() calls from Zend Framework</title>
		<link>http://gogs.info/2008/10/removing-require_once-calls-from-zend-framework/</link>
		<comments>http://gogs.info/2008/10/removing-require_once-calls-from-zend-framework/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 22:39:29 +0000</pubDate>
		<dc:creator>Goran Jurić</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://gogs.info/?p=44</guid>
		<description><![CDATA[If you are using Zend_Loader to load your classes in Zend Framework, there is no need for all the require_once() calls that are littered all over ZF files. Some acctually report big improvements in responsiveness of their applications and increase in number of transactions per second their hardware can handle because require_once() is quite an [...]]]></description>
			<content:encoded><![CDATA[<p>If you are using Zend_Loader to load your classes in Zend Framework, there is no need for all the require_once() calls that are littered all over ZF files.</p>
<p><a href="http://www.whitewashing.de/blog/articles/73">Some acctually report big improvements</a> in responsiveness of their applications and increase in number of transactions per second their hardware can handle because require_once() is quite an expensive operation, especially if the required file is already included prior to the call.<span id="more-44"></span></p>
<p>If you are wondering how to comment out all the require_once() calls from your <span><span>Zend</span></span> Framework without doing it by hand here is the solution. Navigate to the folder where your installation of ZF resides on the server and just enter this into your shell:</p>
<pre><span style="text-decoration: line-through;">find ./ -type f -exec <span><span>sed</span></span> -i 's/require_once/\/\/require_once/' {} \;</span></pre>
<p>My box is running PHP 5.2.6 with APC 3.0.19 and Zend Framework 1.7 PR and my include path is optimized for use with ZF. Stripping require_once() calls didn&#8217;t make a drastic impact on my setup and average performance gain was around 3 requests per second (from 63 to 66).</p>
<h3>Update (May 16, 2009)</h3>
<p>Since the release of Zend Framework 1.8 there is a script to strip requre_once calls from ZF in the <a href="http://framework.zend.com/manual/en/performance.classloading.html#performance.classloading.striprequires">ZF Performance guide</a>. This script does not remove require_once calls to the new Zend_Loader_Autoloader component.</p>
<pre>% cd path/to/ZendFramework/library
% <span style="text-decoration: line-through;">find . -name '*.php' -not -wholename '*/Loader/Autoloader.php' -print0 | \
xargs -0 sed --regexp-extended --in-place 's/(require_once)/\/\/ \1/g'</span></pre>
<h3>Update 2 (October 3, 2010)</h3>
<p>Thanks to Tom Anderson for noticing that this does not work since ZF 1.10.8 , the new script for stripping require_once calls is:</p>
<pre>% cd path/to/ZendFramework/library
% find . -name '*.php' -not -wholename '*/Loader/Autoloader.php' \
-not -wholename '*/Application.php' -print0 | \
xargs -0 sed --regexp-extended --in-place 's/(require_once)/\/\/ \1/g'</pre>
<p>Note that you must use autoloading if you strip the require_once from the ZF project.</p>
]]></content:encoded>
			<wfw:commentRss>http://gogs.info/2008/10/removing-require_once-calls-from-zend-framework/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>&#8220;Benchmarking&#8221; PHP frameworks</title>
		<link>http://gogs.info/2008/08/benchmarking-php-frameworks/</link>
		<comments>http://gogs.info/2008/08/benchmarking-php-frameworks/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 13:55:22 +0000</pubDate>
		<dc:creator>Goran Jurić</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://gogs.info/?p=7</guid>
		<description><![CDATA[Although I am not a Drupal user, the chance to visit Drupalcon in Szeged (Hungary) appeared and I couldn&#8217;t pass on that one. We got there a little bit late, but just in time to hear Rasmus Lerdorfs keynote speech Simple is Hard. There are some really good ideas for optimizing your applications performance and [...]]]></description>
			<content:encoded><![CDATA[<p>Although I am not a <a href="http://drupal.org">Drupal</a> user, the chance to visit <a href="http://szeged2008.drupalcon.org/">Drupalcon in Szeged</a> (Hungary) appeared and I couldn&#8217;t pass on that one. We got there a little bit late, but just in time to hear <a href="http://lerdorf.com/bio.php">Rasmus Lerdorfs</a> keynote speech <a href="http://talks.php.net/show/drupal08">Simple is Hard</a>. There are some really good ideas for optimizing your applications performance and I strongly recommend it for every PHP developer.</p>
<p>There were also some things I really don&#8217;t agree that much. He showed a small PHP frameworks &#8220;benchmark&#8221; measuring the speed (response time and transactions per second) for each of this frameworks to output the simple HTML page printing out the &#8220;Hello world&#8221; string. <a href="http://framework.zend.com/">Zend Framework</a> (the framework of my choice) didn&#8217;t perform all that bad. <a href="http://www.symfony-project.org/">Symfony</a> was around 30% slower, and <a href="http://solarphp.com/">Solar</a> was about 2 times faster. If you are really interested in the numbers have a look at the <a href="http://talks.php.net/show/drupal08">slides from the session</a>.</p>
<p><span id="more-7"></span></p>
<p>The methodology was a little bit questionable. I believe that frameworks offering a caching solution out of the boxes should have been tested with the caching enabled.</p>
<p>Another thing he talked about was removing unnecessary require_once() and include_once() calls from the applications, and their impact on the frameworks speed, and how those calls are handled in PHP internally and how to set up your include path to minimize the impact).</p>
<p>Zend Framework didn&#8217;t do that well, as you can see on the graphs plotted out for every framework (dashed lines represent require_once() calls). The main reason for this is I guess that ZF is a loosely coupled framework. The other reason is probably that the ZF is still not mature enough to focus on the optimization issues while there is still so much other work to be done.</p>
]]></content:encoded>
			<wfw:commentRss>http://gogs.info/2008/08/benchmarking-php-frameworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

