本文整理汇总了PHP中Helpers::url方法的典型用法代码示例。如果您正苦于以下问题:PHP Helpers::url方法的具体用法?PHP Helpers::url怎么用?PHP Helpers::url使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Helpers
的用法示例。
在下文中一共展示了Helpers::url方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: news
/**
* Returns feed of latest news.
*
* @return xml
*/
public function news()
{
$feed = $this->makeChannel(App::make('options')->getSiteName() . ' - ' . trans('feed.newsDesc'), trans('feed.newsDesc'), Request::url());
$news = App::make('Lib\\News\\NewsRepository')->latest();
foreach ($news as $n) {
$feed->item(array('title' => $n['title'], 'description|cdata' => Str::words($n['body'], 75), 'link' => Helpers::url($n['title'], $n['id'], 'news')));
}
return Response::make($feed, 200, array('Content-Type' => 'text/xml'));
}
示例2: array
<?php
return array('title' => trans('main.series'), 'single' => trans('main.series'), 'model' => 'Title', 'link' => function ($model) {
return Helpers::url($model->title, $model->id, 'series');
}, 'columns' => array('id', 'poster' => array('title' => trans('main.poster'), 'output' => '<img src="(:value)" height="100" />'), 'title' => array('title' => trans('main.title')), 'genre' => array('title' => trans('main.genre')), Helpers::getProvider() . '_rating', 'year' => array('title' => trans('main.year')), 'created_at' => array('title' => trans('dash.created at'))), 'edit_fields' => array('title' => array('title' => trans('main.title')), 'type' => array('type' => 'enum', 'title' => trans('main.type'), 'options' => array('movie', 'series')), 'actor' => array('type' => 'relationship', 'title' => trans('main.actors'), 'name_field' => 'name', 'autocomplete' => true), 'director' => array('type' => 'relationship', 'title' => trans('dash.directors'), 'name_field' => 'name', 'autocomplete' => true), 'writer' => array('type' => 'relationship', 'title' => trans('dash.writers'), 'name_field' => 'name', 'autocomplete' => true), 'featured' => array('type' => 'bool', 'title' => trans('main.featured')), 'now_playing' => array('type' => 'bool', 'title' => trans('dash.now playing')), 'release_date' => array('title' => trans('main.release date')), 'custom_field' => array('type' => 'textarea', 'title' => trans('dash.custom content')), 'plot' => array('title' => trans('main.plot'), 'type' => 'markdown', 'limit' => 1000, 'height' => 130), 'tagline' => array('title' => trans('main.tagline')), 'genre' => array('title' => trans('main.genre')), 'affiliate_link' => array('title' => trans('main.affiliate link')), 'poster' => array('title' => trans('main.poster'), 'type' => 'image', 'location' => public_path() . '/imdb/posters/', 'naming' => 'random', 'length' => 20, 'size_limit' => 5, 'sizes' => array(array(428, 634, 'crop', public_path() . '/imdb/posters/', 90))), 'trailer' => array('title' => trans('main.trailer')), 'awards' => array('title' => trans('main.awards')), 'runtime' => array('title' => trans('main.runtime')), 'budget' => array('title' => trans('main.budget')), 'revenue' => array('title' => trans('main.revenue')), 'year' => array('title' => trans('main.year')), 'imdb_id' => array('title' => 'IMDb ID'), 'tmdb_id' => array('title' => 'TMDB ID'), 'allow_update' => array('title' => trans('dash.allow update'), 'value' => 1)), 'filters' => array('title' => array('title' => trans('main.title')), 'language' => array('title' => trans('main.lang')), 'country' => array('title' => trans('main.country')), 'release_date' => array('title' => trans('main.release date'), 'type' => 'date'), 'actor' => array('type' => 'relationship', 'title' => trans('main.actor'), 'name_field' => 'name', 'autocomplete' => true), 'director' => array('type' => 'relationship', 'title' => trans('dash.director'), 'name_field' => 'name', 'autocomplete' => true), 'writer' => array('type' => 'relationship', 'title' => trans('dash.writer'), 'name_field' => 'name', 'autocomplete' => true), 'mc_user_score' => array('title' => trans('dash.mc user score'), 'type' => 'number'), 'mc_critic_score' => array('title' => trans('dash.mc critic score'), 'type' => 'number'), 'created_at' => array('title' => trans('dash.created at'), 'type' => 'date')), 'query_filter' => function ($query) {
$query->whereType('series');
}, 'form_width' => 1000, 'rules' => array('title' => 'required', 'type' => 'required|in:movie,series', 'year' => 'required|min:4,max:4|numeric', 'allow_update' => 'required|in:1,0'), 'actions' => array('update_from_external' => array('title' => 'Update From External', 'messages' => array('active' => 'Updating...', 'success' => 'Updated Successfuly.', 'error' => 'There was an error.'), 'action' => function ($model) {
$model->updateFromExternal();
return true;
})));
示例3: getUrl
/**
* Depende de los helpers. Si se utiliza YuppForm por fuera de Yupp
* se deberia especificar alguna forma de crear la url correcta
* segun el sistema.
*/
public function getUrl()
{
if ($this->action_url === NULL) {
return Helpers::url(array("app" => $this->app, "controller" => $this->controller, "action" => $this->action));
}
return $this->action_url;
}
示例4: createSitemap
public static function createSitemap()
{
$contents = '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">';
$videos = Title::where('type', 'movie')->whereNotNull('video')->where('video', '<>', '')->orderBy('created_at', 'DESC')->get();
foreach ($videos as $key => $video) {
$contents = $contents . '<url>';
$contents = $contents . '<loc>' . Helpers::url($video['title'], $video['id'], $video['type']) . '</loc>';
$contents = $contents . '<video:video>';
if (substr($video->poster, 0, 4) != 'http') {
$contents = $contents . '<video:thumbnail_loc>' . 'http://niter.tv/' . $video->poster . '</video:thumbnail_loc>';
} else {
$contents = $contents . '<video:thumbnail_loc>' . $video->poster . '</video:thumbnail_loc>';
}
if (strpos($video['title'], '&') > 0) {
$initial = array("&");
$final = array("&");
$video['title'] = str_replace($initial, $final, $video['title']);
}
$contents = $contents . '<video:title>![CDATA[' . substr($video['title'], 0, 100) . ']]</video:title>';
$video['plot'] = substr($video['plot'], 0, 2048);
if (strpos($video['plot'], '&') > 0) {
$initial = array("&");
$final = array("&");
$video['plot'] = str_replace($initial, $final, $video['plot']);
}
$plot = 'Watch ' . $video['title'] . ' Online Free: ' . $video['plot'];
$plot = substr($plot, 0, 2048);
$contents = $contents . '<video:description>![CDATA[' . $plot . ']]</video:description>';
if ($video['tmdb_rating'] > 0) {
$contents = $contents . '<video:rating>' . $video['tmdb_rating'] / 2 . '</video:rating>';
}
$contents = $contents . '<video:family_friendly>yes</video:family_friendly>';
$contents = $contents . "<video:player_loc allow_embed='yes' >" . url('movies/' . $video['id']) . "</video:player_loc>";
$contents = $contents . '<video:duration>' . $video->runtime * 60 . '</video:duration>';
$contents = $contents . '<video:publication_date>' . substr($video->created_at, 0, 10) . '</video:publication_date>';
$contents = $contents . "<video:uploader info='http://niter.tv'></video:uploader>";
$contents = $contents . '</video:video>';
$contents = $contents . '</url>';
}
$contents = $contents . '</urlset>';
File::put("sitemaps/sitemap.xml", $contents);
}
示例5: update
/**
* Update users general information.
*
* @param string $username
* @return Redirect
*/
public function update($username)
{
$user = $this->user->byUsername($username);
$input = Input::except('_method', '_token');
if (!$this->validator->setRules('editInfo')->with($input)->passes()) {
return Redirect::back()->withErrors($this->validator->errors());
}
$this->user->update($user, $input);
return Redirect::to(Helpers::url($user->username, $user->id, 'users'))->withSuccess(trans('users.update success'));
}
示例6: doRequest
//.........这里部分代码省略.........
// O le falta el command o es que la accion es de pedir un recurso estatico el que se devuelve como stream.
// Error 500: Internal Server Error
$command = ViewCommand::display('500', new ArrayObject(array('message' => 'Hubo un error al crear el comando')), new ArrayObject());
}
// ==============
// TEST: ver si guarda el estado en la sesion
//$test = CurrentFlows::getInstance()->getFlow( 'createUser' );
//Logger::show( "Flow en sesion antes de hacer render: " . print_r($test->getCurrentState(), true) . ", " . __FILE__ . " " . __LINE__ );
// ================
// Siempre llega algun comando
if ($command->isDisplayCommand()) {
// Aqui llegan tambien los errores ej 500 o 404 para mostrar una vista linda.
// FIXME: mostrar o no el tiempo de procesamiento deberia ser configurable.
//$tiempo_final = microtime(true);
//$tiempo_proc = $tiempo_final - $tiempo_inicio;
$timer_process->stop();
$tiempo_proc = $timer_process->getElapsedTime();
//$tiempo_inicio = microtime(true);
$timer_render = new Timer();
$timer_render->start();
// FIXME: en router esta toda la info, porque pasar todo?
self::render($lr, $command, $ctx, $router);
//$tiempo_final = microtime(true);
//$tiempo_render = $tiempo_final - $tiempo_inicio;
$timer_render->stop();
$tiempo_render = $timer_render->getElapsedTime();
// TODO: configurar si se quiere o no ver el tiempo de proceso.
//echo "<br/><br/>Tiempo de proceso: " . $tiempo_proc . " s<br/>";
//echo "Tiempo de render: " . $tiempo_render . " s<br/>";
return;
} else {
if ($command->isStringDisplayCommand()) {
echo $command->getString();
return;
} else {
if ($command->isDisplayTemplateCommand()) {
$params = array();
// TODO: poder pasarle path al helper, asi puedo poner el template en cualquier lado.
$params['name'] = $command->viewName();
// Nombre del template
$params['args'] = $command->params();
Helpers::template($params);
return;
} else {
// TODO: me gustaria poner todo esto en una clase "Redirect".
// echo "DICE QUE NO ES DISPLAY!!!!";
// La idea es que cmo es excecute, redirija a unc compo/controller/action/params que diga el command.
// Entonces es reentrante a este modulo, el problema es que no tengo el
// request hecho de forma que pueda llamarlo de afuera, deberia hacerlo aparte
// llamar a ese para la primer entrada y las posibles redirecciones que se puedan hacer.
//
// -> excecuteControllerAction
// Que hago con el command que tira este? tengo que revisar las llamadas recursivas...
//$command = self::excecuteControllerAction( $app->app(), $app->controller(), $app->action(), $urlproc->params() )
// FIXME: no hace nada con el model, deberia pasar lo que puede como params de GET.
// TODO: habria que ver como hacer un request por POST asi puedo mandar info sin que se vea en el request.
$model = Model::getInstance();
$model->addFlash($command->flash());
// Uso el helper para armar la url. Obs> hay funciones estandar de php que arman urls, como
// - http://www.php.net/manual/es/function.http-build-url.php
// - http://www.php.net/manual/es/function.http-build-str.php //
//
$url_params = array();
$url_params['app'] = $command->app();
$url_params['controller'] = $command->controller();
$url_params['action'] = $command->action();
$url_params['params'] = $command->params();
// T#63 solo pasar los params del modelo no los del request.
// Agrega params a la url (fix a perdida del flash en redirect)
foreach ($command->flash() as $key => $value) {
// FIXME: si en flash se ponen arrays y se hace redirect, urlencode va a fallar porque espera un string...
$url_params['flash_' . $key] = urlencode($value);
// Por ejemplo flash.message='un mensaje', url encode por si tiene simbolos.
}
//print_r( $url_params );
$url = Helpers::url($url_params);
// http://www.php.net/manual/es/function.http-redirect.php
// retorna false si no puede, exit si si puede.
//http_redirect( $url ); // [, array $params [, bool $session = FALSE [, int $status ]]]] )
if (!headers_sent()) {
// No funciona si hay algun output antes, como el log prendido.
// http://www.php.net/header
//
header('Location: http://' . $_SERVER['HTTP_HOST'] . $url);
exit;
} else {
// TODO: esto deberia ser un template de redireccion automatica fallida.
// TODO: los mensajes deberian ser i18n.
$url = 'http://' . $_SERVER['HTTP_HOST'] . $url;
echo "<html>" . "<head></head><body>" . "Ya se han enviado los headers por lo que no se puede redirigir de forma automatica.<br/>" . "Intenta redirigir a: <a href=\"{$url}\">{$url}</a>" . "</body></html>";
}
// TODO: Puede redirigir a una pagina logica (como en el CMS) o a una pagina de scaffolding
// (no existe fisicamente pero se genera mediante un template y muestra la info que se le
// pasa de forma estandar, considerando si es un list, show, create o edit).
//return; // TODO
}
}
}
// NO DEBERIA LLEGAR ACA, DEBE HACERSE UN RENDER O UN REDIRECT ANTES...
}
示例7: update
/**
* Update users general information.
*
* @param string $username
* @return Redirect
*/
public function update($username)
{
$user = $this->user->byUsername($username);
$input = Input::except('_method', '_token', 'password', 'password_confirmation');
if (!$this->validator->setRules('editInfo')->with($input)->passes()) {
return Redirect::back()->withErrors($this->validator->errors());
}
$this->user->update($user, $input);
\Cache::flush();
if (Request::ajax()) {
return Response::json(trans('users.update success'), 200);
}
return Redirect::to(Helpers::url($user->username, $user->id, 'users'))->withSuccess(trans('users.update success'));
}
示例8: dir
<?php
$m = Model::getInstance();
$app = $m->get('app');
?>
<html>
<head>
</head>
<body>
<h1>Aplicacion: <?php
echo $app;
?>
</h1>
<h2>Controladores:</h2>
<?php
$app_dir = dir("./apps/" . $app . "/controllers");
$suffix = "Controller.class.php";
$prefix = "apps." . $app . ".controllers.";
echo "<ul>";
while (false !== ($controller = $app_dir->read())) {
if (!String::startsWith($controller, ".")) {
$controller = substr($controller, strlen($prefix), -strlen($suffix));
$logic_controller = String::firstToLower($controller);
echo '<li>[ <a href="' . Helpers::url(array("app" => $app, "controller" => $logic_controller, "action" => "index")) . '">' . $controller . '</a> ]</li>';
}
}
echo "</ul>";
?>
</body>
</html>
示例9: episodeUrl
public static function episodeUrl($resource, $id, $controller = 'series', $seasonNum, $episodeNum)
{
$base = Helpers::url($resource, $id, $controller);
return $base . '/seasons/' . $seasonNum . '/episodes/' . $episodeNum;
}