本文整理汇总了PHP中Router::get方法的典型用法代码示例。如果您正苦于以下问题:PHP Router::get方法的具体用法?PHP Router::get怎么用?PHP Router::get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Router
的用法示例。
在下文中一共展示了Router::get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testGet
/**
* @covers Route::get
* @todo Implement testGet().
*/
public function testGet()
{
$except = false;
$this->object->add(new \PHPixie\Route('a', 'b', array()));
try {
$this->object->get('c');
} catch (\Exception $e) {
$except = true;
}
$this->assertEquals(true, $except);
}
示例2: download
protected function download($arguments)
{
$bundleidentifier = $arguments[self::PARAM_2_IDENTIFIER];
$format = $arguments[self::PARAM_2_FORMAT];
$files = $this->getApplicationVersions($bundleidentifier, self::PLATFORM_ANDROID);
if (count($files) == 0) {
Logger::log("no versions found: {$bundleidentifier} {$type}");
return Helper::sendJSONAndExit(self::E_NO_VERSIONS_FOUND);
}
$dir = array_shift(array_keys($files[self::VERSIONS_SPECIFIC_DATA]));
$current = $files[self::VERSIONS_SPECIFIC_DATA][$dir];
if ($format == self::PARAM_2_FORMAT_VALUE_APK) {
$file = isset($current[self::FILE_ANDROID_APK]) ? $current[self::FILE_ANDROID_APK] : null;
if (!$file) {
return Router::get()->serve404();
}
@ob_end_clean();
return Helper::sendFile($file, self::CONTENT_TYPE_APK);
// if ($dir == 0) $dir = ""; else $dir .= '/';
// @ob_end_clean();
// header('Location: ' . Router::get()->baseURL.$bundleidentifier.'/'.$dir.basename($file));
exit;
}
return Router::get()->serve404();
}
示例3: testMatchingCheckesHost
public function testMatchingCheckesHost()
{
$this->setExpectedException('Vexillum\\Http\\PageNotFoundException');
$route = Router::get('/apath', function () {
}, array('host' => 'localyacht.dev'));
Router::run('GET', 'localboat.dev', '/apath');
}
示例4: initREST
/**
* Hacer el router de la petición y envia los parametros correspondientes
* a la acción, adema captura formatos de entrada y salida
*/
protected function initREST()
{
/* formato de entrada */
$this->_fInput = isset($_SERVER["CONTENT_TYPE"]) ? $_SERVER["CONTENT_TYPE"] : '';
/* busco un posible formato de salida */
$accept = self::accept();
$keys = array_keys($this->_outputType);
foreach ($accept as $key => $a) {
if (in_array($key, $keys)) {
$this->_fOutput = $this->_outputType[$key];
break;
}
}
/* por defecto uso json
* ¿o debería mandar un 415?
*/
$this->_fOutput = empty($this->_fOutput) ? 'json' : $this->_fOutput;
View::select(null, $this->_fOutput);
/**
* reescribimos la acción a ejecutar, ahora tendra será el metodo de
* la peticion: get(:id), getAll , put, post, delete, etc.
*/
$action = $this->action_name;
$method = strtolower(Router::get('method'));
$rewrite = "{$method}_{$action}";
if ($this->actionExist($rewrite)) {
$this->action_name = $rewrite;
} elseif ($action == 'index' && $method != 'post') {
$this->action_name = 'getAll';
} else {
$this->action_name = $method;
$this->parameters = $action == 'index' ? $this->parameters : array($action) + $this->parameters;
}
}
示例5: linkAction
/**
* Crea un enlace a una acción del mismo controller que estemos
*
* @example Html::linkAction
* echo Html::linkAction('accion/','Enlace a la acción del mismo controller')
*
* @param string $action
* @param string $text Texto a mostrar
* @param string|array $attrs Atributos adicionales
* @return string
*/
public static function linkAction($action, $text, $attrs = NULL)
{
if (is_array($attrs)) {
$attrs = Tag::getAttrs($attrs);
}
return '<a href="' . PUBLIC_PATH . Router::get('controller_path') . "/{$action}\" {$attrs} >{$text}</a>";
}
示例6: handle_exception
/**
* Maneja las excepciones no capturadas
*
* @param Exception $e
* */
public static function handle_exception($e)
{
if (isset($e->_view) && ($e->_view == 'no_controller' || $e->_view == 'no_action')) {
header('HTTP/1.1 404 Not Found');
} else {
header('HTTP/1.1 500 Internal Server Error');
}
extract(Router::get(), EXTR_OVERWRITE);
$Controller = Util::camelcase($controller);
ob_start();
if (PRODUCTION) {
include APP_PATH . 'views/_shared/errors/404.phtml';
return;
} else {
$Template = 'views/templates/exception.phtml';
if (isset($e->_view)) {
include CORE_PATH . "views/errors/{$e->_view}.phtml";
} else {
include CORE_PATH . "views/errors/exception.phtml";
}
}
$content = ob_get_clean();
// termina los buffers abiertos
while (ob_get_level()) {
ob_end_clean();
}
// verifica si esta cargado el View
if (class_exists('View')) {
if (View::get('template') === NULL) {
echo $content;
exit;
}
}
include CORE_PATH . $Template;
}
示例7: linkAction
/**
* Crea un enlace a una accion con mensaje de confirmacion respetando
* las convenciones de Kumbia
*
* @param string $action accion
* @param string $text texto a mostrar
* @param string $confirm mensaje de confirmacion
* @param string $class clases adicionales para el link
* @param string|array $attrs atributos adicionales
* @return string
*/
public static function linkAction($action, $text, $confirm = '¿Está Seguro?', $class = NULL, $attrs = NULL)
{
if (is_array($attrs)) {
$attrs = Tag::getAttrs($attrs);
}
return '<a href="' . PUBLIC_PATH . Router::get('controller_path') . "/{$action}\" data-msg=\"{$confirm}\" class=\"js-confirm {$class}\" {$attrs}>{$text}</a>";
}
示例8: initialize
protected final function initialize()
{
$controller = Router::get("controller");
$action = Router::get("action");
$ruta = $controller . "/" . $action;
$tipousuario = Auth::get("tipousuario");
if (Auth::is_valid()) {
if ($tipousuario == "alumno") {
if ($ruta != "perfil/index" and $ruta != "perfil/logout" and $ruta != "asistencia/alumno") {
Flash::warning("Acceso Denegado");
Router::redirect("perfil/");
}
}
if ($tipousuario == "docente") {
$permisos = array("perfil/actualizar", "perfil/cambiarpass", "perfil/index", "perfil/programarevaluaciones", "calificar/grupo", "perfil/logout", "asistencia/index", "asistencia/agregar_asistencia");
if (!in_array($ruta, $permisos)) {
Flash::warning("Acceso Denegado");
Router::redirect("perfil/");
}
}
} else {
if ($ruta != 'index/index' and $ruta != 'perfil/logout') {
Flash::warning("Acceso Denegado");
Router::redirect("index/index");
}
}
}
示例9: initialize
/**
* Inicialización de la petición
* ****************************************
* Aqui debe ir la autenticación de la API
* ****************************************
*/
protected final function initialize()
{
$router = Router::get();
// Habilitando CORS para hacer funcional el RESTful
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Credentials: true');
// Habilitar todos los headers que recibe (Authorization sobre todo para manejar JWT)
$requestHeaders = $this->getHeaders();
$request = array_keys($requestHeaders);
header("Access-Control-Allow-Headers: " . implode(',', $request) . ',Authorization');
// Verificar los accesos y validez de token
// TODO: Implementar un limit a la consultas de getAll() por seguridad cuando la vista sea pública
if (!($this->publicView && ($router['method'] == 'GET' || $router['method'] == 'OPTIONS'))) {
// Precendia del Token
if (!empty($requestHeaders['Authorization'])) {
$token = $requestHeaders['Authorization'];
$this->me = JWT::decode(str_replace('Bearer ', '', $token), TOKEN);
$now = time();
// Verificamos que este activo
if ($now >= $this->me->exp) {
$this->setCode(403);
die('Error 403 - Acceso Denegado');
}
} else {
$this->setCode(403);
die('Error 403 - Acceso Denegado');
}
}
}
示例10: url
/**
* Provides the url() functionality. Generates a full url (including
* domain and index.php).
*
* @param string URI to make a full URL for (or name of a named route)
* @param array Array of named params for named routes
* @return string
*/
public function url($uri = '', $named_params = array())
{
if ($named_uri = \Router::get($uri, $named_params)) {
$uri = $named_uri;
}
return \Uri::create($uri);
}
示例11: search
public static function search($string = null)
{
if ($string != null) {
$string = array($string);
} else {
$string = array();
$language_file = APP_PATH . DS . 'languages' . DS . Router::get('language') . '.php';
if (is_null(self::$_) && file_exists($language_file)) {
include_once $language_file;
self::$_ = $_;
}
foreach (self::$_ as $k => $v) {
$string[] = $k;
}
}
foreach ($string as $s) {
$directories = array('templates' . DS . TEMPLATE, 'views', 'controllers', 'models');
foreach ($directories as $directory) {
$_directory = APP_PATH . DS . $directory;
$ln = 1;
foreach (glob("{$_directory}" . DS . "*") as $file) {
if (!is_dir($file)) {
foreach (file($file) as $line) {
if (stripos($line, $s) !== false && stripos(str_replace('"', '\'', $line), 'search(\'' . $s . '\')') === false) {
echo '[' . $directory . DS . basename($file) . ':' . $ln . '][`' . $s . '`]: "' . trim(strip_tags($line)) . '"<hr />';
}
$ln++;
}
}
}
}
}
}
示例12: check
/**
* Método para verificar si tiene acceso al recurso
* @return boolean
*/
public function check($perfil)
{
$modulo = Router::get('module');
$controlador = Router::get('controller');
$accion = Router::get('action');
if (isset($this->_templates["{$perfil}"]) && !Input::isAjax()) {
View::template("backend/{$this->_templates["{$perfil}"]}");
}
if ($modulo) {
$recurso1 = "{$modulo}/{$controlador}/{$accion}";
//Por si tiene acceso a una única acción
$recurso2 = "{$modulo}/{$controlador}/*";
//por si tiene acceso a todas las acciones
$recurso3 = "{$modulo}/*/*";
//por si tiene acceso a todos los controladores
$recurso4 = "*";
//por si tiene acceso a todo el sistema
} else {
$recurso1 = "{$controlador}/{$accion}";
//Por si tiene acceso a una única acción
$recurso2 = "{$controlador}/*";
//por si tiene acceso a todas las acciones
$recurso3 = "{$modulo}/*/*";
//por si tiene acceso a todos los controladores
$recurso4 = "*";
//por si tiene acceso a todo el sistema
}
//Flash::info("Perfil: $perfil <br /> Recurso 1: $recurso1 <br /> Recurso 2: $recurso2 <br /> Recurso 3: $recurso3 <br /> Recurso 4: $recurso4");
return self::$_acl->check($recurso1, $perfil) || self::$_acl->check($recurso2, $perfil) || self::$_acl->check($recurso3, $perfil) || self::$_acl->check($recurso4, $perfil);
}
示例13: handleException
/**
* Maneja las excepciones no capturadas
*
* @param Exception $e
* */
public static function handleException($e)
{
self::setHeader($e);
//TODO quitar el extract, que el view pida los que necesite
extract(Router::get(), EXTR_OVERWRITE);
// Registra la autocarga de helpers
spl_autoload_register('kumbia_autoload_helper', true, true);
$Controller = Util::camelcase($controller);
ob_start();
if (PRODUCTION) {
//TODO: añadir error 500.phtml
include APP_PATH . 'views/_shared/errors/404.phtml';
return;
}
if ($e instanceof KumbiaException) {
$view = $e->view;
$tpl = $e->template;
} else {
$view = 'exception';
$tpl = 'views/templates/exception.phtml';
}
//Fix problem with action name in REST
$action = $e->getMessage() ? $e->getMessage() : $action;
include CORE_PATH . "views/errors/{$view}.phtml";
$content = ob_get_clean();
// termina los buffers abiertos
while (ob_get_level()) {
ob_end_clean();
}
include CORE_PATH . $tpl;
}
示例14: initialize
protected final function initialize()
{
if (Router::get('controller') == 'usuarios' || Router::get('controller') == 'reportes') {
if (!Auth::is_valid()) {
Flash::error('Necesita ser un administrador e iniciar sesión para acceder a esta zona.');
Redirect::to('index');
}
}
}
示例15: initialize
/**
* Inicializa el Logger
*/
public static function initialize($name = '')
{
if (empty($name)) {
self::$_logName = 'audit' . date('Y-m-d') . '.txt';
}
self::$_login = Session::get('login');
self::$_ip = Session::get('ip') ? Session::get('ip') : DwUtils::getIp();
self::$_route = Router::get('route');
}