示例#1
0
 /**
  * fixing laravel bootstrapper
  * @param  string $public alias public directory
  * @param  string $core   alias core directory
  * @return void
  */
 protected function fixBootstrapper($public, $core)
 {
     $_core = Utility::getCorePath($this->getAlias(), $core);
     $_public = Utility::getPublicPath($this->getAlias(), $public);
     $core = Utility::findRelativePath($_public, $_core);
     $indexPath = Utility::combinePath(Utility::getPublicPath($this->getAlias(), $public), 'index.php');
     # Auto Loader
     $autoLoader = \file_get_contents(__DIR__ . '/../Stubs/autoLoader.tpl');
     $autoLoader = Utility::renderTemplate($autoLoader, ['{{CORE_PATH}}' => $core]);
     $autoLoader = Utility::normalizePath($autoLoader);
     # Bootstrap
     $bootstrapper = \file_get_contents(__DIR__ . '/../Stubs/bootstrapper.tpl');
     $bootstrapper = Utility::renderTemplate($bootstrapper, ['{{CORE_PATH}}' => $core]);
     $bootstrapper = Utility::normalizePath($bootstrapper);
     Utility::replaceInFile($indexPath, ['require __DIR__.\'/../bootstrap/autoload.php\';' => $autoLoader, '$app = require_once __DIR__.\'/../bootstrap/app.php\';' => $bootstrapper]);
 }
示例#2
0
 /**
  * start publishing
  * @param  function $progressCallback callback function for tracking publish progress
  * @param  function $doneCallback callback function for calling when publish complete
  * @return void
  */
 public function startPublish($progressCallback = null, $doneCallback = null)
 {
     # Copy core files
     $coreDirectoryName = ConfigurationManager::Get("profiles.{$this->getProfileName()}.coreDirectory");
     $coreDirectoryName = Utility::getCorePath($this->getAlias(), $coreDirectoryName);
     $this->ignores[] = 'public';
     Utility::copyFiles(\base_path(), $coreDirectoryName, $progressCallback, $this->getIngoresList());
     $this->ignores = \array_except($this->ignores, ['public']);
     # Copy public files
     $publicDirectoryName = ConfigurationManager::Get("profiles.{$this->getProfileName()}.publicDirectory");
     $publicDirectoryName = Utility::getPublicPath($this->getAlias(), $publicDirectoryName);
     Utility::copyFiles(\base_path('public'), $publicDirectoryName, $progressCallback, $this->getIngoresList());
     # Copy env file
     $envFileName = ConfigurationManager::Get("profiles.{$this->getProfileName()}.env");
     if ($envFileName != null && file_exists(\base_path($envFileName))) {
         @\copy(\base_path($envFileName), Utility::combinePath($coreDirectoryName, '.env'));
     }
     # Completing progress
     if (\is_callable($doneCallback)) {
         \call_user_func($doneCallback);
     }
 }