XSDataSource.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
  5. <meta name="language" content="zh-cn" />
  6. <link rel="stylesheet" type="text/css" href="css/style.css" />
  7. <link rel="stylesheet" type="text/css" href="css/api.css" />
  8. <script type="text/javascript" src="js/jquery.js"></script>
  9. <title>XSDataSource</title>
  10. </head>
  11. <body>
  12. <div id="apiPage">
  13. <div id="apiHeader">
  14. <a href="http://www.xunsearch.com" target="_blank">Xunsearch PHP-SDK</a> v1.3.2 API 参考文档
  15. </div><!-- end of header -->
  16. <div id="content" class="api-index">
  17. <h1>XSDataSource</h1>
  18. <div id="nav">
  19. <a href="index.html">All Packages</a>
  20. | <a href="#properties">属性</a>
  21. | <a href="#methods">方法(函数)</a>
  22. </div>
  23. <table class="summaryTable docClass">
  24. <colgroup>
  25. <col class="col-name" />
  26. <col class="col-value" />
  27. </colgroup>
  28. <tr>
  29. <th>包</th>
  30. <td><a href="index.html#XS.utilf">XS.utilf</a></td>
  31. </tr>
  32. <tr>
  33. <th>继承关系</th>
  34. <td>abstract class XSDataSource</td>
  35. </tr>
  36. <tr>
  37. <th>子类</th>
  38. <td><a href="XSCsvDataSource.html">XSCsvDataSource</a>, <a href="XSDatabaseDataSource.html">XSDatabaseDataSource</a>, <a href="XSJsonDataSource.html">XSJsonDataSource</a></td>
  39. </tr>
  40. <tr>
  41. <th>版本</th>
  42. <td>1.0.0</td>
  43. </tr>
  44. <tr>
  45. <th>源代码</th>
  46. <td><a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSDataSource.class.php">sdk/php/util/XSDataSource.class.php</a></td>
  47. </tr>
  48. </table>
  49. <div id="classDescription">
  50. 索引数据源抽象基类
  51. 此部分代码仅用于 indexer 工具程序</div>
  52. <a name="properties"></a>
  53. <div class="summary docProperty">
  54. <h2>Protected 属性</h2>
  55. <p><a href="#" class="toggle">隐去继承来的属性</a></p>
  56. <table class="summaryTable">
  57. <colgroup>
  58. <col class="col-property" />
  59. <col class="col-type" />
  60. <col class="col-description" />
  61. <col class="col-defined" />
  62. </colgroup>
  63. <tr>
  64. <th>名称</th><th>类型</th><th>描述</th><th>定义于</th>
  65. </tr>
  66. <tr id="arg">
  67. <td><a href="XSDataSource.html#arg-detail">arg</a></td>
  68. <td></td>
  69. <td></td>
  70. <td>XSDataSource</td>
  71. </tr>
  72. <tr id="type">
  73. <td><a href="XSDataSource.html#type-detail">type</a></td>
  74. <td></td>
  75. <td></td>
  76. <td>XSDataSource</td>
  77. </tr>
  78. </table>
  79. </div>
  80. <a name="methods"></a>
  81. <div class="summary docMethod">
  82. <h2>Public 方法</h2>
  83. <p><a href="#" class="toggle">隐去继承来的方法</a></p>
  84. <table class="summaryTable">
  85. <colgroup>
  86. <col class="col-method" />
  87. <col class="col-description" />
  88. <col class="col-defined" />
  89. </colgroup>
  90. <tr>
  91. <th>名称</th><th>描述</th><th>定义于</th>
  92. </tr>
  93. <tr id="__construct">
  94. <td><a href="XSDataSource.html#__construct-detail">__construct()</a></td>
  95. <td>构造函数</td>
  96. <td>XSDataSource</td>
  97. </tr>
  98. <tr id="getCharset">
  99. <td><a href="XSDataSource.html#getCharset-detail">getCharset()</a></td>
  100. <td>取得数据源的准确字符集</td>
  101. <td>XSDataSource</td>
  102. </tr>
  103. <tr id="getData">
  104. <td><a href="XSDataSource.html#getData-detail">getData()</a></td>
  105. <td>从数据源中提取一条数据</td>
  106. <td>XSDataSource</td>
  107. </tr>
  108. <tr id="instance">
  109. <td><a href="XSDataSource.html#instance-detail">instance()</a></td>
  110. <td>取得数据源对象实例</td>
  111. <td>XSDataSource</td>
  112. </tr>
  113. </table>
  114. </div>
  115. <div class="summary docMethod">
  116. <h2>Protected 方法</h2>
  117. <p><a href="#" class="toggle">隐去继承来的方法</a></p>
  118. <table class="summaryTable">
  119. <colgroup>
  120. <col class="col-method" />
  121. <col class="col-description" />
  122. <col class="col-defined" />
  123. </colgroup>
  124. <tr>
  125. <th>名称</th><th>描述</th><th>定义于</th>
  126. </tr>
  127. <tr id="deinit">
  128. <td><a href="XSDataSource.html#deinit-detail">deinit()</a></td>
  129. <td>执行数据提取完毕后的清理工作</td>
  130. <td>XSDataSource</td>
  131. </tr>
  132. <tr id="getDataList">
  133. <td><a href="XSDataSource.html#getDataList-detail">getDataList()</a></td>
  134. <td>从数据源中提取若干条数据</td>
  135. <td>XSDataSource</td>
  136. </tr>
  137. <tr id="init">
  138. <td><a href="XSDataSource.html#init-detail">init()</a></td>
  139. <td>执行数据提取的准备工作</td>
  140. <td>XSDataSource</td>
  141. </tr>
  142. </table>
  143. </div>
  144. <a name="events"></a>
  145. <h2>属性明细</h2>
  146. <div class="detailHeader" id="arg-detail">
  147. arg<span class="detailHeaderTag">
  148. 属性
  149. </span>
  150. </div>
  151. <div class="signature">
  152. protected <b>$arg</b>;</div>
  153. <p></p>
  154. <div class="detailHeader" id="type-detail">
  155. type<span class="detailHeaderTag">
  156. 属性
  157. </span>
  158. </div>
  159. <div class="signature">
  160. protected <b>$type</b>;</div>
  161. <p></p>
  162. <h2>方法明细</h2>
  163. <div class="detailHeader" id="__construct-detail">
  164. __construct()
  165. <span class="detailHeaderTag">
  166. 方法
  167. </span>
  168. </div>
  169. <table class="summaryTable">
  170. <tr><td colspan="3">
  171. <div class="signature2">
  172. public void <b>__construct</b>(mixed $type, $arg)</div>
  173. </td></tr>
  174. <tr>
  175. <td class="paramNameCol">$type</td>
  176. <td class="paramTypeCol">mixed</td>
  177. <td class="paramDescCol">对象参数, 常为 SQL 语句或要导入的文件路径</td>
  178. </tr>
  179. <tr>
  180. <td class="paramNameCol">$arg</td>
  181. <td class="paramTypeCol"></td>
  182. <td class="paramDescCol"></td>
  183. </tr>
  184. </table>
  185. <div class="sourceCode">
  186. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSDataSource.class.php#L29">sdk/php/util/XSDataSource.class.php#L29</a> (<b><a href="#" class="show">显示</a></b>)
  187. <div class="code"><code><span style="color: #000000">
  188. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">__construct</span><span style="color: #007700">(</span><span style="color: #0000BB">$type</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$arg</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$type</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">arg&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$arg</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">init</span><span style="color: #007700">();<br />}</span>
  189. </span>
  190. </code></div>
  191. </div>
  192. <p>构造函数</p>
  193. <div class="detailHeader" id="deinit-detail">
  194. deinit()
  195. <span class="detailHeaderTag">
  196. 方法
  197. </span>
  198. </div>
  199. <table class="summaryTable">
  200. <tr><td colspan="3">
  201. <div class="signature2">
  202. protected void <b>deinit</b>()</div>
  203. </td></tr>
  204. </table>
  205. <div class="sourceCode">
  206. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSDataSource.class.php#L103">sdk/php/util/XSDataSource.class.php#L103</a> (<b><a href="#" class="show">显示</a></b>)
  207. <div class="code"><code><span style="color: #000000">
  208. <span style="color: #0000BB"></span><span style="color: #007700">protected&nbsp;function&nbsp;</span><span style="color: #0000BB">deinit</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}</span>
  209. </span>
  210. </code></div>
  211. </div>
  212. <p>执行数据提取完毕后的清理工作
  213. 将自动在没有更多数据供提取时调用此函数, 请在具体的数据源重载此函数</p>
  214. <div class="detailHeader" id="getCharset-detail">
  215. getCharset()
  216. <span class="detailHeaderTag">
  217. 方法
  218. </span>
  219. </div>
  220. <table class="summaryTable">
  221. <tr><td colspan="3">
  222. <div class="signature2">
  223. public string <b>getCharset</b>()</div>
  224. </td></tr>
  225. <tr>
  226. <td class="paramNameCol">{return}</td>
  227. <td class="paramTypeCol">string</td>
  228. <td class="paramDescCol">字符集名称</td>
  229. </tr>
  230. </table>
  231. <div class="sourceCode">
  232. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSDataSource.class.php#L85">sdk/php/util/XSDataSource.class.php#L85</a> (<b><a href="#" class="show">显示</a></b>)
  233. <div class="code"><code><span style="color: #000000">
  234. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getCharset</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}</span>
  235. </span>
  236. </code></div>
  237. </div>
  238. <p>取得数据源的准确字符集
  239. 如不能确定字符集, 请直接返回 false</p>
  240. <div class="detailHeader" id="getData-detail">
  241. getData()
  242. <span class="detailHeaderTag">
  243. 方法
  244. </span>
  245. </div>
  246. <table class="summaryTable">
  247. <tr><td colspan="3">
  248. <div class="signature2">
  249. final public mixed <b>getData</b>()</div>
  250. </td></tr>
  251. <tr>
  252. <td class="paramNameCol">{return}</td>
  253. <td class="paramTypeCol">mixed</td>
  254. <td class="paramDescCol">返回一条完整数据, 若无数据则返回 false</td>
  255. </tr>
  256. </table>
  257. <div class="sourceCode">
  258. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSDataSource.class.php#L62">sdk/php/util/XSDataSource.class.php#L62</a> (<b><a href="#" class="show">显示</a></b>)
  259. <div class="code"><code><span style="color: #000000">
  260. <span style="color: #0000BB"></span><span style="color: #007700">final&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">getData</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dataPos&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">||&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dataPos&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dataList</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dataPos&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dataList&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getDataList</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dataList</span><span style="color: #007700">)&nbsp;||&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dataList</span><span style="color: #007700">)&nbsp;===&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">deinit</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dataList&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dataPos&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$data&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dataList</span><span style="color: #007700">[</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dataPos</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dataPos</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$data</span><span style="color: #007700">;<br />}</span>
  261. </span>
  262. </code></div>
  263. </div>
  264. <p>从数据源中提取一条数据
  265. 实际使用时, 一般是循环调用此函数提取数据, 每条数据是由字段名为键的关联数组
  266. <pre>
  267. while ($ds-&gt;getData() !== false)
  268. {
  269. ...
  270. }
  271. </pre></p>
  272. <div class="detailHeader" id="getDataList-detail">
  273. getDataList()
  274. <span class="detailHeaderTag">
  275. 方法
  276. </span>
  277. </div>
  278. <table class="summaryTable">
  279. <tr><td colspan="3">
  280. <div class="signature2">
  281. protected array <b>getDataList</b>()</div>
  282. </td></tr>
  283. <tr>
  284. <td class="paramNameCol">{return}</td>
  285. <td class="paramTypeCol">array</td>
  286. <td class="paramDescCol"></td>
  287. </tr>
  288. </table>
  289. <div class="sourceCode">
  290. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSDataSource.class.php#L113">sdk/php/util/XSDataSource.class.php#L113</a> (<b><a href="#" class="show">显示</a></b>)
  291. <div class="code"><code><span style="color: #000000">
  292. <span style="color: #0000BB"></span><span style="color: #007700">protected&nbsp;function&nbsp;</span><span style="color: #0000BB">getDataList</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}</span>
  293. </span>
  294. </code></div>
  295. </div>
  296. <p>从数据源中提取若干条数据
  297. 必须在数据源中定义此函数, 返回值必须是各条数据的数组</p>
  298. <div class="detailHeader" id="init-detail">
  299. init()
  300. <span class="detailHeaderTag">
  301. 方法
  302. </span>
  303. </div>
  304. <table class="summaryTable">
  305. <tr><td colspan="3">
  306. <div class="signature2">
  307. protected void <b>init</b>()</div>
  308. </td></tr>
  309. </table>
  310. <div class="sourceCode">
  311. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSDataSource.class.php#L94">sdk/php/util/XSDataSource.class.php#L94</a> (<b><a href="#" class="show">显示</a></b>)
  312. <div class="code"><code><span style="color: #000000">
  313. <span style="color: #0000BB"></span><span style="color: #007700">protected&nbsp;function&nbsp;</span><span style="color: #0000BB">init</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}</span>
  314. </span>
  315. </code></div>
  316. </div>
  317. <p>执行数据提取的准备工作
  318. 将自动在第一次提取数据前调用, 请在具体的数据源重载此函数</p>
  319. <div class="detailHeader" id="instance-detail">
  320. instance()
  321. <span class="detailHeaderTag">
  322. 方法
  323. </span>
  324. </div>
  325. <table class="summaryTable">
  326. <tr><td colspan="3">
  327. <div class="signature2">
  328. public static XSDataSource <b>instance</b>(string $type, mixed $arg=NULL)</div>
  329. </td></tr>
  330. <tr>
  331. <td class="paramNameCol">$type</td>
  332. <td class="paramTypeCol">string</td>
  333. <td class="paramDescCol">数据源类型, 如: mysql://.., json, csv ...</td>
  334. </tr>
  335. <tr>
  336. <td class="paramNameCol">$arg</td>
  337. <td class="paramTypeCol">mixed</td>
  338. <td class="paramDescCol">建立对象的参数, 如 SQL 语句, JSON/CSV 文件</td>
  339. </tr>
  340. <tr>
  341. <td class="paramNameCol">{return}</td>
  342. <td class="paramTypeCol">XSDataSource</td>
  343. <td class="paramDescCol">初始化完毕的数据源对象</td>
  344. </tr>
  345. </table>
  346. <div class="sourceCode">
  347. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSDataSource.class.php#L42">sdk/php/util/XSDataSource.class.php#L42</a> (<b><a href="#" class="show">显示</a></b>)
  348. <div class="code"><code><span style="color: #000000">
  349. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;static&nbsp;function&nbsp;</span><span style="color: #0000BB">instance</span><span style="color: #007700">(</span><span style="color: #0000BB">$type</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$arg&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$type2&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">$pos&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$type</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">':'</span><span style="color: #007700">))&nbsp;?&nbsp;</span><span style="color: #DD0000">'database'&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">$type</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$class&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'XS'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">ucfirst</span><span style="color: #007700">(</span><span style="color: #0000BB">strtolower</span><span style="color: #007700">(</span><span style="color: #0000BB">$type2</span><span style="color: #007700">))&nbsp;.&nbsp;</span><span style="color: #DD0000">'DataSource'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">class_exists</span><span style="color: #007700">(</span><span style="color: #0000BB">$class</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;</span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #DD0000">"Undefined&nbsp;data&nbsp;source&nbsp;type:&nbsp;`</span><span style="color: #0000BB">$type2</span><span style="color: #DD0000">'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;new&nbsp;</span><span style="color: #0000BB">$class</span><span style="color: #007700">(</span><span style="color: #0000BB">$type</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$arg</span><span style="color: #007700">);<br />}</span>
  350. </span>
  351. </code></div>
  352. </div>
  353. <p>取得数据源对象实例</p>
  354. </div><!-- end of content -->
  355. <div id="apiFooter">
  356. Copyright &copy; 2008-2011 by <a href="http://www.xunsearch.com" target="_blank">杭州云圣网络科技有限公司</a><br/>
  357. All Rights Reserved.<br/>
  358. </div><!-- end of footer -->
  359. <script type="text/javascript">
  360. /*<![CDATA[*/
  361. $("a.toggle").toggle(function(){
  362. $(this).text($(this).text().replace(/Hide/,'Show'));
  363. $(this).parents(".summary").find(".inherited").hide();
  364. },function(){
  365. $(this).text($(this).text().replace(/Show/,'Hide'));
  366. $(this).parents(".summary").find(".inherited").show();
  367. });
  368. $(".sourceCode a.show").toggle(function(){
  369. $(this).text($(this).text().replace(/show/,'hide'));
  370. $(this).parents(".sourceCode").find("div.code").show();
  371. },function(){
  372. $(this).text($(this).text().replace(/hide/,'show'));
  373. $(this).parents(".sourceCode").find("div.code").hide();
  374. });
  375. $("a.sourceLink").click(function(){
  376. $(this).attr('target','_blank');
  377. });
  378. /*]]>*/
  379. </script>
  380. </div><!-- end of page -->
  381. </body>
  382. </html>