<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6434515109458035807</id><updated>2024-09-05T17:50:53.893-07:00</updated><category term="linux"/><category term="php"/><category term="apache"/><category term="symfony"/><category term="http"/><category term="ide"/><category term="mac"/><category term="mysql"/><category term="netbeans"/><category term="permission"/><category term="route"/><category term="server"/><category term="soft link"/><category term="symbolic link"/><category term="tool"/><category term="validation"/><title type='text'>Web Developer Cookbook</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://webdcb.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://webdcb.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andy Cheung</name><uri>http://www.blogger.com/profile/09169455790545404877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6434515109458035807.post-5950756314416324270</id><published>2011-10-29T18:02:00.000-07:00</published><updated>2011-10-29T18:04:07.021-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>phpMyAdmin Error #2002 - Cannot Log in to the MySQL server.</title><content type='html'>When you see this error message, you properly do not config your php.ini well and so that it cannot connect to mysql server.&lt;br /&gt;
&lt;br /&gt;
1. Wrong path for the mysql.sock&lt;br /&gt;
mysql.sock is the instance of the mysql, so first you have to find where does it place at.&lt;br /&gt;
You may find it at &quot;/tmp/mysql.sock&quot; or &quot;/var/mysql/mysql.sock&quot;.&lt;br /&gt;
&lt;br /&gt;
Go to your php.ini and make sure the value for &quot;pdo_mysql.default_socket&quot;, &quot;mysql.default_socket&quot;, &quot;mysqli.default_socket&quot; is the right path.&lt;br /&gt;
&lt;br /&gt;
Then restart your web server and try again. Good Luck =]</content><link rel='replies' type='application/atom+xml' href='http://webdcb.blogspot.com/feeds/5950756314416324270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdcb.blogspot.com/2011/10/phpmyadmin-error-2002-cannot-log-in-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/5950756314416324270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/5950756314416324270'/><link rel='alternate' type='text/html' href='http://webdcb.blogspot.com/2011/10/phpmyadmin-error-2002-cannot-log-in-to.html' title='phpMyAdmin Error #2002 - Cannot Log in to the MySQL server.'/><author><name>Andy Cheung</name><uri>http://www.blogger.com/profile/09169455790545404877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6434515109458035807.post-7552966460925721378</id><published>2011-06-05T18:50:00.000-07:00</published><updated>2011-06-05T18:51:53.909-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="soft link"/><category scheme="http://www.blogger.com/atom/ns#" term="symbolic link"/><title type='text'>How to add softlink in linux</title><content type='html'>command: ln -s &amp;lt;target&amp;gt; &amp;lt;the link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example: ln -s /var/log /home/someone/log&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;the link&amp;gt; should not exist, if &amp;lt;the link&amp;gt; exist, then remove it first.</content><link rel='replies' type='application/atom+xml' href='http://webdcb.blogspot.com/feeds/7552966460925721378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdcb.blogspot.com/2011/06/how-to-add-softlink-in-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/7552966460925721378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/7552966460925721378'/><link rel='alternate' type='text/html' href='http://webdcb.blogspot.com/2011/06/how-to-add-softlink-in-linux.html' title='How to add softlink in linux'/><author><name>Andy Cheung</name><uri>http://www.blogger.com/profile/09169455790545404877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6434515109458035807.post-159871177787649290</id><published>2010-11-18T12:50:00.000-08:00</published><updated>2010-11-18T12:53:09.558-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="http"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="permission"/><category scheme="http://www.blogger.com/atom/ns#" term="server"/><title type='text'>Solution: You don&#39;t have permission to access / on this server</title><content type='html'>Encounter this problem after you set up virtual host in web server?&lt;br /&gt;
It is because the folder permission is not set probably.&lt;br /&gt;
&lt;br /&gt;
Here is an example:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&amp;lt;Virtualhost *:80=&quot;&quot;&amp;gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;ServerName testhost.com&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;DocumentRoot &quot;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;/home/testhost/www&lt;/span&gt;&quot;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;DirectoryIndex index.php&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&amp;lt;Directory &quot;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-style: normal; font-weight: normal;&quot;&gt;&lt;i&gt;&lt;b&gt;/home/testhost/www&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&quot;&amp;gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;AllowOverride All&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Allow from All&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&amp;lt;/Directory&amp;gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;ErrorLog &quot;logs/testhost-error.log&quot;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;CustomLog &quot;logs/testhost-access.log&quot; common&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&amp;lt;/Virtualhost&amp;gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Make sure to set permission 755 for each folder in the document root path&lt;br /&gt;
/home &amp;lt;- 755&lt;br /&gt;
/home/testhost &amp;lt;-- 755&lt;br /&gt;
/home/testhost/www &amp;lt;-- 755</content><link rel='replies' type='application/atom+xml' href='http://webdcb.blogspot.com/feeds/159871177787649290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdcb.blogspot.com/2010/11/solution-you-dont-have-permission-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/159871177787649290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/159871177787649290'/><link rel='alternate' type='text/html' href='http://webdcb.blogspot.com/2010/11/solution-you-dont-have-permission-to.html' title='Solution: You don&#39;t have permission to access / on this server'/><author><name>Andy Cheung</name><uri>http://www.blogger.com/profile/09169455790545404877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6434515109458035807.post-7567190749490566135</id><published>2010-11-11T06:26:00.000-08:00</published><updated>2010-11-11T06:26:48.968-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="symfony"/><title type='text'>Custom error500 / 400 page in symfony 1.4</title><content type='html'>&lt;b&gt;Custom 400 page:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In config/settings.yml,&lt;br /&gt;
&lt;i&gt;all:&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;.actions:&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;error_404_module: &amp;nbsp; &amp;nbsp; &amp;nbsp; error&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;error_404_action: &amp;nbsp; &amp;nbsp; &amp;nbsp; 404&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Then when a page is not found, it will forward to &quot;&amp;lt;your_domain&amp;gt;/error/404&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Custom 500 page:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
1. Create &quot;error&quot; folder under &quot;config&quot;&lt;br /&gt;
2. create &quot;error.html.php&quot; under &quot;config/error&quot;</content><link rel='replies' type='application/atom+xml' href='http://webdcb.blogspot.com/feeds/7567190749490566135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdcb.blogspot.com/2010/11/custom-error500-400-page-in-symfony-14.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/7567190749490566135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/7567190749490566135'/><link rel='alternate' type='text/html' href='http://webdcb.blogspot.com/2010/11/custom-error500-400-page-in-symfony-14.html' title='Custom error500 / 400 page in symfony 1.4'/><author><name>Andy Cheung</name><uri>http://www.blogger.com/profile/09169455790545404877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6434515109458035807.post-3889253414438616883</id><published>2010-11-01T16:41:00.000-07:00</published><updated>2010-11-01T16:55:32.074-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="route"/><category scheme="http://www.blogger.com/atom/ns#" term="symfony"/><title type='text'>Solution: route has some missing mandatory parameters</title><content type='html'>This time I encountered an error in symfony, I set a new route and got this error.&lt;br /&gt;
The route is like this:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;new_page:&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;url: /new/page/:id&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;param: {module: page, action: new}&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;requirements:&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;id: \d+&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
How to fix?&lt;br /&gt;
&lt;b&gt;1.&lt;/b&gt; Add a default value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;i&gt;new_page:&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;url: /new/page/:id&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;param: {module: page, action: new, &lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;id: 0&lt;/span&gt;&lt;/b&gt;}&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;requirements:&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;id: \d+&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;b&gt;2.&lt;/b&gt; Check if you used any routing functions like url_for2() that missing the input parameter.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdcb.blogspot.com/feeds/3889253414438616883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdcb.blogspot.com/2010/11/solution-route-has-some-missing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/3889253414438616883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/3889253414438616883'/><link rel='alternate' type='text/html' href='http://webdcb.blogspot.com/2010/11/solution-route-has-some-missing.html' title='Solution: route has some missing mandatory parameters'/><author><name>Andy Cheung</name><uri>http://www.blogger.com/profile/09169455790545404877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6434515109458035807.post-2233762746652298088</id><published>2010-10-24T21:18:00.000-07:00</published><updated>2010-10-24T21:18:06.633-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>Solution - &quot;Fatal error: Maximum execution time of 30 seconds exceeded&quot;</title><content type='html'>There are two methods to solve this problem (&lt;b&gt;Fatal error: Maximum execution time of 30 seconds exceeded&lt;/b&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Method 1:&lt;/b&gt;&lt;br /&gt;
Step 1 : Open php.ini&lt;br /&gt;
Step 2 : Modify the value of &quot;max_execution_time&quot; to a greater value say 600&lt;br /&gt;
Step 3: Restart Server&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Method 2 (&lt;i&gt;Recommended&lt;/i&gt;):&lt;/b&gt;&lt;br /&gt;
Add &quot;set_limit_time(600)&quot; in your code, where the input parameter is the max execution time, and 0 means unlimited.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Explanation:&lt;/b&gt;&lt;br /&gt;
You should be aware of this error message, because it should not take more than 30s to complete a script normally. Sometime, it may because of coding mistakes like (infinity loop in your code).&lt;br /&gt;
&lt;br /&gt;
However, you may really need to execute heavy code in many cases, then I would recommend you to use the method 2 to solve this problem.</content><link rel='replies' type='application/atom+xml' href='http://webdcb.blogspot.com/feeds/2233762746652298088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdcb.blogspot.com/2010/10/solution-fatal-error-maximum-execution.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/2233762746652298088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/2233762746652298088'/><link rel='alternate' type='text/html' href='http://webdcb.blogspot.com/2010/10/solution-fatal-error-maximum-execution.html' title='Solution - &quot;Fatal error: Maximum execution time of 30 seconds exceeded&quot;'/><author><name>Andy Cheung</name><uri>http://www.blogger.com/profile/09169455790545404877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6434515109458035807.post-5213639893941538332</id><published>2010-10-10T03:56:00.000-07:00</published><updated>2010-10-10T03:57:26.953-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="validation"/><title type='text'>PHP Filter - email validation</title><content type='html'>For PHP5, you can validate email format as below:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: php&quot;&gt;$email = &#39;testemail@xxx.com&#39;;  
  
if( filter_var($email, FILTER_VALIDATE_EMAIL) )  
 echo &#39;Valid email format!&#39;;  
else  
 echo &#39;Invalid email format!&#39;; 
&lt;/pre&gt;&lt;br /&gt;
For PHP version less than 5.0, you have to use regular expression to validate email format.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: php&quot;&gt;$email = &#39;testemail@xxx.com&#39;;  
  
if( eregi(&#39;^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$&#39;, $email) ) 
 echo &#39;Valid email format!&#39;;  
else  
 echo &#39;Invalid email format!&#39;; 
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
For reference:&lt;br /&gt;
&lt;br /&gt;
You can found out more build-in validates at php.net each as URL, IP validation which are very useful.&lt;br /&gt;
&lt;a href=&quot;http://php.net/manual/en/filter.filters.validate.php&quot; target=&quot;_blank&quot;&gt;http://php.net/manual/en/filter.filters.validate.php&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdcb.blogspot.com/feeds/5213639893941538332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdcb.blogspot.com/2010/10/php-filter-email-validation.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/5213639893941538332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/5213639893941538332'/><link rel='alternate' type='text/html' href='http://webdcb.blogspot.com/2010/10/php-filter-email-validation.html' title='PHP Filter - email validation'/><author><name>Andy Cheung</name><uri>http://www.blogger.com/profile/09169455790545404877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6434515109458035807.post-572737965146167036</id><published>2010-10-08T23:44:00.000-07:00</published><updated>2010-10-09T08:53:52.585-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ide"/><category scheme="http://www.blogger.com/atom/ns#" term="netbeans"/><category scheme="http://www.blogger.com/atom/ns#" term="tool"/><title type='text'>An IDE to recommend - NetBeans</title><content type='html'>&lt;blockquote&gt;&lt;i&gt;A workman must first sharpen his tools if he is to do his work well. ---&amp;nbsp;&lt;/i&gt;A famous word from China.&lt;/blockquote&gt;&lt;br /&gt;
&lt;img src=&quot;http://netbeans.org/images_www/articles/69/java/quickstart/proj-opened.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
A good IDE can really boost up your speed on developing.&lt;br /&gt;
I tried notepad++ and eclipse before, finally I think NetBeans is the best.&lt;br /&gt;
&lt;br /&gt;
For the php version,&lt;br /&gt;
it supports some frameworks like &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;Zend Framework&lt;/span&gt;, &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;symfony&lt;/span&gt;, &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;smarty&lt;/span&gt;.&lt;br /&gt;
Let&#39;s download and try it!&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://netbeans.org/&quot;&gt;NetBeans website&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdcb.blogspot.com/feeds/572737965146167036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdcb.blogspot.com/2010/10/ide-to-recommend-netbeans.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/572737965146167036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/572737965146167036'/><link rel='alternate' type='text/html' href='http://webdcb.blogspot.com/2010/10/ide-to-recommend-netbeans.html' title='An IDE to recommend - NetBeans'/><author><name>Andy Cheung</name><uri>http://www.blogger.com/profile/09169455790545404877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6434515109458035807.post-1340557589049015962</id><published>2010-10-07T08:55:00.000-07:00</published><updated>2010-10-07T08:55:01.600-07:00</updated><title type='text'>The First Entry</title><content type='html'>Hello World</content><link rel='replies' type='application/atom+xml' href='http://webdcb.blogspot.com/feeds/1340557589049015962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdcb.blogspot.com/2010/10/first-entry.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/1340557589049015962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6434515109458035807/posts/default/1340557589049015962'/><link rel='alternate' type='text/html' href='http://webdcb.blogspot.com/2010/10/first-entry.html' title='The First Entry'/><author><name>Andy Cheung</name><uri>http://www.blogger.com/profile/09169455790545404877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>