本文整理汇总了PHP中tool::create_uri_name方法的典型用法代码示例。如果您正苦于以下问题:PHP tool::create_uri_name方法的具体用法?PHP tool::create_uri_name怎么用?PHP tool::create_uri_name使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tool
的用法示例。
在下文中一共展示了tool::create_uri_name方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: put
public function put()
{
role::check('product_category_add');
$return_struct = array('status' => 0, 'code' => 501, 'msg' => 'Not Implemented', 'content' => array());
try {
//* 初始化返回数据 */
$return_data = array();
//* 收集请求数据 ==根据业务逻辑定制== */
$request_data = $this->input->post();
$request_data = trims::run($request_data);
//echo "<pre>";print_r($request_data);die();
//标签过滤
tool::filter_strip_tags($request_data, array('description'));
//数据验证
$validResult = Validation::factory($request_data)->pre_filter('trim')->add_rules('pid', 'required', 'numeric')->add_rules('title', 'required', 'length[1,100]')->add_rules('title_manage', 'length[1,255]')->add_rules('uri_name', 'length[1,255]')->add_rules('description', 'length[0,1024]')->add_rules('memo', 'length[0,65535]')->add_rules('meta_title', 'length[0,255]')->add_rules('meta_keywords', 'length[0,255]')->add_rules('meta_description', 'length[0,65535]')->add_rules('is_show', 'numeric');
if ($validResult->validate() == FALSE) {
//* 输出错误的具体信息 ==根据业务逻辑定制== */
$return_struct['content']['errors'] = $validResult->errors();
throw new MyRuntimeException(Kohana::lang('o_global.input_error'), 400);
}
// 调用底层服务
$category_service = CategoryService::get_instance();
//判断title是否存在
if ($category_service->check_exist_title($request_data['title'])) {
throw new MyRuntimeException(Kohana::lang('o_product.category_title_has_exists'), 409);
}
//生成uri_name
$request_data['uri_name'] = tool::create_uri_name($request_data['uri_name']);
//uri_name重复判断
if (!empty($request_data['uri_name'])) {
while ($category_service->check_exist_uri_name($request_data['uri_name'])) {
$request_data['uri_name'] .= '-' . substr(uniqid(), -6);
}
}
//执行添加
$set_data = $request_data;
$set_data['is_show'] = $request_data['is_show'];
$set_data['pid'] = $request_data['pid'];
$set_data['classify_id'] = $request_data['classify_id'];
$set_data['title'] = $request_data['title'];
$set_data['title_manage'] = $request_data['title_manage'];
$set_data['pic_attach_id'] = $request_data['pic_attach_id'];
$set_data['meta_title'] = $request_data['meta_title'];
$set_data['meta_keywords'] = $request_data['meta_keywords'];
$set_data['meta_description'] = $request_data['meta_description'];
$set_data['description'] = $request_data['description'];
$set_data['memo'] = $request_data['memo'];
$set_data['create_timestamp'] = time();
$set_data['update_timestamp'] = time();
$return_data['id'] = $category_service->add($set_data);
if ($set_data['pid']) {
$category_service->update_categories();
}
if (!$return_data['id']) {
throw new MyRuntimeException('Internal Error', 500);
}
//* 补充&修改返回结构体 */
$return_struct['status'] = 1;
$return_struct['code'] = 200;
$return_struct['msg'] = '添加成功';
$return_struct['content'] = $return_data;
$return_struct['action'] = array('type' => 'location', 'url' => url::base() . 'product/' . $this->class_name . '/' . 'index');
//* 请求类型 */
if ($this->is_ajax_request()) {
// ajax 请求
// json 输出
$this->template->content = $return_struct;
} else {
// html 输出
$this->template->return_struct = $return_struct;
$content = new View('info');
$this->template->content = $content;
//* 请求结构数据绑定 */
$this->template->content->request_data = $request_data;
//* 返回结构体绑定 */
$this->template->content->return_struct = $return_struct;
}
// end of request type determine
} catch (MyRuntimeException $ex) {
$this->_ex(&$ex, $return_struct, $request_data);
}
}
示例2: crt_uri_name
/**
* 创建商品 URI NAME
*
* @param array $product
* @param array $eliminate
* @return string
*/
public static function crt_uri_name($product, $eliminate = array())
{
if (!is_array($eliminate)) {
$eliminate = array();
} else {
$eliminate = array_flip($eliminate);
}
$uri_name = strtolower(tool::create_uri_name($product['sku']));
if (!array_key_exists($uri_name, $eliminate) and !self::uri_name_exists($uri_name, empty($product['id']) ? 0 : $product['id'])) {
return $uri_name;
} else {
if (!empty($product['sku'])) {
return $uri_name . '-' . strtolower(tool::create_uri_name($product['sku']));
} else {
return $uri_name . '-' . strtolower(tool::create_uri_name(uniqid()));
}
}
}