codecamp

迅搜开发规范

在开始任何开发之前,有必要先强调一下开发规范。开发规范并不是强制性的要求,而只是 为了使项目及代码更利于维护、阅读而制定的一些习惯行为公约。

1. 目录设置

无论您是否将 PHP-SDK 的代码拷出单独使用,强烈建议保留现有的目录结构。

开发的项目配置 ini 文件统一放入 $prefix/sdk/php/app 目录。

自定义或扩展的类库请统一放入 $prefix/sdk/php/lib 以便 XS 进行 autoload

2. 保留字

所有 Xunsearch PHP-SDK 的系统类库定义时均以 XS 开头,为避免冲突,请自行编写 代码和定义时不要也以 XS开头。

3. 自定义分词

Xunsearch 在项目配置时支持针对某些字段自定义分词。每个自定义分词功能单独使用一个 文件名,命名为XSTokenizerXyz.class.php,其中 Xyz 是您自己的分词名称,文件统一 放入 $prefix/sdk/php/lib 目录,分词类名即为 XSTokenizerXyz,该类必须实现 XSTokenizer 接口。

4. 字段设计

多数搜索项目可能都是和相关的数据库联动的,出于开发方便,强烈建议让搜索项目的字段命名 和实际数据库内的命名一致。在此基础下推荐以下命名规范:

  • 字段名都使用小写命名,您可以根据自己的偏好选择用单数或复数形式,但不要二者同时使用。

  • 名字中的单词应使用下划线分割 (例如 product_order)。

  • 只在搜索项目中设置搜索结果展示、搜索条件必须用到的字段,不要在搜索项目中保存无关字段。

5. 异常处理

由于 Xunsearch PHP-SDK 全面采用面向对象技术,所有失败的操作均抛出类型为 XSException 的异常,请在执行主线中捕捉它。具体参见 XSException 异常 章节的有关介绍。


体验 DEMO 项目
迅搜开发流程
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

了解基础对象方法

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }