Commit a92ab1ca authored by Taylor Otwell's avatar Taylor Otwell

Fixing bugs.

parent 98ea9ac4
...@@ -69,15 +69,27 @@ abstract class Driver { ...@@ -69,15 +69,27 @@ abstract class Driver {
* @param int $minutes * @param int $minutes
* @return mixed * @return mixed
*/ */
public function remember($key, $default, $minutes) public function remember($key, $default, $minutes, $function = 'put')
{ {
if ( ! is_null($item = $this->get($key, null))) return $item; if ( ! is_null($item = $this->get($key, null))) return $item;
$this->put($key, $default = value($default), $minutes); $this->$function($key, $default = value($default), $minutes);
return $default; return $default;
} }
/**
* Get an item from the cache, or cache the default value forever.
*
* @param string $key
* @param mixed $default
* @return mixed
*/
public function sear($key, $default)
{
return $this->remember($key, $default, null, 'forever');
}
/** /**
* Delete an item from the cache. * Delete an item from the cache.
* *
......
...@@ -16,21 +16,12 @@ Bundle::start(DEFAULT_BUNDLE); ...@@ -16,21 +16,12 @@ Bundle::start(DEFAULT_BUNDLE);
* for the "database" CLI option. This allows migrations to be run * for the "database" CLI option. This allows migrations to be run
* conveniently for a test or staging database. * conveniently for a test or staging database.
*/ */
if (isset($_SERVER['CLI']['DB']))
if ( ! is_null($database = get_cli_option('db')))
{ {
Config::set('database.default', $_SERVER['CLI']['DB']); Config::set('database.default', $database);
} }
/**
* Overwrite the HttpFoundation request since we have set some of
* the server variables since it was created. This allows us to
* set the default database for the CLI task.
*/
use Symfony\Component\HttpFoundation\LaravelRequest as RequestFoundation;
Request::$foundation = RequestFoundation::createFromGlobals();
/** /**
* We will register all of the Laravel provided tasks inside the IoC * We will register all of the Laravel provided tasks inside the IoC
* container so they can be resolved by the task class. This allows * container so they can be resolved by the task class. This allows
......
...@@ -156,15 +156,7 @@ Request::$foundation = RequestFoundation::createFromGlobals(); ...@@ -156,15 +156,7 @@ Request::$foundation = RequestFoundation::createFromGlobals();
if (Request::cli()) if (Request::cli())
{ {
foreach (Request::foundation()->server->get('argv') as $argument) $environment = get_cli_option('env');
{
if (starts_with($argument, '--env='))
{
$environment = substr($argument, 6);
break;
}
}
} }
else else
{ {
......
...@@ -44,12 +44,15 @@ class Schema { ...@@ -44,12 +44,15 @@ class Schema {
* Drop a database table from the schema. * Drop a database table from the schema.
* *
* @param string $table * @param string $table
* @param string $connection
* @return void * @return void
*/ */
public static function drop($table) public static function drop($table, $connection = null)
{ {
$table = new Schema\Table($table); $table = new Schema\Table($table);
$table->on($connection);
// To indicate that the table needs to be dropped, we will run the // To indicate that the table needs to be dropped, we will run the
// "drop" command on the table instance and pass the instance to // "drop" command on the table instance and pass the instance to
// the execute method as calling a Closure isn't needed. // the execute method as calling a Closure isn't needed.
......
...@@ -504,4 +504,24 @@ function render_each($partial, array $data, $iterator, $empty = 'raw|') ...@@ -504,4 +504,24 @@ function render_each($partial, array $data, $iterator, $empty = 'raw|')
function yield($section) function yield($section)
{ {
return Laravel\Section::yield($section); return Laravel\Section::yield($section);
}
/**
* Get a CLI option from the argv $_SERVER variable.
*
* @param string $option
* @param mixed $default
* @return string
*/
function get_cli_option($option, $default = null)
{
foreach (Laravel\Request::foundation()->server->get('argv') as $argument)
{
if (starts_with($argument, "--{$option}="))
{
return substr($argument, strlen($option) + 3);
}
}
return value($default);
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment