当前位置: 首页>>代码示例>>PHP>>正文


PHP Tools\URL类代码示例

本文整理汇总了PHP中Thelia\Tools\URL的典型用法代码示例。如果您正苦于以下问题:PHP URL类的具体用法?PHP URL怎么用?PHP URL使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了URL类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: generateRewrittenUrl

 /**
  * Generate a rewritten URL from the object title, and store it in the rewriting table
  *
  * @param string $locale a valid locale (e.g. en_US)
  */
 public function generateRewrittenUrl($locale)
 {
     if ($this->isNew()) {
         throw new \RuntimeException(sprintf('Object %s must be saved before generating url', $this->getRewrittenUrlViewName()));
     }
     // Borrowed from http://stackoverflow.com/questions/2668854/sanitizing-strings-to-make-them-url-and-filename-safe
     $this->setLocale($locale);
     $generateEvent = new GenerateRewrittenUrlEvent($this, $locale);
     $this->dispatchEvent(TheliaEvents::GENERATE_REWRITTENURL, $generateEvent);
     if ($generateEvent->isRewritten()) {
         return $generateEvent->getUrl();
     }
     $title = $this->getTitle();
     if (null == $title) {
         throw new \RuntimeException('Impossible to create an url if title is null');
     }
     // Replace all weird characters with dashes
     $string = preg_replace('/[^\\w\\-~_\\.]+/u', '-', $title);
     // Only allow one dash separator at a time (and make string lowercase)
     $cleanString = mb_strtolower(preg_replace('/--+/u', '-', $string), 'UTF-8');
     $urlFilePart = rtrim($cleanString, '.-~_') . ".html";
     try {
         $i = 0;
         while (URL::getInstance()->resolve($urlFilePart)) {
             $i++;
             $urlFilePart = sprintf("%s-%d.html", $cleanString, $i);
         }
     } catch (UrlRewritingException $e) {
         $rewritingUrl = new RewritingUrl();
         $rewritingUrl->setUrl($urlFilePart)->setView($this->getRewrittenUrlViewName())->setViewId($this->getId())->setViewLocale($locale)->save();
     }
     return $urlFilePart;
 }
开发者ID:margery,项目名称:thelia,代码行数:38,代码来源:UrlRewritingTrait.php

示例2: postAction

 public function postAction(Request $request)
 {
     $form = new ConfigurationForm($request);
     try {
         $configForm = $this->validateForm($form);
         $data = $configForm->getData();
         $paylineConfig = new PaylineConfig();
         $paylineConfig->merge($data);
         // Redirect to the success URL,
         if ($this->getRequest()->get('save_mode') == 'stay') {
             // If we have to stay on the same page, redisplay the configuration page/
             $route = '/admin/module/Payline';
         } else {
             // If we have to close the page, go back to the module back-office page.
             $route = '/admin/modules';
         }
         return RedirectResponse::create(URL::getInstance()->absoluteUrl($route));
     } catch (FormValidationException $e) {
         $error = $this->createStandardFormValidationErrorMessage($e);
     } catch (\Exception $e) {
         $error = $e->getMessage();
     }
     $this->setupFormErrorContext('Payline Configuration', $error, $form, $e);
     return $this->render('module-configure', ['module_code' => 'Payline']);
 }
开发者ID:Alban-io,项目名称:Payline,代码行数:25,代码来源:ConfigurationController.php

示例3: indexAction

 public function indexAction()
 {
     if (!$this->getSecurityContext()->hasAdminUser()) {
         return new RedirectResponse(URL::getInstance()->absoluteUrl($this->getRoute("admin.login")));
     }
     return $this->render("home");
 }
开发者ID:margery,项目名称:thelia,代码行数:7,代码来源:AdminController.php

示例4: noAction

 /**
  *
  * set the default value for thelia
  *
  * In this case there is no action so we have to verify if some needed params are not missing
  *
  * @param \Symfony\Component\HttpFoundation\Request $request
  */
 public function noAction(Request $request)
 {
     $view = null;
     if (!($view = $request->query->get('view'))) {
         if ($request->request->has('view')) {
             $view = $request->request->get('view');
         }
     }
     if (null !== $view) {
         $request->attributes->set('_view', $view);
     }
     if (null === $view && null === $request->attributes->get("_view")) {
         $request->attributes->set("_view", "index");
     }
     if (ConfigQuery::isRewritingEnable()) {
         if ($request->attributes->get('_rewritten', false) === false) {
             /* Does the query GET parameters match a rewritten URL ? */
             $rewrittenUrl = URL::getInstance()->retrieveCurrent($request);
             if ($rewrittenUrl->rewrittenUrl !== null) {
                 /* 301 redirection to rewritten URL */
                 return $this->generateRedirect($rewrittenUrl, 301);
             }
         }
     }
 }
开发者ID:NandoKstroNet,项目名称:thelia,代码行数:33,代码来源:DefaultController.php

示例5: redirectToListTemplate

 /**
  * @inheritDoc
  */
 protected function redirectToListTemplate()
 {
     $id = $this->getRequest()->query->get("dealer_id");
     if (null === $id) {
         $id = $this->getRequest()->request->get("dealer_id");
     }
     return new RedirectResponse(URL::getInstance()->absoluteUrl("/admin/module/Dealer/dealer/edit#dealerteam", ["dealer_id" => $id]));
 }
开发者ID:thelia-modules,项目名称:DealerTeam,代码行数:11,代码来源:PersonController.php

示例6: ok

 /**
  * @param $order_id
  * @return \Thelia\Core\HttpFoundation\Response
  */
 public function ok($order_id)
 {
     /*
      * Check if token&order are valid
      */
     $token = null;
     $order = $this->checkorder($order_id, $token);
     /*
      * $payerid string value returned by paypal
      * $logger PaypalApiLogManager used to log transctions with paypal
      */
     $payerid = $this->getRequest()->get('PayerID');
     $logger = new PaypalApiLogManager();
     if (!empty($payerid)) {
         /*
          * $config ConfigInterface Object that contains configuration
          * $api PaypalApiCredentials Class used by the library to store and use 3T login(username, password, signature)
          * $sandbox bool true if sandbox is enabled
          */
         $config = new PaypalConfig();
         $config->pushValues();
         $api = new PaypalApiCredentials($config);
         $sandbox = $api->getConfig()->getSandbox();
         /*
          * Send getExpressCheckout & doExpressCheckout
          * empty cart
          */
         $getExpressCheckout = new PaypalNvpOperationsGetExpressCheckoutDetails($api, $token);
         $request = new PaypalNvpMessageSender($getExpressCheckout, $sandbox);
         $response = $request->send();
         $logger->logTransaction($response);
         $response = PaypalApiManager::nvpToArray($response);
         if (isset($response['ACK']) && $response['ACK'] === 'Success' && isset($response['PAYERID']) && $response['PAYERID'] === $payerid && isset($response['TOKEN']) && $response['TOKEN'] === $token) {
             $doExpressCheckout = new PaypalNvpOperationsDoExpressCheckoutPayment($api, round($order->getTotalAmount(), 2), $order->getCurrency()->getCode(), $payerid, PaypalApiManager::PAYMENT_TYPE_SALE, $token, URL::getInstance()->absoluteUrl("/module/paypal/listen"));
             $request = new PaypalNvpMessageSender($doExpressCheckout, $token);
             $response = $request->send();
             $logger->logTransaction($response);
             $response = PaypalApiManager::nvpToArray($response);
             /*
              * In case of success, go to success page
              * In case of error, show it
              */
             if (isset($response['ACK']) && $response['ACK'] === "Success" && isset($response['PAYMENTINFO_0_PAYMENTSTATUS']) && $response['PAYMENTINFO_0_PAYMENTSTATUS'] === "Completed" && isset($response['TOKEN']) && $response['TOKEN'] === $token) {
                 /*
                  * Set order status as paid
                  */
                 $event = new OrderEvent($order);
                 $event->setStatus(OrderStatusQuery::getPaidStatus()->getId());
                 $this->dispatch(TheliaEvents::ORDER_UPDATE_STATUS, $event);
                 $this->redirectToSuccessPage($order_id);
             }
         }
     }
     /*
      * If no redirection done ( === error ): Empty cart
      */
     return $this->render("order-failed", ["failed_order_id" => $order_id]);
 }
开发者ID:Asenar,项目名称:thelia-Paypal,代码行数:62,代码来源:PaypalResponse.php

示例7: createGoogleClient

 public function createGoogleClient()
 {
     $client = new \Google_Client();
     $client->setApplicationName(GoogleShopping::getConfigValue('application_name'));
     $client->setClientId(GoogleShopping::getConfigValue('client_id'));
     $client->setClientSecret(GoogleShopping::getConfigValue('client_secret'));
     $client->setRedirectUri(URL::getInstance()->absoluteUrl('/googleshopping/oauth2callback'));
     $client->setScopes('https://www.googleapis.com/auth/content');
     $client->setAccessToken(GoogleShopping::getConfigValue('oauth_access_token'));
     return $client;
 }
开发者ID:Mertiozys,项目名称:GoogleShopping,代码行数:11,代码来源:GoogleShoppingHandler.php

示例8: configure

 public function configure()
 {
     if (null !== ($response = $this->checkAuth(AdminResources::MODULE, 'Tinymce', AccessManager::UPDATE))) {
         return $response;
     }
     // Initialize the potential exception
     $ex = null;
     // Create the Form from the request
     $configurationForm = new ConfigurationForm($this->getRequest());
     try {
         // Check the form against constraints violations
         $form = $this->validateForm($configurationForm, "POST");
         // Get the form field values
         $data = $form->getData();
         Tinymce::setConfigValue('product_summary', $data['product_summary']);
         Tinymce::setConfigValue('product_conclusion', $data['product_conclusion']);
         Tinymce::setConfigValue('content_summary', $data['content_summary']);
         Tinymce::setConfigValue('content_conclusion', $data['content_conclusion']);
         Tinymce::setConfigValue('category_summary', $data['category_summary']);
         Tinymce::setConfigValue('category_conclusion', $data['category_conclusion']);
         Tinymce::setConfigValue('folder_summary', $data['folder_summary']);
         Tinymce::setConfigValue('folder_conclusion', $data['folder_conclusion']);
         Tinymce::setConfigValue('brand_summary', $data['brand_summary']);
         Tinymce::setConfigValue('brand_conclusion', $data['brand_conclusion']);
         Tinymce::setConfigValue('show_menu_bar', $data['show_menu_bar']);
         Tinymce::setConfigValue('force_pasting_as_text', $data['force_pasting_as_text']);
         Tinymce::setConfigValue('editor_height', $data['editor_height']);
         Tinymce::setConfigValue('custom_css', $data['custom_css']);
         // Save Custom CSS in default assets
         $customCss = __DIR__ . DS . '..' . DS . 'templates' . DS . 'backOffice' . DS . 'default' . DS . 'assets' . DS . 'css' . DS . 'custom-css.less';
         if (1 || false === file_put_contents($customCss, $data['custom_css'])) {
             throw new TheliaProcessException($this->getTranslator()->trans("Failed to update custom CSS file \"%file\". Please check this file or parent folder write permissions.", ['%file' => $customCss]));
         }
         // Log configuration modification
         $this->adminLogAppend("tinymce.configuration.message", AccessManager::UPDATE, sprintf("Tinymce configuration updated"));
         // Everything is OK.
         return new RedirectResponse(URL::getInstance()->absoluteUrl('/admin/module/Tinymce'));
     } catch (FormValidationException $ex) {
         // Form cannot be validated. Create the error message using
         // the BaseAdminController helper method.
         $error_msg = $this->createStandardFormValidationErrorMessage($ex);
     } catch (\Exception $ex) {
         // Any other error
         $error_msg = $ex->getMessage();
     }
     // At this point, the form has errors, and should be redisplayed. We don not redirect,
     // just redisplay the same template.
     // Setup the Form error context, to make error information available in the template.
     $this->setupFormErrorContext($this->getTranslator()->trans("Tinymce configuration", [], Tinymce::MODULE_DOMAIN), $error_msg, $configurationForm, $ex);
     // Do not redirect at this point, or the error context will be lost.
     // Just redisplay the current template.
     return $this->render('module-configure', array('module_code' => 'Tinymce'));
 }
开发者ID:zorn-v,项目名称:thelia,代码行数:53,代码来源:ConfigureController.php

示例9: saveAction

 public function saveAction()
 {
     if (null !== ($response = $this->checkAuth(AdminResources::MODULE, ['Twitter'], AccessManager::UPDATE))) {
         return $response;
     }
     $form = new ConfigurationForm($this->getRequest());
     $configurationForm = $this->validateForm($form);
     $consumer_key = $configurationForm->get('consumer_key')->getData();
     $consumer_secret = $configurationForm->get('consumer_secret')->getData();
     $screen_name = $configurationForm->get('screen_name')->getData();
     $count = $configurationForm->get('count')->getData();
     $cache_lifetime = $configurationForm->get('cache_lifetime')->getData();
     // $debug_mode     = $configurationForm->get('debug_mode')->getData();
     $errorMessage = null;
     $response = null;
     // Save config values
     ConfigQuery::write('twitter_consumer_key', $consumer_key, 1, 1);
     ConfigQuery::write('twitter_consumer_secret', $consumer_secret, 1, 1);
     ConfigQuery::write('twitter_screen_name', $screen_name, 1, 1);
     ConfigQuery::write('twitter_count', $count, 1, 1);
     ConfigQuery::write('twitter_cache_lifetime', $cache_lifetime * 60, 1, 1);
     // Minutes
     ConfigQuery::write('twitter_last_updated', 0, 1, 1);
     if ($screen_name && $consumer_key && $consumer_secret) {
         if (!extension_loaded('openssl')) {
             $sslError = $this->getTranslator()->trans("This module requires the PHP extension open_ssl to work.", [], Twitter::DOMAIN_NAME);
         } else {
             $config = array('consumer_key' => $consumer_key, 'consumer_secret' => $consumer_secret, 'output_format' => 'array');
             try {
                 $connection = new TwitterOAuth($config);
                 $bearer_token = $connection->getBearerToken();
             } catch (\Exception $e) {
                 $errorMessage = $e->getMessage();
             }
             try {
                 $params = array('screen_name' => $screen_name, 'count' => 1, 'exclude_replies' => true);
                 $response = $connection->get('statuses/user_timeline', $params);
                 if ($response['error']) {
                     throw new TwitterException($response['error']);
                 }
             } catch (\Exception $e) {
                 $erroMessage = $this->getTranslator()->trans("Unrecognized screen name", [], Twitter::DOMAIN_NAME);
             }
         }
     }
     $response = RedirectResponse::create(URL::getInstance()->absoluteUrl('/admin/module/Twitter'));
     if (null !== $errorMessage) {
         $this->setupFormErrorContext($this->getTranslator()->trans("Twitter configuration failed.", [], Twitter::DOMAIN_NAME), $errorMessage, $form);
         $response = $this->render("module-configure", ['module_code' => 'Twitter']);
     }
     return $response;
 }
开发者ID:nicolasleon,项目名称:Twitter,代码行数:52,代码来源:ConfigurationController.php

示例10: testLoadSpecificUrl

 public function testLoadSpecificUrl()
 {
     $searchResult = new RewritingUrl();
     $searchResult->setUrl('foo.html');
     $retrieverQuery = $this->getMock('\\Thelia\\Model\\RewritingUrlQuery', array('getSpecificUrlQuery'));
     $retrieverQuery->expects($this->any())->method('getSpecificUrlQuery')->with('view', 'fr_FR', 1, array('foo0' => 'bar0', 'foo1' => 'bar1'))->will($this->returnValue($searchResult));
     $retriever = new RewritingRetriever();
     $rewritingUrlQuery = $this->getProperty('rewritingUrlQuery');
     $rewritingUrlQuery->setValue($retriever, $retrieverQuery);
     $retriever->loadSpecificUrl('view', 'fr_FR', 1, array('foo0' => 'bar0', 'foo1' => 'bar1'));
     $this->assertEquals('foo.html', $retriever->rewrittenUrl);
     $this->assertEquals(URL::getInstance()->viewUrl('view', array('foo0' => 'bar0', 'foo1' => 'bar1', 'lang' => 'fr_FR', 'view_id' => 1)), $retriever->url);
 }
开发者ID:margery,项目名称:thelia,代码行数:13,代码来源:RewritingRetrieverTest.php

示例11: getPaypalURL

 /**
  * @param  string $type
  * @return string
  */
 public static function getPaypalURL($type, $order_id)
 {
     $ret = "";
     switch ($type) {
         case 'cancel':
             $ret = URL::getInstance()->absoluteUrl("/module/paypal/cancel/" . $order_id);
             break;
         case 'paiement':
             $ret = URL::getInstance()->absoluteUrl("/module/paypal/ok/" . $order_id);
             break;
     }
     return $ret;
 }
开发者ID:Asenar,项目名称:thelia-Paypal,代码行数:17,代码来源:Paypal.php

示例12: resolveAssetURL

 /**
  * Generate an asset URL
  *
  * @param string $source a module code, or SmartyParser::TEMPLATE_ASSETS_KEY
  * @param string $file the file path, relative to a template base directory (e.g. assets/css/style.css)
  * @param string $type the asset type, either 'css' or '
  * @param ParserInterface $parserInterface the current template parser
  * @param array $filters the filters to pass to the asset manager
  * @param bool $debug the debug mode
  * @param string $declaredAssetsDirectory if not null, this is the assets directory declared in the {declare_assets} function of a template.
  * @param mixed $sourceTemplateName A template name, of false. If provided, the assets will be searched in this template directory instead of the current one.
  * @return mixed
  */
 public function resolveAssetURL($source, $file, $type, ParserInterface $parserInterface, $filters = [], $debug = false, $declaredAssetsDirectory = null, $sourceTemplateName = false)
 {
     $url = "";
     // Normalize path separator
     $file = $this->fixPathSeparator($file);
     $fileRoot = $this->resolveAssetSourcePath($source, $sourceTemplateName, $file, $parserInterface);
     if (null !== $fileRoot) {
         $templateDefinition = $parserInterface->getTemplateDefinition($sourceTemplateName);
         $url = $this->assetsManager->processAsset($fileRoot . DS . $file, $fileRoot, THELIA_WEB_DIR . $this->path_relative_to_web_root, $templateDefinition->getPath(), $source, URL::getInstance()->absoluteUrl($this->path_relative_to_web_root, null, URL::PATH_TO_FILE), $type, $filters, $debug);
     } else {
         Tlog::getInstance()->addError("Asset {$file} (type {$type}) was not found.");
     }
     return $url;
 }
开发者ID:margery,项目名称:thelia,代码行数:27,代码来源:SmartyAssetsResolver.php

示例13: parseResults

 /**
  * @param LoopResult $loopResult
  *
  * @return LoopResult
  */
 public function parseResults(LoopResult $loopResult)
 {
     foreach ($loopResult->getResultDataCollection() as $type) {
         $loopResultRow = new LoopResultRow($type);
         $url = URL::getInstance()->absoluteUrl($this->getBaseUrl() . "/" . $type->getId());
         try {
             $loopResultRow->set("HANDLE_CLASS", $type->getHandleClass())->set("ID", $type->getId())->set("TITLE", $type->getVirtualColumn("i18n_TITLE"))->set("DESCRIPTION", $type->getVirtualColumn("i18n_DESCRIPTION"))->set("URL", $url)->set("POSITION", $type->getPosition())->set("CATEGORY_ID", $type->getByName($this->getCategoryName()));
         } catch (ClassNotFoundException $e) {
         } catch (\ErrorException $e) {
         }
         $loopResult->addRow($loopResultRow);
     }
     return $loopResult;
 }
开发者ID:NandoKstroNet,项目名称:thelia,代码行数:19,代码来源:ImportExportType.php

示例14: configure

 /**
  * @return mixed an HTTP response, or
  */
 public function configure()
 {
     if (null !== ($response = $this->checkAuth(AdminResources::MODULE, 'Payzen', AccessManager::UPDATE))) {
         return $response;
     }
     // Initialize the potential error message, and the potential exception
     $error_msg = $ex = null;
     // Create the Form from the request
     $configurationForm = new ConfigurationForm($this->getRequest());
     try {
         // Check the form against constraints violations
         $form = $this->validateForm($configurationForm, "POST");
         // Get the form field values
         $data = $form->getData();
         foreach ($data as $name => $value) {
             if (is_array($value)) {
                 $value = implode(';', $value);
             }
             PayzenConfigQuery::set($name, $value);
         }
         // Log configuration modification
         $this->adminLogAppend("payzen.configuration.message", AccessManager::UPDATE, sprintf("Payzen configuration updated"));
         // Redirect to the success URL,
         if ($this->getRequest()->get('save_mode') == 'stay') {
             // If we have to stay on the same page, redisplay the configuration page/
             $route = '/admin/module/Payzen';
         } else {
             // If we have to close the page, go back to the module back-office page.
             $route = '/admin/modules';
         }
         $this->redirect(URL::getInstance()->absoluteUrl($route));
         // An exit is performed after redirect.+
     } catch (FormValidationException $ex) {
         // Form cannot be validated. Create the error message using
         // the BaseAdminController helper method.
         $error_msg = $this->createStandardFormValidationErrorMessage($ex);
     } catch (\Exception $ex) {
         // Any other error
         $error_msg = $ex->getMessage();
     }
     // At this point, the form has errors, and should be redisplayed. We don not redirect,
     // just redisplay the same template.
     // Setup the Form error context, to make error information available in the template.
     $this->setupFormErrorContext($this->getTranslator()->trans("Payzen configuration", [], Payzen::MODULE_DOMAIN), $error_msg, $configurationForm, $ex);
     // Do not redirect at this point, or the error context will be lost.
     // Just redisplay the current template.
     return $this->render('module-configure', array('module_code' => 'Payzen'));
 }
开发者ID:roadster31,项目名称:Payzen,代码行数:51,代码来源:ConfigurationController.php

示例15: pay

 /**
  * @return mixed
  */
 public function pay(Order $order)
 {
     $c = Config::read(CmCIC::JSON_CONFIG_PATH);
     $currency = $order->getCurrency()->getCode();
     $opts = "";
     $cmCicRouter = $this->container->get('router.cmcic');
     $mainRouter = $this->container->get('router.front');
     $vars = array("url_bank" => sprintf(self::CMCIC_URLPAIEMENT, $c["CMCIC_SERVER"], $c["CMCIC_PAGE"]), "version" => $c["CMCIC_VERSION"], "TPE" => $c["CMCIC_TPE"], "date" => date("d/m/Y:H:i:s"), "montant" => (string) round($order->getTotalAmount(), 2) . $currency, "reference" => self::harmonise($order->getId(), 'numeric', 12), "url_retour" => URL::getInstance()->absoluteUrl($cmCicRouter->generate("cmcic.receive", array(), Router::ABSOLUTE_URL)) . "/" . (string) $order->getId(), "url_retour_ok" => URL::getInstance()->absoluteUrl($mainRouter->generate("order.placed", array("order_id" => (string) $order->getId()), Router::ABSOLUTE_URL)), "url_retour_err" => URL::getInstance()->absoluteUrl($cmCicRouter->generate("cmcic.payfail", array("order_id" => (string) $order->getId()), Router::ABSOLUTE_URL)), "lgue" => strtoupper($this->getRequest()->getSession()->getLang()->getCode()), "societe" => $c["CMCIC_CODESOCIETE"], "texte-libre" => "0", "mail" => $this->getRequest()->getSession()->getCustomerUser()->getEmail(), "nbrech" => "", "dateech1" => "", "montantech1" => "", "dateech2" => "", "montantech2" => "", "dateech3" => "", "montantech3" => "", "dateech4" => "", "montantech4" => "");
     $hashable = sprintf(self::CMCIC_CGI1_FIELDS, $vars["TPE"], $vars["date"], $vars["montant"], $vars["reference"], $vars["texte-libre"], $vars["version"], $vars["lgue"], $vars["societe"], $vars["mail"], $vars["nbrech"], $vars["dateech1"], $vars["montantech1"], $vars["dateech2"], $vars["montantech2"], $vars["dateech3"], $vars["montantech3"], $vars["dateech4"], $vars["montantech4"], $opts);
     $mac = self::computeHmac($hashable, self::getUsableKey($c["CMCIC_KEY"]));
     $vars["MAC"] = $mac;
     $parser = $this->container->get("thelia.parser");
     $parser->setTemplateDefinition(new TemplateDefinition('module_cmcic', TemplateDefinition::FRONT_OFFICE));
     $render = $parser->render("gotobankservice.html", $vars);
     return Response::create($render);
 }
开发者ID:egruel,项目名称:jus-de-corossol,代码行数:19,代码来源:CmCIC.php


注:本文中的Thelia\Tools\URL类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。