refactoring view compilation.

This commit is contained in:
Taylor Otwell 2011-09-25 23:00:29 -05:00
parent 516f310e27
commit d9201be431
3 changed files with 12 additions and 3 deletions

View File

@ -80,7 +80,7 @@
{ {
require_once SYS_PATH.'view'.EXT; require_once SYS_PATH.'view'.EXT;
return new View_Factory($c->resolve('laravel.composer'), VIEW_PATH); return new View_Factory($c->resolve('laravel.composer'), VIEW_PATH, STORAGE_PATH.'views/');
}), }),

View File

@ -9,6 +9,13 @@ class View_Factory {
*/ */
public $path; public $path;
/**
* The path to the application storage directory.
*
* @var string
*/
public $compiled;
/** /**
* The view composer instance. * The view composer instance.
* *
@ -21,12 +28,14 @@ class View_Factory {
* *
* @param View_Composer $composer * @param View_Composer $composer
* @param string $path * @param string $path
* @param string $compiled
* @return void * @return void
*/ */
public function __construct(View_Composer $composer, $path) public function __construct(View_Composer $composer, $path, $compiled)
{ {
$this->path = $path; $this->path = $path;
$this->composer = $composer; $this->composer = $composer;
$this->compiled = $compiled;
} }
/** /**
@ -279,7 +288,7 @@ protected function compile()
// For simplicity, compiled views are stored in a single directory by the MD5 hash of // For simplicity, compiled views are stored in a single directory by the MD5 hash of
// their name. This allows us to avoid recreating the entire view directory structure // their name. This allows us to avoid recreating the entire view directory structure
// within the compiled views directory. // within the compiled views directory.
$compiled = $this->factory->path.'compiled/'.md5($this->view); $compiled = $this->factory->compiled.md5($this->view);
// The view will only be re-compiled if the view has been modified since the last compiled // The view will only be re-compiled if the view has been modified since the last compiled
// version of the view was created or no compiled view exists. Otherwise, the path will // version of the view was created or no compiled view exists. Otherwise, the path will

0
storage/views/.gitignore vendored Normal file
View File