手把手教你做关键词匹配项目(搜索引擎)----第十二天,教你做第十二天_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了手把手教你做关键词匹配项目(搜索引擎)----第十二天,教你做第十二天_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2859字,纯文字阅读大概需要5分钟。
内容图文
![手把手教你做关键词匹配项目(搜索引擎)----第十二天,教你做第十二天_PHP教程](/upload/InfoBanner/zyjiaocheng/184/fb7afef68ddc4fa9a01af255db2727ad.jpg)
手把手教你做关键词匹配项目(搜索引擎)---- 第十二天,教你做第十二天
第十二天
起点:
1. 手把手教你做关键词匹配项目(搜索引擎)---- 第一天
回顾:
11.手把手教你做关键词匹配项目(搜索引擎)---- 第十一天
上回说到,关键词应用需求为:
通过淘宝API取到的宝贝标题以及宝贝属性,匹配出适合该宝贝的关键词.
初期考虑以下因素:
适合人群的匹配 :男装 (匹配出来的关键词不能有女) 女装(匹配出来的关键词不能有男) 情侣装(男女适用) 童装(?)
淘宝API取出的宝贝属性字段:
小帅帅想了很久,总算想出来了一个解决方案,方案如下:
<?php class SelectorItem { private $item; public function __construct($item){ $this->item = $item; } public function __get($name){ if(isset($this->item->$name)){ return $this->item->$name; } return null; } public static function createFromApi($num_iid){ $client = new TopClient(); $client->appkey = 'xx'; $client->secretKey = 'xx'; $req = new ItemGetRequest(); $req->setFields('props_name,property_alias,detail_url,cid,title'); $req->setNumIid($num_iid); $resp = $client->execute($req); if(isset($resp->code)){ # error handle throw new Exception($resp->msg, $resp->code); } return new self($resp->item); } } $selectorItem = SelectorItem::createFromApi($_REQUEST["num_iid"]); Logger::trace($selectorItem->props_name); $blackCharList = array(); $coreCharList = array(); $matchTitle = $selectorItem->title.$selectorItem->props_name; if(preg_match('/男装/', $matchTitle)){ $coreCharList = array( "男装" ); $blackList = array( "女" ); }else if(preg_match('/女装/', $matchTitle)){ $coreCharList = array( "女装" ); $blackList = array( "男" ); }else if(preg_match('/情侣装/', $matchTitle)){ $coreCharList = array( "情侣装", "男装", "女装" ); }else if(preg_match('/童装/',$matchTitle)){ $coreCharList = array( "童装", "儿童装", "女童装", "男童装" ); } $where = array(); foreach($coreCharList as $char){ $where[] = " word LIKE '%$char%'"; } foreach($blackCharList as $char){ $where[] = " word NOT LIKE '%$char%'"; } if(count($where)>0){ $sql = "SELECT * FROM keywords WHERE ".implode(' AND ',$where); Logger::trace($sql); //search database }
小帅帅很高兴的把代码拿给于老大时,小帅帅被于老大批了,原因很简单:
1. 没有考虑未来变化因素
2. if 太多
小帅帅被批了,心里很不高兴,但还是不得不去请教于老大的高招。
于老大给了一个方向给他。
1. 学习设计模式消除过多的if,以及如何去解耦。
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。[来自百度百科]
小帅帅只好去了解设计模式了。
附:
SelectorItem 里面的 __get 函数,称为Magic Methods
如:
$selectorItem->title 其实会调用 __get('title')
http://www.bkjia.com/PHPjc/866463.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/866463.htmlTechArticle手把手教你做关键词匹配项目(搜索引擎)---- 第十二天,教你做第十二天 第十二天 起点: 1.手把手教你做关键词匹配项目(搜索引擎)...
内容总结
以上是互联网集市为您收集整理的手把手教你做关键词匹配项目(搜索引擎)----第十二天,教你做第十二天_PHP教程全部内容,希望文章能够帮你解决手把手教你做关键词匹配项目(搜索引擎)----第十二天,教你做第十二天_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。