本文整理汇总了PHP中router::get_url方法的典型用法代码示例。如果您正苦于以下问题:PHP router::get_url方法的具体用法?PHP router::get_url怎么用?PHP router::get_url使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类router
的用法示例。
在下文中一共展示了router::get_url方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
public function __construct()
{
// check php version to upper than 5.6
if (version_compare(phpversion(), '5.6', '<')) {
die("<p>For using Saloos you must update php version to 5.6 or higher!</p>");
}
/**
* If DEBUG is TRUE you can see the full error description, If set to FALSE show userfriendly messages
* change it from project config.php
*/
if (!defined('DEBUG')) {
if (\lib\utility\option::get('config', 'meta', 'debug')) {
define('DEBUG', true);
} elseif (Tld === 'dev') {
define('DEBUG', true);
} else {
define('DEBUG', false);
}
}
if (DEBUG) {
ini_set('display_errors', 'On');
ini_set('display_startup_errors', 'On');
ini_set('error_reporting', 'E_ALL | E_STRICT');
ini_set('track_errors', 'On');
ini_set('display_errors', 1);
error_reporting(E_ALL);
//Setting for the PHP Error Handler
// set_error_handler('\lib\error::myErrorHandler');
//Setting for the PHP Exceptions Error Handler
// set_exception_handler('\lib\error::myErrorHandler');
//Setting for the PHP Fatal Error
// register_shutdown_function('\lib\error::myErrorHandler');
} else {
error_reporting(0);
ini_set('display_errors', 0);
}
/**
* A session is a way to store information (in variables) to be used across multiple pages.
* Unlike a cookie, the information is not stored on the users computer.
* access to session with this code: $_SESSION["test"]
*/
if (is_string(Domain)) {
session_name(Domain);
}
// set session cookie params
session_set_cookie_params(0, '/', '.' . Service, false, true);
// if user enable saving sessions in db
// temporary disable because not work properly
if (false) {
$handler = new \lib\utility\sessionHandler();
session_set_save_handler($handler, true);
}
// start sessions
session_start();
/**
* in coming soon period show public_html/pages/coming/ folder
* developer must set get parameter like site.com/dev=anyvalue
* for disable this attribute turn off it from config.php in project root
*/
if (\lib\utility\option::get('config', 'meta', 'coming') || defined('CommingSoon')) {
// if user set dev in get, show the site
if (isset($_GET['dev'])) {
setcookie('preview', 'yes', time() + 30 * 24 * 60 * 60, '/', '.' . Service);
} elseif (router::get_url(0) === 'saloos_tg') {
// allow telegram to commiunate on coming soon
} elseif (!isset($_COOKIE["preview"])) {
header('Location: http://' . AccountService . MainTld . '/static/page/coming/', true, 302);
exit;
}
}
// use saloos php gettext function
require_once lib . 'utility/gettext/gettext.inc';
// change header and remove php from it
header("X-Powered-By: Saloos!");
}
示例2: check_protocol
/**
* check current protocol and if needed redirect to another!
* @return [type] [description]
*/
private static function check_protocol()
{
// create new url for protocol checker
$newUrl = "";
$currentPath = $_SERVER['REQUEST_URI'];
$mainSite = \lib\utility\option::get('config', 'meta', 'redirectURL');
// if redirect to main site is enable and all thing is okay
// then redirect to the target url
if (\lib\utility\option::get('config', 'meta', 'multiDomain') && \lib\utility\option::get('config', 'meta', 'redirectToMain') && $mainSite && Tld !== 'dev' && parse_url($mainSite, PHP_URL_HOST) != \lib\router::get_root_domain()) {
// as soon as posible we create language detector library
switch (Tld) {
case 'ir':
$newUrl = $mainSite . "/fa";
break;
default:
break;
}
} elseif ($currentPath !== '/' && rtrim($currentPath, '/') !== $currentPath) {
$newUrl = $mainSite . rtrim($currentPath, '/');
} else {
// if want to force using https then redirect to https of current url
if (\lib\utility\option::get('config', 'meta', 'https')) {
if (Protocol === 'http') {
$newUrl = 'https://';
}
} elseif (Protocol === 'https') {
$newUrl = 'http://';
}
if ($newUrl) {
$newUrl .= router::get_root_domain() . '/' . router::get_url();
}
}
// var_dump($newUrl);exit();
// if newUrl is exist and we must to redirect
// then complete url and redirect to this address
if ($newUrl && !\lib\utility::get('force')) {
// redirect to best protocol because we want it!
$redirector = new \lib\redirector($newUrl);
$redirector->redirect();
}
}
示例3: __construct
public function __construct()
{
self::$repository = repository;
$path = preg_replace("/^\\.\\//", "/", '/');
$clean_url = $_SERVER['REQUEST_URI'];
if (preg_match("#0x#", $clean_url)) {
// var_dump("error");
}
$clean_url = preg_replace("#0x#Ui", "", $clean_url);
$clean_url = preg_replace("#^https?://{$_SERVER['HTTP_HOST']}\\/#", '', $clean_url);
$clean_url = preg_replace("#^{$path}#", '', $clean_url);
$clean_url = urldecode($clean_url);
preg_match("/^([^?]*)(\\?.*)?\$/", $clean_url, $url);
self::$real_url_string = self::$url_string = $url[1];
self::$real_url_array = self::$url_array = preg_split("[\\/]", preg_replace("/^\\/|\\/\$/", '', $url[1]), -1, PREG_SPLIT_NO_EMPTY);
// HTTP_HOST is not secure and attacker can change it
$domain = $_SERVER['HTTP_HOST'];
self::$domain = preg_split("[\\.]", $domain);
self::$sub_domain = self::$domain;
array_pop(self::$sub_domain);
array_pop(self::$sub_domain);
if (isset(self::$real_url_array[0]) && self::$real_url_array[0] == 'home' || isset(self::$real_url_array[1]) && self::$real_url_array[1] == 'home') {
\lib\error::page("home");
}
/**
* set default language to storage for next use
*/
if (defined('DefaultLanguage')) {
router::set_storage('defaultLanguage', DefaultLanguage);
} else {
router::set_storage('defaultLanguage', 'en_US');
}
/**
* user want control panel or CMS
*/
if (defined('CMS') && constant('CMS')) {
$myCP = constant('CMS') === true ? 'cp' : constant('CMS');
router::set_storage('CMS', $myCP);
} elseif (defined('ControlPanel') && constant('ControlPanel')) {
$myCP = constant('ControlPanel') === true ? 'cp' : constant('ControlPanel');
router::set_storage('CMS', $myCP);
} else {
router::set_storage('CMS', false);
}
/**
* before router
*/
if (self::$auto_repository) {
// first get subdomain and if not exist get first url part as mysub
$mysub = router::get_sub_domain();
if (!$mysub) {
$mysub = router::get_url(0);
router::$sub_is_fake = true;
router::set_storage('language', router::get_storage('defaultLanguage'));
}
if ($mysub) {
// automatically set repository if folder of it exist
$myaddons = array();
$mysub_real = $mysub;
$myloc = null;
$mysub_valid = null;
// check for account with specefic name
if (defined('Account') && constant('Account')) {
$mykey = constant('Account') === true ? 'account' : constant('Account');
$myaddons[$mykey] = 'account';
}
// check for account with specefic name
if (\lib\router::get_storage('CMS')) {
$myaddons[\lib\router::get_storage('CMS')] = 'cp';
}
// check this sub is exist in our data or not
if (array_key_exists($mysub, $myaddons)) {
$mysub = $myaddons[$mysub];
$mysub_valid = true;
}
// set repository name
$myrep = 'content_' . $mysub;
// check content_aaa folder is exist in project or saloos addons folder
if (is_dir(root . $myrep)) {
$myloc = false;
} elseif ($mysub_valid && is_dir(addons . $myrep)) {
$myloc = addons;
}
// if folder exist
if (!is_null($myloc)) {
// if url is fake, show it like subdomain and remove from url
if (router::$sub_is_fake) {
router::remove_url($mysub_real);
router::set_sub_domain($mysub_real);
}
// set repository to this folder
$myparam = array($myrep);
if ($myloc) {
array_push($myparam, $myloc);
}
// call function and pass param value to it
router::set_repository(...$myparam);
}
// if subdomain is set, change current lang to it, except for default language
if (defined('LangList') && constant('LangList')) {
//.........这里部分代码省略.........