<?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>Woody Hayday &#124; Blog &#187; PHP</title>
	<atom:link href="http://blog.woodylabs.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.woodylabs.com</link>
	<description>Hertfordshire .NET / SQL / PHP / Web Marketing and Business Developer and Consultant</description>
	<lastBuildDate>Wed, 07 Jul 2010 13:23:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Multiple WordPress blogs from 1 instance / 1 wordpress folder to maintain</title>
		<link>http://blog.woodylabs.com/2010/01/multiple-wordpress-blogs-from-1-instance-1-wordpress-folder-to-maintain/</link>
		<comments>http://blog.woodylabs.com/2010/01/multiple-wordpress-blogs-from-1-instance-1-wordpress-folder-to-maintain/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 16:34:27 +0000</pubDate>
		<dc:creator>Woody</dc:creator>
				<category><![CDATA[Affiliate Marketing]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Transactional SQL]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.woodylabs.com/?p=142</guid>
		<description><![CDATA[WordPress is a victim of its own success, but its no victim. It is huge. Millions upon millions of people use wordpress to power their blogs (like this one for example) to make money and to have their voice present on the internet. It has become a first stop for a huge host of people [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress is a victim of its own success, but its no victim. It is huge. Millions upon millions of people use wordpress to power their blogs (like this one for example) to make money and to have their voice present on the internet. It has become a first stop for a huge host of people making their way online and is often one that leaves such a positive impression that it never leaves that same user. Its free, its slick, its efficient, its easy&#8230;literally I have nothing but good things to say about wordpress and the people that support it. I could spend hours applauding the democratisation of tools that is wordpress and discuss how its helped the internet blossom and why its so key to understanding the web today but that&#8217;s not what this post is about. If you haven&#8217;t already got a wordpress blog then I would suggest you get one, either for free at wordpress.com or from wordpress.org (the latter if you have your own hosting) &#8211; and once you have one you might soon realise the huge benefit of having 2, 3, 4 or more wordpress blogs. These are real benefits.</p>
<p>The question then comes after  you have 30 wordpress blogs on the go, various niche market&#8217;s blogged too or personal sites about cats or what have you, what then? Updates then. WordPress do update fairly regularly, they aren&#8217;t the slow moving behemoths some other companies are because they are open source, and that&#8217;s a good thing. Anyway maintaining 30 copies of wordpress is actually a lot easier than it sounds, an update is usually nothing more than 10 minutes uploading the new wordpress files over the old ones via FTP. But say you had a little project where you wanted to create a few more wordpress blogs. For the sake of this post lets say you wanted 90 blogs. 90 WordPress blogs installed on an average web host (I suggest 1and1) is not a big deal. It can be as big a deal as you make of it but in your pursuits and interests online its potentially likely to crop up.</p>
<p>You can run 90 wordpress blogs (or 1000 etc.) from 1 instance of wordpress. That is 1 wordpress folder on your host serving to 90 blogs at blogsite1.co.uk, blogsite2.com etc. thats nothing new &#8211; I am sure the quicker off the mark or longer in the tooth of wordpress users have been doing it for a while, but somehow I missed this up until I got past the 30 blog mark and so I thought its about time I looked at the option of hundreds of wordpress-blogs running from 1 folder, a project has come up. The reason this works by the way is the wonderful way (take not web developers) that wordpress splits its config files and its database. The only file in the wordpress files you upload to your blog that contains any site specific data is the config file, which pulls everything from the database.</p>
<p>On the preface there are both good and bad things about doing this with word press, here are the pro&#8217;s and con&#8217;s as I see them pre-project.</p>
<p><strong>Pros</strong></p>
<ul>
<li>Single central wordpress folder  &#8211; 1 wordpress folder to update periodically</li>
<li>File size &#8211; rather than using up 4mb per wordpress install, this method uses 4mb per x number of wordpress installs, although space isn&#8217;t an issue really in current web hosting</li>
<li>Plugins and themes only need to be copied once &#8211; they can effectively be shared</li>
<li>Easier to backup &#8211; backing up files of wordpress blogs is pretty pointless apart from wp-content (uploaded images, themes, etc) &#8211; putting all your blogs in one basket means backing up the whole lot is a breeze, 1 folder not 90!</li>
<li>WordPress database is seperate &#8211; you could potentially run all the blogs from 1 database too &#8211; (capacity dependant) &#8211; as wordpress allows table prefix&#8217;s</li>
<li>Adding a blog can be automated <img src='http://blog.woodylabs.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  &#8211; replicating the first wp database from an install can mean tons less setup work</li>
</ul>
<p><strong>Cons</strong></p>
<ul>
<li>Permalink structure may have to be the same? *not 100% on this one and havent tested but there may be issues with permalink setups across multiple blogs as htaccess is shared*</li>
<li>Other .htaccess differences &#8211; because you will effectively only have 1 .htaccess file for all domains pointing to this folder, this puts all that custom .htaccess code out of the window</li>
<li>Flip side of themes being easy to install is that editing one theme will lead to all blogs using that theme to notice the change, fine if your blogs are stable in design but multiple versions of the same theme will be required if you want to tweak these on a blog specific level, which could make for a messy confusing setup if not through through</li>
<li>If you are running a network of blogs and want to stay under the radar or just want the sites to be as different as possible &#8211; by nature of single resource they will leave footprints unless you are aware and make sure you do things like rename folders for themes non-sequentially etc ( or maybe don&#8217;t be paranoid :p )</li>
<li>Centralising the files for all domains/sites/blogs does mean this folder on this box does then become a single point of failure, loose/break this and the whole of your blog network/project is down. Probably not such an issue with stable hosts these days</li>
<li>As previous point if you do update, change a file or accidentally delete anything it does effect every site &#8211; its a risk but not a big one just be careful!</li>
</ul>
<p><strong>Limitations</strong></p>
<ul>
<li>Unsure about .htaccess but presume custom rewriting becomes a pain as all sites share a file</li>
<li>There will be a limit as to how many blogs you can run off a single install. It&#8217;s probably thousands though &#8211; if you had 30,000 sites for example &#8211; the file which points the install to the right database tables would become bloated</li>
</ul>
<p><strong>How to run tens, hundreds or thousands of wordpress blogs from 1 instance &#8211; install wordpress once for hundreds of blogs &#8211; without MU.</strong></p>
<ol>
<li>Install wordpress into a folder on you hosting (download latest from wordpress.org and then upload via FTP/copy across network)</li>
<li>Get your database details together, you will need Database Name, Database Username, Database Password and the Database host for each of the databases you are going to host wordpress tables in</li>
<li>Install a single blog using the normal method &#8211; point a domain at the folder, go to that domain and follow the wordpress wizard, entering your database connection details and this blogs title.
<ol>
<li>Go through this newly installed blog and commit any changes that you will want duplicated throughout the new installs &#8211; delete the &#8220;hello world&#8221; post/default wp links for example.</li>
<li>Imagine this like creating a ghost image for a network of pc&#8217;s &#8211; you want to make a bare bones default wordpress setup so you can replicate this onwards without having to redo it.</li>
</ol>
</li>
<li>Happy with  your ghost blog setup? go to your phpmyadmin (assuming you have it) and export all the tables for this blog into SQL.</li>
<li>Open that SQL into your favourite text editor, in this case I am using Dreamweaver because I like its find+replace.</li>
<li>You will need to do several find + replaces here, but by doing this you can literally clone a wordpress installation &#8211; (works as at 2.9.1 anyway) &#8211; this is great for mass distribution (This is quicker than installing and can be automated)</li>
<li>For example if your site was &#8220;harrysblog1.co.uk&#8221; with a title of  &#8220;Harrys Blog 1&#8243; then do a find and replace for &#8220;harrysblog1.co.uk&#8221;, switching out the new domain to be added, same with title&#8217;s, users, post&#8217;s etc. This way you could clone a wordpress site and switch out words&#8230;you can change the table prefix this way too.</li>
<li>Run this newly modified SQL on whatever mysql database you want to run the blog from (could be same one if you mass replaced the table prefix&#8217;s)</li>
<li>Alter your wp-config.php file very simply:
<ol>
<li>Open it up and put a bit of logic which basically says &#8220;what domain am I loading from, ah this one &#8211; use this DB and this table prefix&#8221; &#8211; This logic can be as simple or as complex as you want it to be &#8211; I kept mine short and sweet with literally:</li>
</ol>
</li>
</ol>
<div style="border:1px solid #09C; background-color:#b5d1ea;padding:4px;margin:10px;">$thisDom = $_SERVER['HTTP_HOST'];</p>
<p>if ($thisDom == &#8220;www.specificDomainWhatever.co.uk&#8221; || $thisDom == &#8220;specificDomainWhatever.co.uk&#8221;){ $useDB = 1; $table_prefix = &#8220;specificDomainWhatever_&#8221;; }</p>
<p>if ($useDB == 1){</p>
<p>define(&#8216;DB_NAME&#8217;, &#8216;xxx&#8217;);</p>
<p>/** MySQL database username */<br />
define(&#8216;DB_USER&#8217;, &#8216;xxx&#8217;);</p>
<p>/** MySQL database password */<br />
define(&#8216;DB_PASSWORD&#8217;, &#8216;xxx&#8217;);</p>
<p>/** MySQL hostname */<br />
define(&#8216;DB_HOST&#8217;, &#8216;xxx&#8217;);</p>
<p>/** Database Charset to use in creating database tables. */<br />
define(&#8216;DB_CHARSET&#8217;, &#8216;utf8&#8242;);</p>
<p>/** The Database Collate type. Don&#8217;t change this if in doubt. */<br />
define(&#8216;DB_COLLATE&#8217;, &#8221;);</p>
<p>}</p></div>
<p>*note this is just how I did it, there are other ways &#8211; the code works but was just to test the theory &#8211; when upscaled to a network of xxx or x,xxx sites this is automated quite easily</p>
<p>*note2 I am having to cut this post short but if anyone has any questions or wants to know more/help on replicating wordpress or multi blog &#8211; 1 wordpress instance installs let me know in the comments</p>
<p><strong>References</strong></p>
<p>Striderweb &#8211; <a rel="nofollow" href="http://striderweb.com/nerdaphernalia/2006/10/hello-again-world/">this post</a> pretty much explains the theory, a bit like this post &#8211; but I actually happened across it after writing the post &#8211; well worth reading if your going to do this &#8211; Stephen Rider has made a great plugin that will do everything you want it to do as above, I winged it and just modified the wp-config which simply worked in my case so personally I didn&#8217;t use it, but no doubt its probably worth a try if  you want a more deep solution.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">Woody Hayday<br />
9a Holywell Hill</p>
<p>Hi Jo</p>
<p>I have just found out that I will be away to thailand in the beginning of march and as my 6 months of tenancy is up in feb (08th) I was wondering how it worked with regards to rolling contracts?</p>
<p>I would like to move out just before</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.woodylabs.com/2010/01/multiple-wordpress-blogs-from-1-instance-1-wordpress-folder-to-maintain/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ebay Partner Network Xmas Bonus? &#8211; EPN Look after their affiliates</title>
		<link>http://blog.woodylabs.com/2009/12/ebay-partner-network-xmas-bonus-epn-look-after-their-affiliates/</link>
		<comments>http://blog.woodylabs.com/2009/12/ebay-partner-network-xmas-bonus-epn-look-after-their-affiliates/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 18:06:03 +0000</pubDate>
		<dc:creator>Woody</dc:creator>
				<category><![CDATA[Affiliate Marketing]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blog.woodylabs.com/?p=130</guid>
		<description><![CDATA[Those of you that make good money out of eBay probably noticed the downtime last month. For me it had an affect on my epn earnings for around 5 days. The problem (in my case at least) seemed to be with RSS feeds called from php (curl.) But it could simply have been a server [...]]]></description>
			<content:encoded><![CDATA[<p>Those of you that make good money out of eBay probably noticed the downtime last month. For me it had an affect on my epn earnings for around 5 days. The problem (in my case at least) seemed to be with RSS feeds called from php (curl.) But it could simply have been a server capacity issue as while my earnings/epc/clicks were down they were probably only 75% down, which would indicate intermittent service. Its worth noting that before this I had had upwards of 2 years of service as an eBay affiliate without a single obvious days downtime with regards to their rss feeds. This certainly softened the blow of the 5 days loss, but it does make you consider caching and things like the <a href="http://blog.woodylabs.com/2009/10/auction-2-post/">auction 2 post plugin</a> more as I had become so reliant on the wonderful ebay affiliate uptime that I had almost no backup plan. A lot of my sites were actually showing comical messages I had left in the php because it was that infrequent that this sort of loss of service would occur (only a few sites and it just said something like &#8220;oh knowz we cant find anything&#8221; &#8211; yeah I know, I don&#8217;t even remember writing it.) Either way all was resolved within a working week and everything is  long since back up to capacity again.</p>
<p>Ebay Partner Network responded with a blog post about this yesterday. You wouldn&#8217;t blame them if they coldly denied to pay all affiliates for earnings that they effectively didn&#8217;t make during the tempremental service, however they look to be providing us with a token possitive sum gesture. This helps epn stand out amongst networks and shows that they acknowledge the shared benefits affiliate promotion offers, certainly it cements epn in the uk as being a solid entrance to affiliate marketing.</p>
<p style="padding-left: 30px;"><em>&#8220;We have finalized calculations for a makegood that will use the earnings on the days before and the days after the outage, along with a factor to account for Christmas seasonality, to calculate a makegood to make up for the decrease in affiliate earnings caused by this outage.</em></p>
<p style="padding-left: 30px;"><em>This makegood will be added to each account and will be paid out along with the December payment&#8221;</em></p>
<p>(Taken from the Ebay Partner Network Blog <a href=" http://www.ebaypartnernetworkblog.com/en/news/november-21st-site-outage-makegood/" rel="nofollow">post</a> re the November 21st Site outage Makegood &#8211; posted 07th Dec 09.)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.woodylabs.com/2009/12/ebay-partner-network-xmas-bonus-epn-look-after-their-affiliates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP/PHP Network Share browsing between Servers on IIS</title>
		<link>http://blog.woodylabs.com/2009/10/aspphp-network-share-browsing-between-servers-on-iis/</link>
		<comments>http://blog.woodylabs.com/2009/10/aspphp-network-share-browsing-between-servers-on-iis/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 09:52:53 +0000</pubDate>
		<dc:creator>Woody</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blog.woodylabs.com/?p=111</guid>
		<description><![CDATA[Its always the simple things that take longer than expected, if you are trying to access a network share, say \\server1\netshare$ from some code on your webserver (say \\server2) &#8211; you would think this would be simple? If your on IIS you would be wrong, kind of. I think if you are on Apache this [...]]]></description>
			<content:encoded><![CDATA[<p>Its always the simple things that take longer than expected, if you are trying to access a network share, say \\server1\netshare$ from some code on your webserver (say \\server2) &#8211; you would think this would be simple? If your on IIS you would be wrong, kind of. I think if you are on Apache this wouldn&#8217;t be such a big deal, its more to do with the stupid setup of IIS6 (may also be fixed in IIS7 &#8211; havent tried) and how it deals with user based access, networking and permissions. It was probably set up to give flexibility but its less than transparent. You cannot add permissions to a folder on another server for a local user (again we are talking Windows Server 2003, IIS6), so at first it would seem that you need to either need to make a shared domain account and add the permissions for that, switching out the IUSR account on the webserver, but in fact this doesn&#8217;t even work. You could of course use impersonation if you are talking about aspx but that was overkill in this situation.</p>
<p>After a ton of messing about and a load of messy permissions trials I happened across the solution:</p>
<p>In short the easiest way to access \\server1\netshare$ from a piece of code on \\server2 (without giving administrator rights, creating specific domain users, etc.) is to find the IUSR account details on \\server2 (your webserver) and then create a user on \\server1 with these exact credentials. Having both boxes with these local permissions then allows you to assign this local user on the netshare server the permissions you want on its local folder structure, and curiously lets the webserver login locally.</p>
<p>Now this doesn&#8217;t, or rather shouldn&#8217;t work if you ask me, but it does. To get the IUSR password from the webserver you need to do a bit of a fudge, but once you are all set up this works. Great if you want to access network shares from a web server without compromising your network security!</p>
<p><strong>Get your webserver&#8217;s IUSR Account username and IUSR Account password:</strong></p>
<ul>
<li>Right click my computer -&gt; manage -&gt; local users and groups -&gt; users (this does not show up on domain controllers so wont work if your web server is also your dc)</li>
<li>You will have an account in here called IUSR_*SOMETHING* (if you are running iis) &#8211; this is what I was refering to as the IUSR account and what you will need to create an account as on the other server &#8211; you do this in the same place on that box.</li>
<li>Next you need to get the IUSR account password, which you can do by first going to C:\Inetpub\AdminScripts and opening adsutil.vbs in notepad, finding the line &#8220;<span>isSecureProperty = True&#8221; &#8211; (this is within an if statement) and replacing true with false (this is temporary &#8211; you will want to change this back as soon as you have got the IUSR Password.)</span></li>
<li><span>Once you have altered your adsutil.vbs open up a command prompt (cmd) and type/copy the following and hit return:</span></li>
<li style="padding:3px;background:#CCC;border:1px solid #666;">C:\Inetpub\AdminScripts&gt;cscript adsutil.vbs get w3svc/anonymoususerpass</li>
<li>You should be presented with something like</li>
<li style="padding:3px;background:#CCC;border:1px solid #666;">anonymoususerpass : (STRING) &#8220;**PASSWORDHERE**&#8221;</li>
<li>And there you have it &#8211; this is your IUSR Password, use this and the IUSR account name you got from above and create a local user on the server and you will be singing! Don&#8217;t forget to change isSecureProperty = False back though!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.woodylabs.com/2009/10/aspphp-network-share-browsing-between-servers-on-iis/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>ionCube on 1and1 shared hosting</title>
		<link>http://blog.woodylabs.com/2009/10/ioncube-on-1and1-shared-hosting/</link>
		<comments>http://blog.woodylabs.com/2009/10/ioncube-on-1and1-shared-hosting/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 06:24:49 +0000</pubDate>
		<dc:creator>Woody</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blog.woodylabs.com/?p=107</guid>
		<description><![CDATA[&#8230;I needed to use ionCube for Auction 2 Post but it takes an odd combination of files to get it working so heres how to get ionCube loaders to work on 1 and 1 shared hosting (spoon fed): 1. Use getcwd to find the working directory (make a new .php file with two lines &#8220;echo [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;I needed to use ionCube for <a href="http://blog.woodylabs.com/2009/10/auction-2-post/">Auction 2 Post</a> but it takes an odd combination of files to get it working so heres how to get ionCube loaders to work on 1 and 1 shared hosting (spoon fed):</p>
<p><span style="font-size:16px; font-weight:700;">1.</span> Use getcwd to find the working directory (make a new .php file with two lines &#8220;echo getcwd().&#8217;&lt;br /&gt;&#8217;;&#8221; and &#8220;phpinfo();&#8221;, ftp this to the root of your domain on 1and1 shared hosting and then navigate your browser to the url and leave this open in a tab/write it down)</p>
<p><span style="font-size:16px; font-weight:700;">2.</span> Download Linux (x86) .zip archived ionCube loader files from here (<a href="http://www.ioncube.com/loaders.php" rel="nofollow">http://www.ioncube.com/loaders.php</a>)</p>
<p><span style="font-size:16px; font-weight:700;">3.</span> Upload ionCube folder to the absolute root of your hosting (this is so you don&#8217;t have to maintain a copy per website later if you have multiple sites) &#8211; I called the folder ioncube</p>
<p><span style="font-size:16px; font-weight:700;">4.</span> Open up notepad and add a line &#8220;zend_extension = /homepages/**/**********/htdocs/ioncube/ioncube_loader_lin_5.2.so&#8221; &#8211; where the **** will be letters/numbers you will be able to find these out from step 1 &#8211; save this as php.ini on your desktop or similar (unless you already have a php.ini for this website/subfolders of this website at which point you will want to make a copy of them and add this line then re-upload)</p>
<p><span style="font-size:16px; font-weight:700;">5.</span> Upload php.ini to the domain&#8217;s root folder (where you require ionCube to be loaded)</p>
<p><span style="font-size:16px; font-weight:700;">6.</span> Revisit your original .php file and search the page &#8211; you should now find &#8220;ionCube&#8221; under additional modules</p>
<p><strong>Notes:</strong></p>
<ul>
<li>If  you are using something like auction2post you may need to copy this php.ini into any subfolders which have .php files in that may need ionCube, this seems to be a slight bug in the 1and1 php.ini system</li>
<li>There is a 1and1 guide for doing this, however its not particularly helpful (<a href="http://faq.oneandone.com/miscellaneous/24.html" rel="nofollow">http://faq.oneandone.com/miscellaneous/24.html</a>)</li>
<li>You might wan&#8217;t to make 1and1 run php5 before you do this, depending on what you are using it for &#8211; this will mean adding &#8220;AddType x-mapp-php5 .php&#8221; to the domains .htaccess file</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.woodylabs.com/2009/10/ioncube-on-1and1-shared-hosting/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Developers Arsenal PHP to ASP Jump</title>
		<link>http://blog.woodylabs.com/2009/04/developers-arsenal-php-to-asp-jump/</link>
		<comments>http://blog.woodylabs.com/2009/04/developers-arsenal-php-to-asp-jump/#comments</comments>
		<pubDate>Sun, 12 Apr 2009 18:08:47 +0000</pubDate>
		<dc:creator>Woody</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.woodylabs.com/?p=52</guid>
		<description><![CDATA[Server Side Scripting is a wonderful term. It’s what takes the control off of the browser and solely in the hands of the developer, because ultimately the developer is the one with the coding capacity. Since I first messed about with php for my own entertainment I have always revelled in using it, perhaps it [...]]]></description>
			<content:encoded><![CDATA[<p>Server Side Scripting is a wonderful term. It’s what takes the control off of the browser and solely in the hands of the developer, because ultimately the developer is the one with the coding capacity. Since I first messed about with php for my own entertainment I have always revelled in using it, perhaps it was my age or my development of programming understanding but on learning php code just started falling into place. Over the years I have written PHP that ranges from the most basic database reading and amending (Data Access Layers <img src='http://blog.woodylabs.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) to flexible web spiders, data crunchers, content management systems, data extractors, image processors and full on web applications. For me PHP is my main gun, the thing I find easiest to sling a quick script out in. With the ever robust XAMPP you can stick a web server up anywhere in minutes and have a machine doing what you want with data or the web or images shortly thereafter. People have jailbreaked iPhones just to run php from web cafe&#8217;s and similar.</p>
<p>PHP is the tool of the open source project. (There are of course companies that use it (my companies do) and huge online websites/behemoths of information that use it as a server side language.) but overall the corporate world, any web software with intent to move to larger markets and bridge the gap to desktop apps codes in ASP and now ASP.NET. There was nothing I couldn’t do in PHP/mySQL that I wanted to do, it for me was a very good toolset and fulfilled my needs as far as I could see them. But it would lack if you wanted to move towards desktop applications, and its lack of association to Microsoft does act as a restriction in some ways. So there it is ASP / ASP.Net needs to picked up. For me this was more a conversion than picking up a new skill, I took PHP and hammered that knowledge into ASP Syntax – this actually works nearly entirely for the most part, you get over the differences very easily if you have done even a bit of visual basic before (as ASP in its default form is essentially vb – C#  is also excellent.)</p>
<p>I just took a course in  &#8220;ASP.NET Scalable web applications using AJAX&#8221; (Learning Tree in euston &#8211; would recommend it &#8211; taught by an excellent <a href="http://www.dynamisys.co.uk">asp.net consultant</a>, Richard Howells) which affirmed a lot of programmatic choices I have previously made and enlightened me to improved structures for scalability. The thing I most took out of it though is how much work microsoft have put into their IDE (Visual studio.) VS2008 is pretty phenomenal if you come from hand coding everything yourself. I can see how developers get wooed by intellisense and ease of access, they intend to make it all easy &#8211; every functionality provided by web technologies in their control based environment. For me it still remains though that in providing a huge framework of simplicity to every user you do carry a certain amount of redundancy, that is while it may take longer to code pure PHP \ Javascript it will still do specifically what you want it too, and only that. Potentially with the microsoft IDE you can create what you want entirely and then cut the fat so to speak afterwards &#8211; there are substantial speed benefits with their project based management, this methodology however is not my first choice.</p>
<p>For any person wanting to seek employment or understanding in web development I would highly recommend jumping strait into PHP or ASP.NET (probably PHP unless you have a requirement for ASP – ASP.NET C# Pays better than PHP here in the UK.) After learning the basics of HTML, Javascript and CSS, PHP or ASP brings you clearly up another step. I am available for code/developer mentoring/support as of Summer 2009.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.woodylabs.com/2009/04/developers-arsenal-php-to-asp-jump/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
