本文整理汇总了PHP中Symfony\Component\HttpFoundation\JsonResponse::setPublic方法的典型用法代码示例。如果您正苦于以下问题:PHP JsonResponse::setPublic方法的具体用法?PHP JsonResponse::setPublic怎么用?PHP JsonResponse::setPublic使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\HttpFoundation\JsonResponse
的用法示例。
在下文中一共展示了JsonResponse::setPublic方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: statisticsJsonAction
/**
*
* @Route("/{_locale}/{_code}/statistics/{dataset}.json", requirements={"_locale" = "de|en|es|fr", "_code" = "[a-zA-Z0-9]{10}", "dataset" = "[a-zA-Z0-9_-]+"})
*/
public function statisticsJsonAction($_code, $dataset, Request $request)
{
try {
$context = $this->getContext($_code, 'statistics');
$stats = new Statistics($this, $this->account);
if (preg_match('!^wallet-([0-9]+)$!', $dataset, $m)) {
$method = 'getDatasetWallet';
if (method_exists($stats, $method)) {
$data = $stats->{$method}($m[1]);
if (!empty($data)) {
$response = new JsonResponse($data);
}
}
} else {
$method = 'getDataset' . $dataset;
if (method_exists($stats, $method)) {
$response = new JsonResponse($stats->{$method}());
}
}
if (isset($response)) {
$response->setMaxAge(900);
$response->setExpires(new \DateTime('@' . (time() + 900)));
$response->setPublic();
return $response;
}
} catch (\Exception $ex) {
return new JsonResponse(['error' => $ex->getMessage()]);
}
}
示例2: defaultAction
static function defaultAction(Request $request, Service $service, $repositoryName)
{
$repository = $service->getRepository($repositoryName);
if ($repository) {
$response = new JsonResponse();
$etag = md5($repository->getLastModifiedDate());
$response->setEtag($etag);
if ($response->isNotModified($request)) {
$response->send();
return $response;
}
$result = [];
$result['content'] = [];
foreach ($repository->getContentTypeDefinitions() as $definition) {
$result['content'][$definition->getName()]['title'] = $definition->getTitle() ? $definition->getTitle() : $definition->getName();
$result['content'][$definition->getName()]['lastchange_content'] = $repository->getLastModifiedDate($definition->getName());
$result['content'][$definition->getName()]['lastchange_cmdl'] = 0;
// TODO
}
$response->setContent(json_encode($result, JSON_PRETTY_PRINT));
$response->setEtag($etag);
$response->setPublic();
return $response;
}
}
示例3: getBySeedAction
/**
* @Route("/{_locale}/get/seed/{seed}", name="get_by_seed_locale")
* @Route("/get/seed/{seed}", name="get_by_seed")
*/
public function getBySeedAction(Request $request, $seed)
{
$return = array('status' => 1, 'message' => '', 'data' => null);
// retorno padrão
$router = $this->container->get('router');
$translator = $this->get('translator');
// da uma limpada
$seed = md5($seed . $this->container->getParameter('secret'));
// extrai um numero de 0~9
$seed = substr(base_convert(md5($seed), 16, 10), -1);
srand($seed);
// usa pro rand
// image path
$image_path = $request->getUriForPath('/image/cenouro.png');
$message = '';
// são tão poucas opções que nem vale a pena criar DB
// balanceia as chances um pouco
switch (rand(1, 4)) {
case 1:
$message = 'Yes!';
break;
case 2:
$message = 'No!';
break;
default:
switch (rand(1, 6)) {
case 1:
$message = 'Maybe.';
break;
case 2:
$message = 'Sure!';
break;
case 3:
$message = "I really don't care.";
break;
case 4:
$message = "Of course not.";
break;
case 5:
$message = "Ask again.";
break;
case 6:
$message = "Screw you!";
break;
}
break;
}
// traduz, se precisar
$message = $translator->trans($message);
// responde
$data = array('message' => $message, 'image' => $image_path);
$return['data'] = $data;
$response = new JsonResponse($return);
// cache
$response->setPublic();
$response->setSharedMaxAge(600000);
$response->headers->addCacheControlDirective('must-revalidate', true);
return $response;
}
示例4: getJsonResponse
/**
* @param Request $request
* @param mixed $data
*
* @return JsonResponse
*/
protected function getJsonResponse(Request $request, $data = null)
{
$date = new \DateTime();
$date->modify('+1 day');
$response = new JsonResponse($data);
$response->setExpires($date);
$response->setETag(md5($response->getContent()));
$response->setPublic();
$response->isNotModified($request);
$response->headers->set('X-Proudly-Crafted-By', "LesPolypodes.com");
// It's nerdy, I know that.
return $response;
}
示例5: createAction
/**
* @Route("/create", name="api_create")
*/
public function createAction(Request $request)
{
if ($this->container->getParameter('secret') != $request->query->get('secret')) {
return new JsonResponse(['error' => 'Invalid Secret']);
}
// Create Short Code
$url = $request->query->get('url');
$code = $request->query->get('code', null);
$shortUrl = $this->get('short_url')->create($url, $code);
$response = new JsonResponse(['short_url' => $this->get('short_url')->shortUrl($shortUrl)]);
$response->setPublic();
$response->setExpires(new DateTime('+1 day'));
return $response;
}
示例6: fetchAction
public function fetchAction(Request $request)
{
$id = $request->query->get('comment_id');
$feedName = 'comment_rating';
$params = array('comment_id' => $id);
$comment = $this->getCommentById($id);
if (!$comment) {
$output = $this->presentResponse('Comment not found for id ' . $id, $feedName, $params);
return new JsonResponse($output);
}
$ratingRepo = $this->getDoctrine()->getRepository('AppBundle:CommentRating');
$rating = $ratingRepo->getRatingForComment($id);
$presenter = new Presenters\CommentRatingPresenter();
$data = $presenter->present(array('rating' => $rating[0]));
$output = $this->presentResponse($data, 'comment_rating', $params);
$resp = new JsonResponse($output);
$resp->setPublic();
$resp->setMaxAge(5);
return $resp;
}
示例7: array
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
$app = new Silex\Application();
//$app['debug'] = true;
// Twig
$app->register(new Silex\Provider\TwigServiceProvider(), array('twig.path' => __DIR__ . '/../views'));
// Cache
$app->register(new Silex\Provider\HttpCacheServiceProvider(), array('http_cache.cache_dir' => __DIR__ . '/../cache/', 'http_cache.esi' => null));
// Weekend, where the magic happens.
$app['weekend'] = function () {
return new \Ternel\Weekend();
};
// Website
$app->get('/', function () use($app) {
$response = new Response($app['twig']->render('index.html.twig', ['text' => $app['weekend']->getText(), 'subtext' => $app['weekend']->getSubText()]), 200);
$response->setPublic();
$response->setSharedMaxAge(60);
return $response;
});
// Api
$app->get('/api', function () use($app) {
$response = new JsonResponse(['text' => $app['weekend']->getText(), 'subtext' => $app['weekend']->getSubText()], 200);
$response->setPublic();
$response->setSharedMaxAge(60);
return $response;
});
$app['http_cache']->run();