我有双向访问权限:
1 : http://website.com/main/selectBaivietTag/video/chon-loc/2 //$this->uri->segment(5)=2
2 : http://website.com/video/tag/chon-loc/2 //$this->uri->segment(5)=1
我的路由器
$route['([a-z\-]+)/tag/([a-z\-]+)/(:num)']='main/selectBaivietTag/$1/$2';
$route['([a-z\-]+)/tag/([a-z\-]+)']='main/selectBaivietTag/$1/$2';
我想访问第二个但是$ this-> uri-> segment(5)= 2 not = 1,请帮助我! 非常感谢!
答案 0 :(得分:1)
尝试使用
第一个链接
1 : http://website.com/main/selectBaivietTag/video/chon-loc/2
你可以用这个
获得你的价值$this->uri->segment(5)
这将给你的价值,即2 但对于第二个链接
2 : http://website.com/video/tag/chon-loc/2
你可以用这个
获得你的价值$this->uri->segment(4)
这将给你的价值,即2
答案 1 :(得分:0)
答案 2 :(得分:0)
尝试以下代码:
abstract class BaseItem
class AmericanItem : BaseItem()
class EuropeanItem : BaseItem()
interface ItemParser<T : BaseItem> {
fun parse(item: T)
}
class AmericanItemParser : ItemParser<AmericanItem> {
override fun parse(item: AmericanItem) {
println("AmericanItemParser")
}
}
class EuropeanItemParser : ItemParser<EuropeanItem> {
override fun parse(item: EuropeanItem) {
println("parsing EuropeanItem")
}
}
fun main(args: Array<String>) {
val hashMap = HashMap<Class<out BaseItem>, ItemParser<*>>()
hashMap.put(AmericanItem::class.java, EuropeanItemParser())
hashMap.put(EuropeanItem::class.java, AmericanItemParser())
val inputItem = EuropeanItem()
val foundParser = hashMap[inputItem.javaClass]
foundParser?.parse(inputItem)
}
对我来说很好。