*/
public function createConnection($dsn, array $config, array $options)
{
$username = array_get($config, 'username');
$password = array_get($config, 'password');
return new PDO($dsn, $username, $password, $options);
}
*/
public function createConnection($dsn, array $config, array $options)
{
$username = array_get($config, 'username');
$password = array_get($config, 'password');
return new PDO($dsn, $username, $password, $options);
}
$dsn = $this->getDsn($config);
// We need to grab the PDO options that should be used while making the brand
// new connection instance. The PDO options control various aspects of the
// connection's behavior, and some might be specified by the developers.
$options = $this->getOptions($config);
$connection = $this->createConnection($dsn, $config, $options);
$collation = $config['collation'];
return $this->createReadWriteConnection($config);
} else {
return $this->createSingleConnection($config);
}
}
protected function createSingleConnection(array $config)
{
$pdo = $this->createConnector($config)->connect($config);
return $this->createConnection($config['driver'], $pdo, $config['database'], $config['prefix'], $config);
}
}
public function make(array $config, $name = null)
{
$config = $this->parseConfig($config, $name);
if (isset($config['read'])) {
return $this->createReadWriteConnection($config);
} else {
return $this->createSingleConnection($config);
}
}
if (isset($this->extensions[$name])) {
return call_user_func($this->extensions[$name], $config, $name);
}
$driver = $config['driver'];
if (isset($this->extensions[$driver])) {
return call_user_func($this->extensions[$driver], $config, $name);
}
return $this->factory->make($config, $name);
}
protected function prepare(Connection $connection)
$this->app = $app;
$this->factory = $factory;
}
public function connection($name = null)
{
$name = $name ?: $this->getDefaultConnection();
if (!isset($this->connections[$name])) {
$connection = $this->makeConnection($name);
$this->connections[$name] = $this->prepare($connection);
}
public function setConnection($name)
{
$this->connection = $name;
return $this;
}
public static function resolveConnection($connection = null)
{
return static::$resolver->connection($connection);
}
public static function getConnectionResolver()
public function setRelations(array $relations)
{
$this->relations = $relations;
return $this;
}
public function getConnection()
{
return static::resolveConnection($this->connection);
}
public function getConnectionName()
{
$instance = new static();
$column = $instance->getQualifiedDeletedAtColumn();
return $instance->newQueryWithDeleted()->whereNotNull($column);
}
protected function newBaseQueryBuilder()
{
$conn = $this->getConnection();
$grammar = $conn->getQueryGrammar();
return new QueryBuilder($conn, $grammar, $conn->getPostProcessor());
}
public function freshTimestampString()
{
return $this->fromDateTime($this->freshTimestamp());
}
public function newQuery($excludeDeleted = true)
{
$builder = $this->newEloquentBuilder($this->newBaseQueryBuilder());
$builder->setModel($this)->with($this->with);
if ($excludeDeleted && $this->softDelete) {
unset($this->relations[$key]);
}
public function __call($method, $parameters)
{
if (in_array($method, array('increment', 'decrement'))) {
return call_user_func_array(array($this, $method), $parameters);
}
$query = $this->newQuery();
return call_user_func_array(array($query, $method), $parameters);
}
}
$query = $this->newQuery();
return call_user_func_array(array($query, $method), $parameters);
}
public static function __callStatic($method, $parameters)
{
$instance = new static();
return call_user_func_array(array($instance, $method), $parameters);
}
public function __toString()
public static function findBySlug($slug) {
if( strpos($slug, ':') ) {
$slug = str_replace(':', '/', $slug);
}
return self::where('slug', '=', $slug)->first();
}
public static function findBySlug($slug) {
if( strpos($slug, ':') ) {
$slug = str_replace(':', '/', $slug);
}
return self::where('slug', '=', $slug)->first();
}
preg_match('/:post\_(\d+)$/', $params['slug'], $matches);
$this->post_id = $matches[1];
$params['slug'] = preg_replace('/:post\_\d+/', '', $params['slug']);
}
$category = Category::findBySlug($params['slug']);
if( !$category ) return App::abort(404);
{
$responses = array();
if (!is_array($payload)) {
$payload = array($payload);
}
$this->firing[] = $event;
foreach ($this->getListeners($event) as $listener) {
$response = call_user_func_array($listener, $payload);
if (!is_null($response) && $halt) {
array_pop($this->firing);
if (is_string($subscriber)) {
return $this->container->make($subscriber);
}
return $subscriber;
}
public function until($event, $payload = array())
{
return $this->fire($event, $payload, true);
}
public function flush($event)
}
public function callRouteFilter($filter, $parameters, $route, $request, $response = null)
{
if (!$this->filtering) {
return null;
}
$data = array_merge(array($route, $request, $response), $parameters);
return $this->events->until('router.filter: ' . $filter, $this->cleanFilterParameters($data));
}
protected function cleanFilterParameters(array $parameters)
$on = explode('|', $on);
}
return !in_array(strtolower($request->getMethod()), $on);
}
protected function callFilter($filter, $route, $request)
{
extract($filter);
return $this->filterer->callRouteFilter($filter, $parameters, $route, $request);
}
}
$parameters = $route->parametersWithoutNulls();
return $instance->callAction($method, $parameters);
}
protected function before($instance, $route, $request, $method)
{
foreach ($instance->getBeforeFilters() as $filter) {
if ($this->filterApplies($filter, $request, $method)) {
$response = $this->callFilter($filter, $route, $request);
if (!is_null($response)) {
return $response;
$this->filterer = $filterer;
$this->container = $container;
}
public function dispatch(Route $route, Request $request, $controller, $method)
{
$instance = $this->makeController($controller);
$this->assignAfter($instance, $route, $request, $method);
$response = $this->before($instance, $route, $request, $method);
if (is_null($response)) {
$response = $this->call($instance, $route, $method);
{
$me = $this;
$d = $this->getControllerDispatcher();
return function () use($me, $d, $controller) {
$route = $me->current();
$request = $me->getCurrentRequest();
list($class, $method) = explode('@', $controller);
return $d->dispatch($route, $request, $class, $method);
};
}
}
}
public function run()
{
$parameters = array_filter($this->parameters(), function ($p) {
return isset($p);
});
return call_user_func_array($this->action['uses'], $parameters);
}
public function matches(Request $request, $includingMethod = true)
}
public function dispatchToRoute(Request $request)
{
$route = $this->findRoute($request);
$this->events->fire('router.matched', array($route, $request));
$response = $this->callRouteBefore($route, $request);
if (is_null($response)) {
$response = $route->run($request);
}
$response = $this->prepareResponse($request, $response);
return isset($group['namespace']) ? $group['namespace'] . '\\' . $uses : $uses;
}
public function dispatch(Request $request)
{
$this->currentRequest = $request;
$response = $this->callFilter('before', $request);
if (is_null($response)) {
$response = $this->dispatchToRoute($request);
}
$response = $this->prepareResponse($request, $response);
public static function __callStatic($method, $args)
{
$instance = static::getFacadeRoot();
switch (count($args)) {
case 0:
return $instance->{$method}();
case 1:
return $instance->{$method}($args[0]);
case 2:
return $instance->{$method}($args[0], $args[1]);
Route::get('/{slug}', array('as' => 'go.to.slug', 'uses' => function($slug)
{
// If this is a single for a post (pattern /post_xxx at the end of the url), pass the cateory check and handle the request in PostController
if( preg_match('/\/post\_(\d+)$/', $slug) ) {
//$slug = preg_replace('/\/post\_\d+/', '', $slug);
$request = Request::create('/app/post/' . str_replace('/', ':', $slug), 'GET');
$response = Route::dispatch($request);
return $response;
Route::get('/{slug}', array('as' => 'go.to.slug', 'uses' => function($slug)
{
// If this is a single for a post (pattern /post_xxx at the end of the url), pass the cateory check and handle the request in PostController
if( preg_match('/\/post\_(\d+)$/', $slug) ) {
//$slug = preg_replace('/\/post\_\d+/', '', $slug);
$request = Request::create('/app/post/' . str_replace('/', ':', $slug), 'GET');
$response = Route::dispatch($request);
return $response;
}
}
public function run()
{
$parameters = array_filter($this->parameters(), function ($p) {
return isset($p);
});
return call_user_func_array($this->action['uses'], $parameters);
}
public function matches(Request $request, $includingMethod = true)
}
public function dispatchToRoute(Request $request)
{
$route = $this->findRoute($request);
$this->events->fire('router.matched', array($route, $request));
$response = $this->callRouteBefore($route, $request);
if (is_null($response)) {
$response = $route->run($request);
}
$response = $this->prepareResponse($request, $response);
return isset($group['namespace']) ? $group['namespace'] . '\\' . $uses : $uses;
}
public function dispatch(Request $request)
{
$this->currentRequest = $request;
$response = $this->callFilter('before', $request);
if (is_null($response)) {
$response = $this->dispatchToRoute($request);
}
$response = $this->prepareResponse($request, $response);
if (!is_null($response)) {
return $this->prepareResponse($response, $request);
}
}
if ($this->runningUnitTests() && !$this['session']->isStarted()) {
$this['session']->start();
}
return $this['router']->dispatch($this->prepareRequest($request));
}
public function terminate(SymfonyRequest $request, SymfonyResponse $response)
});
}
public function handle(SymfonyRequest $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
try {
$this->refreshRequest($request = Request::createFromBase($request));
$this->boot();
return $this->dispatch($request);
} catch (\Exception $e) {
if ($this->runningUnitTests()) {
protected $app;
public function __construct(HttpKernelInterface $app)
{
$this->app = $app;
}
public function handle(SymfonyRequest $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
$response = $this->app->handle($request, $type, $catch);
$response->headers->set('X-Frame-Options', 'SAMEORIGIN', false);
return $response;
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
$this->checkRequestForArraySessions($request);
if ($this->sessionConfigured()) {
$session = $this->startSession($request);
$request->setSession($session);
}
$response = $this->app->handle($request, $type, $catch);
if ($this->sessionConfigured()) {
$this->closeSession($session);
public function __construct(HttpKernelInterface $app, CookieJar $cookies)
{
$this->app = $app;
$this->cookies = $cookies;
}
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
$response = $this->app->handle($request, $type, $catch);
foreach ($this->cookies->getQueuedCookies() as $cookie) {
$response->headers->setCookie($cookie);
public function __construct(HttpKernelInterface $app, Encrypter $encrypter)
{
$this->app = $app;
$this->encrypter = $encrypter;
}
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
return $this->encrypt($this->app->handle($this->decrypt($request), $type, $catch));
}
protected function decrypt(Request $request)
public function __construct(HttpKernelInterface $app, array $middlewares)
{
$this->app = $app;
$this->middlewares = $middlewares;
}
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
return $this->app->handle($request, $type, $catch);
}
public function terminate(Request $request, Response $response)
if ($this->isBooted()) {
$this->fireAppCallbacks(array($callback));
}
}
public function run(SymfonyRequest $request = null)
{
$request = $request ?: $this['request'];
$response = with($stack = $this->getStackedClient())->handle($request);
$response->send();
$stack->terminate($request, $response);
| Once we have the application, we can simply call the run method,
| which will execute the request and send the response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have whipped up for them.
|
*/
$app->run();