start.convention.html 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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="../api/css/style.css" />
  7. <link rel="stylesheet" type="text/css" href="../api/css/guide.css" />
  8. <link rel="stylesheet" type="text/css" href="../api/css/highlight.css" />
  9. <title>开发规范</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 权威指南
  15. </div><!-- end of header -->
  16. <div id="content" class="markdown">
  17. <div class="toc"><ol><li><a href="#ch0">目录设置</a></li><li><a href="#ch1">保留字</a></li><li><a href="#ch2">自定义分词</a></li><li><a href="#ch3">字段设计</a></li><li><a href="#ch4">异常处理</a></li></ol></div><h1 id="-">开发规范</h1>
  18. <p>在开始任何开发之前,有必要先强调一下开发规范。开发规范并不是强制性的要求,而只是
  19. 为了使项目及代码更利于维护、阅读而制定的一些习惯行为公约。</p>
  20. <h2 id="ch0">1. 目录设置<a name="ch0" class="anchor">?</a></h2>
  21. <p>无论您是否将 <code>PHP-SDK</code> 的代码拷出单独使用,强烈建议保留现有的目录结构。</p>
  22. <p>开发的项目配置 ini 文件统一放入 <code>$prefix/sdk/php/app</code> 目录。</p>
  23. <p>自定义或扩展的类库请统一放入 <code>$prefix/sdk/php/lib</code> 以便 <code>XS</code> 进行 <code>autoload</code>。</p>
  24. <h2 id="ch1">2. 保留字<a name="ch1" class="anchor">?</a></h2>
  25. <p>所有 <code>Xunsearch PHP-SDK</code> 的系统类库定义时均以 <code>XS</code> 开头,为避免冲突,请自行编写
  26. 代码和定义时不要也以 <code>XS</code> 开头。</p>
  27. <h2 id="ch2">3. 自定义分词<a name="ch2" class="anchor">?</a></h2>
  28. <p>Xunsearch 在项目配置时支持针对某些字段自定义分词。每个自定义分词功能单独使用一个
  29. 文件名,命名为 <code>XSTokenizerXyz.class.php</code>,其中 <code>Xyz</code> 是您自己的分词名称,文件统一
  30. 放入 <code>$prefix/sdk/php/lib</code> 目录,分词类名即为 <code>XSTokenizerXyz</code>,该类必须实现
  31. <a href="../api/XSTokenizer.html">XSTokenizer</a> 接口。</p>
  32. <h2 id="ch3">4. 字段设计<a name="ch3" class="anchor">?</a></h2>
  33. <p>多数搜索项目可能都是和相关的数据库联动的,出于开发方便,强烈建议让搜索项目的字段命名
  34. 和实际数据库内的命名一致。在此基础下推荐以下命名规范:</p>
  35. <ul>
  36. <li>字段名都使用小写命名,您可以根据自己的偏好选择用单数或复数形式,但不要二者同时使用。</li>
  37. <li>名字中的单词应使用下划线分割 (例如 product_order)。</li>
  38. <li>只在搜索项目中设置搜索结果展示、搜索条件必须用到的字段,不要在搜索项目中保存无关字段。</li>
  39. </ul>
  40. <h2 id="ch4">5. 异常处理<a name="ch4" class="anchor">?</a></h2>
  41. <p>由于 <code>Xunsearch PHP-SDK</code> 全面采用面向对象技术,所有失败的操作均抛出类型为 <a href="../api/XSException.html">XSException</a>
  42. 的异常,请在执行主线中捕捉它。具体参见 <a href="class.exception.html">XSException 异常</a> 章节的有关介绍。</p>
  43. <div class="revision">$Id$</div>
  44. <div class="clear"></div>
  45. </div><!-- end of content -->
  46. <div id="guideNav">
  47. <div class="prev"><a href="start.demo.html">&laquo; 体验 demo 项目</a></div>
  48. <div class="next"><a href="start.workflow.html">开发流程 &raquo;</a></div>
  49. <div class="clear"></div>
  50. </div><!-- end of nav -->
  51. <div id="apiFooter">
  52. Copyright &copy; 2008-2011 by <a href="http://www.xunsearch.com" target="_blank">杭州云圣网络科技有限公司</a><br/>
  53. All Rights Reserved.<br/>
  54. </div><!-- end of footer -->
  55. </div><!-- end of page -->
  56. <div style="display:none;">
  57. <img src="../api/css/info.gif" />
  58. <img src="../api/css/tip.gif" />
  59. <img src="../api/css/note.gif" />
  60. </div>
  61. </body>
  62. </html>