<?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>Chapter 42 &#187; framework</title>
	<atom:link href="http://chapter42.whitewhale.net/tag/framework/feed/" rel="self" type="application/rss+xml" />
	<link>http://chapter42.whitewhale.net</link>
	<description></description>
	<lastBuildDate>Thu, 30 Sep 2010 17:20:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Introducing XPHP</title>
		<link>http://chapter42.whitewhale.net/2008/06/30/introducing-xphp/</link>
		<comments>http://chapter42.whitewhale.net/2008/06/30/introducing-xphp/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 19:23:27 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Behind the scenes]]></category>
		<category><![CDATA[Progressive Ideologies]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://chapter42.whaleblogs.net/?p=57</guid>
		<description><![CDATA[After four years of using XPHP successfully in a wide variety of applications for White Whale, we have released it to the public!
What is XPHP?
XPHP is a free class for PHP which allows for the embedding of dynamic content (web application variables, function output, etc.) in a web page, using a pure XML-based syntax. It [...]]]></description>
			<content:encoded><![CDATA[<p>After four years of using <a href="http://technologies.whitewhale.net/xphp/">XPHP</a> successfully in a wide variety of applications for White Whale, we have released it to the public!</p>
<p><strong>What is XPHP?</strong></p>
<p>XPHP is a free class for PHP which allows for the embedding of dynamic content (web application variables, function output, etc.) in a web page, using a pure XML-based syntax. It is designed to quickly bring application functionality to your web pages, while avoiding the complexity and overhead of a full CMS suite or application scripting framework. It has been deployed on many projects from small-scale sites as a basic templating engine, to powering mid-sized e-commerce applications, to running full-fledged intensive data applications on high profile web sites.</p>
<p><strong>Who&#8217;s it for?</strong></p>
<p>XPHP is designed for developers who want to improve the efficiency and structure of their applications without committing to a complicated, bulky framework, or involving disorganized, unsafe, and philosophically questionable pseudo-code in the delivery of dynamic content to a web page.</p>
<p><strong>Basic goals of XPHP development:</strong></p>
<ul>
<li>Embracing XML as a powerful programming tool and partner in PHP application development.</li>
<li>The avoidance of dispersing significant application logic, whether as PHP code or otherwise, throughout individual site files which take focus off the central web application itself.</li>
<li>Adhering to an extremely simple syntax, while allowing for maximum flexibility.</li>
<li>Ease of development and fast code execution.</li>
</ul>
<p><strong>Features of XPHP:</strong></p>
<ul>
<li>fast, seamless templating functionality</li>
<li>ability to execute application components with advanced parameter parsing</li>
<li>support for nesting/recursion, and output evaluation</li>
<li>advanced output control, including flexible caching support, basic if/else statements, and variable casting</li>
<li>fully aware of object-oriented programming techniques</li>
<li>support for PHP extensions such as XSL, and the popular APC opcode cache</li>
<li>support for pushing content</li>
<li>built-in routines for performing common actions</li>
<li>allows for the registration of user-defined tags and tag types</li>
<li>simple implementation via output buffering, or manual parsing</li>
<li>100% pure XML syntax</li>
</ul>
<p><strong>System requirements:</strong></p>
<ul>
<li>PHP 5.0+</li>
<li>SimpleXML extension for PHP (enabled by default)</li>
</ul>
<p>A full tutorial and download link are available at: <a href="http://technologies.whitewhale.net/xphp/">White Whale Technologies: XPHP</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://chapter42.whitewhale.net/2008/06/30/introducing-xphp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Foundations</title>
		<link>http://chapter42.whitewhale.net/2008/05/22/foundations/</link>
		<comments>http://chapter42.whitewhale.net/2008/05/22/foundations/#comments</comments>
		<pubDate>Thu, 22 May 2008 16:31:42 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Behind the scenes]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://chapter42.whaleblogs.net/?p=26</guid>
		<description><![CDATA[My favorite part of programming has to do with maintaining and using code over the long term. In this sense, reusable APIs and frameworks are central to my work process. Adding a new feature to a project generally does not involve coding something wildly unique or reinventing the wheel. While the various ways in which [...]]]></description>
			<content:encoded><![CDATA[<p>My favorite part of programming has to do with maintaining and using code over the long term. In this sense, reusable APIs and frameworks are central to my work process. Adding a new feature to a project generally does not involve coding something wildly unique or reinventing the wheel. While the various ways in which you interact with web applications vary greatly on the surface, under the hood there should be a level of consistency, in which code is reused, flexible, fast, and straightforward. If you do a lot of form processing, for example, you might maintain a set of commonly used input validation functions. If you&#8217;re working with a solid application layer, whether for security, templating, or database functionality, etc., it will evolve over time and become something incredibly powerful, accounting for important trends in the industry which can easily be applied to past projects, as well as accounting for the various server environments in which it needs to run.<br />
<span id="more-26"></span></p>
<p>Maintaining code libraries does not have to contribute to bloat, either. The idea of a framework is to implement core APIs that are used from project to project to build functionality specific to that job. The independent framework itself will not absorb any of this site-specific functionality, contributing to bloat. A good framework plateaus, only growing incrementally upon necessity and relevance to the entire breadth of your work. Furthermore, more robust frameworks are modular, loading on the components they need. Sometimes explicit control is desirable, in which certain users are authenticated and given access to particular modules or plugins. Other times code logic dictates which portions of the framework need to be loaded and deployed. It may be desirable to go for a model in which services are dynamically registered within mechanisms central to the framework.</p>
<p>It&#8217;s particularly exciting to be in a position where you can rely on a powerful foundation of tried-and-true code, and be free to unleash your creativity in terms of how those static APIs are deployed from project to project. Broader communities might also benefit from your work if you can isolate and open-source particular APIs that contribute to smart application development, and certainly there are great options out there which you can adopt and benefit from yourself. Just as with any other career, the knowledge you gain, tools that you build, relationships that you make, over time, help to define who you are and what you can bring to the table in terms of problem solving, creativity, and commitment to the industry in which you work.</p>
]]></content:encoded>
			<wfw:commentRss>http://chapter42.whitewhale.net/2008/05/22/foundations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

