<?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>Hannah Stothard &#187; php</title>
	<atom:link href="http://www.hannahstothard.co.uk/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hannahstothard.co.uk</link>
	<description></description>
	<lastBuildDate>Sat, 26 Nov 2011 23:47:41 +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>WordPress Custom Post and Custom Taxonomy Permalinks</title>
		<link>http://www.hannahstothard.co.uk/web/wordpress-custom-post-and-custom-taxonomy-permalinks/</link>
		<comments>http://www.hannahstothard.co.uk/web/wordpress-custom-post-and-custom-taxonomy-permalinks/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 22:01:59 +0000</pubDate>
		<dc:creator>Hannah</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.hannahstothard.co.uk/?p=740</guid>
		<description><![CDATA[<p>I have the following setup:<br />
- A custom post type called Products.<br />
- A custom taxonomy called Product Categories.<br />
- A page called Products with a custom page template assigned to it. This page template allows me&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>I have the following setup:<br />
- A custom post type called Products.<br />
- A custom taxonomy called Product Categories.<br />
- A page called Products with a custom page template assigned to it. This page template allows me to query my custom posts and display them in a layout of my choosing. Slug is set to /products.</p>
<p>I wanted my urls for my products to display in the following way:<br />
/products/product-category/child-product-category/product-name.</p>
<p>Or to be more specific:<br />
- View my &#8220;Products&#8221; page set with the custom template at the url /products<br />
- View each &#8220;Product Category&#8221; on a url of /products/product-category<br />
- View my custom post type &#8220;Products&#8221; on a url of /products/product-category/product-name</p>
<p>But nothings ever easy. The trouble I was having was that both my product page and product post type wanted to use the same slug (/products) and therefore conflicted causing 404&#8242;s. Not only that but custom taxonomies by default do not show the category in the url, and finally although in my head it made sense as a user to see the url /products/product-category/product-name they were not in any kind of heirarchical structure within wordpress to order them in a url this way.</p>
<p>So after a lot of googling and after finding this really <a href="http://shibashake.com/wordpress-theme/add-custom-taxonomy-tags-to-your-wordpress-permalinks">helpful article</a> I finally managed to put together some code that fixed the problem.</p>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">add_action( 'init', 'register_custom_post_types' );
&nbsp;
//Set up Product Post Type
function register_custom_post_types() {
	register_post_type('products', array(
		'label' =&gt; __('Products'),
		'singular_label' =&gt; __('Product'),
		'public' =&gt; true,
		'show_ui' =&gt; true,
		'capability_type' =&gt; 'post',
		'hierarchical' =&gt; true,
		'rewrite' =&gt; array( 'slug' =&gt; 'products/%productcats%' ),
		'publicly_queryable' =&gt; true,
		'query_var' =&gt; true,
		'has_archive' =&gt; true,
		'supports' =&gt; array('title','editor','thumbnail','excerpt'),
	));
&nbsp;
        //Set up Product Categories
	register_taxonomy('productcats', 'products', array(
		'hierarchical' =&gt; true,
		'label' =&gt; 'Categories',
		'singular_label' =&gt; 'Category',
		'rewrite' =&gt; array( 'slug' =&gt; 'products' ),
	));
&nbsp;
}
&nbsp;
//Fix Permalinks
add_filter('post_link', 'product_permalink', 10, 3);
add_filter('post_type_link', 'product_permalink', 10, 3);
&nbsp;
function product_permalink($permalink, $post_id, $leavename) {
	if (strpos($permalink, '%productcats%') === FALSE) return $permalink;
&nbsp;
		// Posts
		$post = get_post($post_id);
		if (!$post) return $permalink;
&nbsp;
		// Custom Taxonomy
		$terms = wp_get_object_terms($post-&gt;ID, 'productcats');
		if (!is_wp_error($terms) &amp;&amp; !empty($terms) &amp;&amp; is_object($terms[0])) $taxonomy_slug = $terms[0]-&gt;slug;
		else $taxonomy_slug = 'uncategorized';
&nbsp;
	return str_replace('%productcats%', $taxonomy_slug, $permalink);
}
&nbsp;
//Flush permalinks
flush_rewrite_rules( false );</pre></div></div>

<p>For a step by step explanation of the permalink function please refer to the original <a href="http://shibashake.com/wordpress-theme/add-custom-taxonomy-tags-to-your-wordpress-permalinks">article</a> I found on google. You may find you need to go to settings/permalinks in your admin and save again for the changes to take effect. You will already need to have the <a href="http://codex.wordpress.org/Using_Permalinks">custom permalink structure</a> set to /%postname%. More information on setting up <a href="http://codex.wordpress.org/Pages">custom page templates</a>, <a href="http://codex.wordpress.org/Post_Types">custom post types</a> and <a href="http://codex.wordpress.org/Taxonomies">custom taxonomies</a> can be found on the <a href="http://codex.wordpress.org/">wordpress codex</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hannahstothard.co.uk/web/wordpress-custom-post-and-custom-taxonomy-permalinks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress Comments Form &#8211; How to change HTML</title>
		<link>http://www.hannahstothard.co.uk/web/wordpress-comments-form-how-to-change-html/</link>
		<comments>http://www.hannahstothard.co.uk/web/wordpress-comments-form-how-to-change-html/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 23:27:30 +0000</pubDate>
		<dc:creator>Hannah</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.hannahstothard.co.uk/?p=621</guid>
		<description><![CDATA[<p>I searched high and low for a good tutorial on how to change the HTML of the wordpress comment form. From the articles I did find I managed to put together something that works. Feel free to post a comment&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>I searched high and low for a good tutorial on how to change the HTML of the wordpress comment form. From the articles I did find I managed to put together something that works. Feel free to post a comment if there is a better way of doing this&#8230;</p>
<p>I put the below code in functions.php and comment_form(); in my comments.php</p>
<p>The code below is my modified version. For defaults simply add or replace my code with <a href="http://codex.wordpress.org/Function_Reference/comment_form">http://codex.wordpress.org/Function_Reference/comment_form</a></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">add_filter( 'comment_form_defaults', 'my_comment_defaults');
&nbsp;
function my_comment_defaults($defaults) {
	$req = get_option( 'require_name_email' );
	$aria_req = ( $req ? &quot; aria-required='true'&quot; : '' );
&nbsp;
	$defaults = array(
		'fields'        	   =&gt; array(
		'author' =&gt; '&lt;div&gt;&lt;label for=&quot;author&quot;&gt;' . __( 'Name' ) . ( $req ? '&lt;span class=&quot;required&quot;&gt;*&lt;/span&gt;' : '' ) . '&lt;/label&gt; ' . '&lt;input id=&quot;author&quot; name=&quot;author&quot; placeholder=&quot;your name&quot; type=&quot;text&quot; value=&quot;' . esc_attr( $commenter['comment_author'] ) . '&quot; size=&quot;30&quot;' . $aria_req . ' /&gt;&lt;/div&gt;',
		'email' =&gt; '&lt;div&gt;&lt;label for=&quot;email&quot;&gt;' . __( 'Email' )  . ( $req ? '&lt;span class=&quot;required&quot;&gt;*&lt;/span&gt;' : '' ) . '&lt;/label&gt; ' . '&lt;input id=&quot;email&quot; name=&quot;email&quot; placeholder=&quot;email@address.co.uk&quot; type=&quot;email&quot; value=&quot;' . esc_attr(  $commenter['comment_author_email'] ) . '&quot; size=&quot;30&quot;' . $aria_req . ' /&gt;&lt;/div&gt;'
                ),
		'comment_field' =&gt; '&lt;div&gt;&lt;label for=&quot;comment&quot;&gt;' . _x( 'Comment', 'noun' ) . '&lt;/label&gt;&lt;textarea id=&quot;comment&quot; name=&quot;comment&quot; cols=&quot;45&quot; rows=&quot;8&quot; aria-required=&quot;true&quot;  placeholder=&quot;your comment&quot;&gt;&lt;/textarea&gt;&lt;/div&gt;',
&nbsp;
		'must_log_in'          =&gt; '&lt;p class=&quot;must-log-in&quot;&gt;' .  sprintf( __( 'You must be &lt;a href=&quot;%s&quot;&gt;logged in&lt;/a&gt; to post a comment.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '&lt;/p&gt;',
&nbsp;
		'logged_in_as'         =&gt; '&lt;p class=&quot;logged-in-as&quot;&gt;' . sprintf( __( 'Logged in as &lt;a href=&quot;%1$s&quot;&gt;%2$s&lt;/a&gt;. &lt;a href=&quot;%3$s&quot; title=&quot;Log out of this account&quot;&gt;Log out?&lt;/a&gt;' ), admin_url( 'profile.php' ), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '&lt;/p&gt;',
&nbsp;
		'comment_notes_before' =&gt; '&lt;fieldset&gt;',
&nbsp;
		'comment_notes_after'  =&gt; '&lt;/fieldset&gt;',
&nbsp;
		'id_form'              =&gt; 'commentform',
&nbsp;
		'id_submit'            =&gt; 'submit',
&nbsp;
		'title_reply'          =&gt; __( 'Leave a Comment' ),
&nbsp;
		'title_reply_to'       =&gt; __( 'Leave a Reply %s' ),
&nbsp;
		'cancel_reply_link'    =&gt; __( 'Cancel reply' ),
&nbsp;
		'label_submit'         =&gt; __( 'Comment' ),
&nbsp;
                );
&nbsp;
    return $defaults;
}</pre></td></tr></table></div>

<p>You will notice I have made the following modifications</p>
<ul>
<li>Removed the website field</li>
<li>Added type=&#8221;email&#8221; to the Email field (HTML5)</li>
<li>Added placeholder text (HTML5)</li>
<li>Removed the default text from the top and bottom of the form and replaced with &lt;fieldset&gt;&lt;/fieldset&gt;</li>
<li>Moved the required * inside the label</li>
<li>Changed the &#8220;Leave a Reply&#8221; title to &#8220;Leave a Comment&#8221;</li>
<li>Changed the text of the submit button</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.hannahstothard.co.uk/web/wordpress-comments-form-how-to-change-html/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress 404 on Custom Post Types</title>
		<link>http://www.hannahstothard.co.uk/web/wordpress-404-on-custom-post-types/</link>
		<comments>http://www.hannahstothard.co.uk/web/wordpress-404-on-custom-post-types/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 21:04:14 +0000</pubDate>
		<dc:creator>Hannah</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.hannahstothard.co.uk/?p=614</guid>
		<description><![CDATA[<p>I came across a nightmare of a problem today. Everytime I viewed my custom post types I kept getting a 404 error.  I just couldnt understand what was going on.  Thanks to this <a href="http://nooshu.com/page-not-found-with-custom-post-types/">article</a> I finally solved the problem.&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>I came across a nightmare of a problem today. Everytime I viewed my custom post types I kept getting a 404 error.  I just couldnt understand what was going on.  Thanks to this <a href="http://nooshu.com/page-not-found-with-custom-post-types/">article</a> I finally solved the problem.</p>
<p>When setting up custom post types and a custom permalink structure add the below code to the function used to create custom posts.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">flush_rewrite_rules( false );</pre></td></tr></table></div>

<p>I just wanted to write a quick post to highlight the problem but an explanation of why this is needed can be found on the <a href="http://codex.wordpress.org/Custom_Queries">wordpress codex</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hannahstothard.co.uk/web/wordpress-404-on-custom-post-types/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to use Post Formats in WordPress 3.1</title>
		<link>http://www.hannahstothard.co.uk/web/how-to-use-post-formats-in-wordpress-3-1/</link>
		<comments>http://www.hannahstothard.co.uk/web/how-to-use-post-formats-in-wordpress-3-1/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 23:33:34 +0000</pubDate>
		<dc:creator>Hannah</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.hannahstothard.co.uk/?p=544</guid>
		<description><![CDATA[<p>WordPress 3.1 has seen the introduction of <a href="http://codex.wordpress.org/Post_Formats">Post Formats</a>. They provide the ability to target posts within templates using <a href="http://codex.wordpress.org/Function_Reference/get_post_format">get_post_format() </a> and through css using the extra classes wordpress now adds automatically to posts. This will save on&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>WordPress 3.1 has seen the introduction of <a href="http://codex.wordpress.org/Post_Formats">Post Formats</a>. They provide the ability to target posts within templates using <a href="http://codex.wordpress.org/Function_Reference/get_post_format">get_post_format() </a> and through css using the extra classes wordpress now adds automatically to posts. This will save on creating extra categories or tags just for targeting and styling these types of content.</p>
<p>So how does it work&#8230;</p>
<p><strong>Functions.php</strong><br />
Add this to the functions.php file in your theme. You only need to list the formats you wish to use.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">// This theme uses post formats&lt;br/&gt;
add_theme_support( 'post-formats', array( 'aside', 'gallery', 'link','image', 'quote', 'status', 'video', 'audio', 'chat' ));</pre></td></tr></table></div>

<p><br/><br />
You will then see a list of radio buttons in your edit post right hand column.</p>
<p><img src="http://www.hannahstothard.co.uk/wp-content/uploads/2011/02/wordpress-formats4.jpg" alt="" title="wordpress-formats" width="550" height="264" /></p>
<p><strong>Styling</strong><br />
Once a type is selected you can style using the following class added to your post on listing pages</p>
<p><img src="http://www.hannahstothard.co.uk/wp-content/uploads/2011/02/wordpress-formats31.jpg" alt="" title="wordpress-formats3" width="550" height="140" /></p>
<p>and using the following class added to your <body> tag on single pages.</p>
<p><img src="http://www.hannahstothard.co.uk/wp-content/uploads/2011/02/wordpress-formats21.jpg" alt="" title="wordpress-formats3" width="550" height="140" /></p>
<p><strong>Templates</strong><br />
 Within your templates you can target posts by format using the following code</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="language" style="font-family:monospace;"> if ( has_post_format( 'image' )) {
  echo 'this is an image format';
}</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.hannahstothard.co.uk/web/how-to-use-post-formats-in-wordpress-3-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 3.1</title>
		<link>http://www.hannahstothard.co.uk/web/wordpress-3-1/</link>
		<comments>http://www.hannahstothard.co.uk/web/wordpress-3-1/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 21:35:11 +0000</pubDate>
		<dc:creator>Hannah</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.hannahstothard.co.uk/?p=516</guid>
		<description><![CDATA[<p>Yesterday saw the release of <a href="http://codex.wordpress.org/Version_3.1">WordPress 3.1</a> and it has some pretty nice features for both general users and developers like myself.</p>
<p><strong>New Admin Bar</strong><br />
An admin bar has been added when logged in. Its a nice little touch&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Yesterday saw the release of <a href="http://codex.wordpress.org/Version_3.1">WordPress 3.1</a> and it has some pretty nice features for both general users and developers like myself.</p>
<p><strong>New Admin Bar</strong><br />
An admin bar has been added when logged in. Its a nice little touch for the not so experienced wordpress user. It makes the admin section and the front end appear more seamless by allowing you to click through to create a new post, manage your personal details, appearance, comments and updates whilst browsing the front end of your site. For multisite users it makes switching between sites quick and easy.</p>
<p><img title="wordpress3.1admin" src="http://www.hannahstothard.co.uk/wp-content/uploads/2011/02/wordpress3.1admin.jpg" alt="" width="550" height="117" /></p>
<p><span id="more-516"></span></p>
<p><strong>Internal Linking</strong><br />
Another new feature aimed at the less experienced wordpress user is the new internal linking feature. When a user clicks on the link icon in the WYSISYG editor a lightbox opens with additional functionality to select from a pre populated list of the most recently created posts or search for one. The user can then simply select the post to link to and add it to their content. Simple.</p>
<p><img title="wordpress3.1link" src="http://www.hannahstothard.co.uk/wp-content/uploads/2011/02/wordpress3.1link.jpg" alt="" width="550" height="495" /></p>
<p><strong>Post Formats</strong><br />
The ability to categorize posts in a new way has been added to this release. <a href="http://codex.wordpress.org/Post_Formats">Post formats</a> allow wordpress developers to group posts into the following formats:<br />
aside, gallery, link, image, quote, status, video, audio and chat. Once categorized classes are added to the listing and single pages to allow unique styling. See my post on &#8220;<a title="How to use Post Formats in WordPress 3.1" href="http://www.hannahstothard.co.uk/web/how-to-use-post-formats-in-wordpress-3-1/">How to use Post Formats in WordPress 3.1</a>&#8220;  for more info.</p>
<p><strong>Enhanced pagination in Admin Panel</strong><br />
Paging through lots of posts and categories has just become easier with the ability to type in the page you want within the pagination.</p>
<p><img src="http://www.hannahstothard.co.uk/wp-content/uploads/2011/02/wordpress-nav.jpg" alt="" title="wordpress-nav" width="550" height="92" /></p>
<p><strong>Custom Post Type Archives</strong><br />
Custom post types now have their own archive pages. They will now use archive-{posttype}.php rather than a page that is manually set up to list postypes on.</p>
<p><strong>Advanced Queries</strong><br />
More ways to target posts using taxonomies and custom fields. See <a href="http://codex.wordpress.org/Function_Reference/query_posts#Taxonomy_Parameters">query_posts</a> for more information.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hannahstothard.co.uk/web/wordpress-3-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Conference 2009</title>
		<link>http://www.hannahstothard.co.uk/web/php-conference-2009/</link>
		<comments>http://www.hannahstothard.co.uk/web/php-conference-2009/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 05:22:03 +0000</pubDate>
		<dc:creator>Hannah</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.hannahstothard.co.uk/?p=106</guid>
		<description><![CDATA[<p>Back in February I had the opportunity to attend the <a href="http://www.phpconference.co.uk/">PHP Conference</a> at Olympia as a last minute stand in for one of my developer colleagues. Below is a little of the information I managed to digest during my&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Back in February I had the opportunity to attend the <a href="http://www.phpconference.co.uk/">PHP Conference</a> at Olympia as a last minute stand in for one of my developer colleagues. Below is a little of the information I managed to digest during my day as a geeky girly!<br />
<span id="more-106"></span><br />
Although PHP is something I work alongside on a day to day basis, its not something I personally code with. I was therefore a bit apprehensive about how technical the talks would be. I was pleasantly surprised! Although there were numerous talks aimed at my more technical colleagues (Sharding Architectures was one of those talks!!).  There was also some great talks on more general web topics.</p>
<p>The most notable of which was a talk by <a href="http://shiflett.org/">Chris Shiflett</a> titled &#8220;Security-Centered Design &#8211; exploring the impact of human behaviour. Some of the key points from his talk are described below but his blog at <a href="http://shiflett.org/">http://shiftlett.org</a> is well worth reading or adding to your rss feeds.</p>
<p><strong>Changing User Blindness and Ambient Signifiers</strong></p>
<p>Through a serious of flashing images and a short video clip of a card game, Chris demonstrated how easy it is to be unaware of changes going on in the background when your concentration is focused elsewhere. In the context of a website this can mean the difference between noticing a site redirecting somewhere else or a site changing from a non secure area to a secure area.</p>
<p>Chris suggested the use of &#8220;ambient signifiers&#8221; to help our users fight the blindness and to notice whats happening on a website in a subtle and reassuring way. Existing examples include&#8230;</p>
<ul>
<li>Firefox turns the favicon section of the browser blue on an ssl protected site.</li>
<li>Yahoo allows users to select a recognisable image to display in their log in box.</li>
</ul>
<p><strong>Changing User Behaviour</strong></p>
<p>Chris also discussed how important it is to encourage users to behave sensibly online and to be more cautious in giving away personal information.</p>
<p>An example of this is searching for friends on Facebook or Twitter. Both social networking sites allow users to input their email address and password in order to search for friends in their address books. Although this may be OK on reputable sites it encourages bad habits and possibly removes the worry from doing so on other sites.</p>
<p>We can help users by thinking of alternative solutions to the above, therefore removing the familiarity of providing personal data. After all our email accounts are often the gateway to a big chunk of our online accounts and personal data.</p>
<p>Another talk that stuck in my mind was a talk on <strong>Flex and Air </strong>by <a href="http://corlan.org/">Mihai Corlan.</a></p>
<p>The first time I heard about Flex and Air was last year at FOWD. It interested me then but still seemed quite early days to really begin learning to much about. Mihai refreshed my interest and excitement in the clever things these technologies can do.</p>
<p><strong>Flex </strong>is an open source framework for building flash applications</p>
<p><strong>AIR</strong> allows developers to create rich internet applications that run on your desktop or outside the browser.</p>
<p>Although the connecting with PHP part went straight over my head the possibilities of this technology were really apparent. It also appeared reasonably easy for a developer to create an application in a short amount of time and within a familiar development environment (eg.Eclipse).</p>
<p>Its surprising how often these technologies are used and mistaken as a flash built site/application. You can see some cool examples of what Flex and Air can do at <a href="http://flex.org/showcase/">http://flex.org/showcase/</a></p>
<p><strong>Conclusion</strong></p>
<p>So as you can see although it was a PHP conference I still managed to get some really useful and interesting information from it. Would I go again next year? Well I certainly wouldn&#8217;t dismiss it straight away its surprising how much you can understand and learn from things not immediately related to your skill set.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hannahstothard.co.uk/web/php-conference-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

