<?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>HackGou In Lamp&#124;憨狗点灯 &#187; Seagull</title>
	<atom:link href="http://hackgou.itbbq.com/category/seagull/feed" rel="self" type="application/rss+xml" />
	<link>http://hackgou.itbbq.com</link>
	<description>LAMP开放的是代码，是接口，是互操作性</description>
	<lastBuildDate>Thu, 15 Jul 2010 14:23:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Seagull中的makeUrl解析</title>
		<link>http://hackgou.itbbq.com/seagull%e4%b8%ad%e7%9a%84makeurl%e8%a7%a3%e6%9e%90.html</link>
		<comments>http://hackgou.itbbq.com/seagull%e4%b8%ad%e7%9a%84makeurl%e8%a7%a3%e6%9e%90.html#comments</comments>
		<pubDate>Thu, 12 Oct 2006 17:39:01 +0000</pubDate>
		<dc:creator>HackGou</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Seagull]]></category>

		<guid isPermaLink="false">http://hackgou.itbbq.com/seagull%e4%b8%ad%e7%9a%84makeurl%e8%a7%a3%e6%9e%90/</guid>
		<description><![CDATA[makeUrl原型位于Output：
makeUrl($action = '', $mgr = '', $mod = '', $aList = array(), $params = '', $idx = 0)

makeUrl由Output调用别名函数
SGL_Url::makeLink&#160;SGL_Url::makeLink($action, $mgr, $mod, $aList, $params, $idx, $this)

实现.
 而SGL_Url::makeLink则是从$conf['site']['outputUrlHandler']的实例中调用
makeLink(tion, $mgr, $mod, $aList, $params, $idx, $output)完成真正的url生成。
默认情况下$conf['site']['outputUrlHandler']的值为SGL_UrlParser_SefStrategy。
它是从SGL_UrlParserStrategy中继承而来。解析makeLink即可解释默认的makeUrl所发生的动作，
当然也可以自己继承SGL_UrlParserStrategy，来实现自己独特风格的makeUrl函数。
makeLink($action, $mgr, $mod, $aList, $params, $idx) $action、$action, $mgr, $mod,从名字就可以看出来。 关键是后面$aList, $params, $idx三个参数。 makeLinnk首先将$params中的参数使用&#8217;&#124;&#124;&#8217;拆分成&#8217;参数名&#124;值&#8217;对的形式,比如#image_id&#124;imageId&#124;&#124;a&#124;2&#124;&#124;b&#124;[a,1,2,3-4,,4] 将拆分成 image_id&#124;iamgeId和 a&#124;2和 b&#124;[1,2,3-4,4] 两个&#8217;参数名&#124;值&#8217;对。
然后分别将这些值对使用&#8217;&#124;'拆成$qsParamName和$listKey循环带入$aList的每个元素进行如下检查:
if&#160;($aList不为空且$aList最后一个单元为数组
    或者$aList是数组且最后一个单元为对象
    或者$aList单元数目不为零。
    或者$aList等于0&#160;)
    {&#160;if( $aList[$idx][$listKey]存在且$listKey不为空){
             $qsParamValue = $aList[$idx][$listKey]
    [...]]]></description>
		<wfw:commentRss>http://hackgou.itbbq.com/seagull%e4%b8%ad%e7%9a%84makeurl%e8%a7%a3%e6%9e%90.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
