本文整理汇总了PHP中Puli\Manager\Assert\Assert::directory方法的典型用法代码示例。如果您正苦于以下问题:PHP Assert::directory方法的具体用法?PHP Assert::directory怎么用?PHP Assert::directory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Puli\Manager\Assert\Assert
的用法示例。
在下文中一共展示了Assert::directory方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/**
* Creates the environment.
*
* @param string|null $homeDir The path to the home
* directory or `null` if
* none exists.
* @param string $rootDir The path to the project's
* root directory.
* @param Config $config The configuration.
* @param RootPackageFile $rootPackageFile The root package file.
* @param ConfigFile $configFile The configuration file or
* `null` if none exists.
* @param EventDispatcherInterface $dispatcher The event dispatcher.
*/
public function __construct($homeDir, $rootDir, Config $config, RootPackageFile $rootPackageFile, ConfigFile $configFile = null, EventDispatcherInterface $dispatcher = null)
{
Assert::directory($rootDir, 'The root directory %s is not a directory.');
parent::__construct($homeDir, $config, $configFile, $dispatcher);
$this->rootDir = Path::canonicalize($rootDir);
$this->rootPackageFile = $rootPackageFile;
}
示例2: __construct
/**
* Creates the context.
*
* @param string|null $homeDir The path to the
* home directory or
* `null` if none
* exists.
* @param string $rootDir The path to the
* project's root
* directory.
* @param Config $config The configuration.
* @param RootModuleFile $rootModuleFile The root module
* file.
* @param ConfigFile|null $configFile The configuration
* file or `null` if
* none exists.
* @param EventDispatcherInterface|null $dispatcher The event
* dispatcher.
* @param string $env The environment
* that Puli is
* running in.
*/
public function __construct($homeDir, $rootDir, Config $config, RootModuleFile $rootModuleFile, ConfigFile $configFile = null, EventDispatcherInterface $dispatcher = null, $env = Environment::DEV)
{
Assert::directory($rootDir, 'The root directory %s is not a directory.');
Assert::oneOf($env, Environment::all(), 'The environment must be one of: %2$s. Got: %s');
parent::__construct($homeDir, $config, $configFile, $dispatcher);
$this->rootDir = Path::canonicalize($rootDir);
$this->rootModuleFile = $rootModuleFile;
$this->env = $env;
}
示例3: loadConfigFile
private function loadConfigFile($homeDir, Config $baseConfig)
{
if (null === $homeDir) {
return null;
}
Assert::fileExists($homeDir, 'Could not load Puli context: The home directory %s does not exist.');
Assert::directory($homeDir, 'Could not load Puli context: The home directory %s is a file. Expected a directory.');
// Create a storage without the factory manager
$configStorage = new ConfigFileStorage($this->getStorage(), $this->getConfigFileSerializer());
$configPath = Path::canonicalize($homeDir) . '/config.json';
try {
return $configStorage->loadConfigFile($configPath, $baseConfig);
} catch (FileNotFoundException $e) {
// It's ok if no config.json exists. We'll work with
// DefaultConfig instead
return null;
}
}
示例4: createProjectContext
/**
* Creates the context of a Puli project.
*
* The home directory is read from the context variable "PULI_HOME".
* If this variable is not set, the home directory defaults to:
*
* * `$HOME/.puli` on Linux, where `$HOME` is the context variable
* "HOME".
* * `$APPDATA/Puli` on Windows, where `$APPDATA` is the context
* variable "APPDATA".
*
* If none of these variables can be found, an exception is thrown.
*
* A .htaccess file is put into the home directory to protect it from web
* access.
*
* @param string $rootDir The path to the project.
*
* @return ProjectContext The project context.
*/
private function createProjectContext($rootDir, $env)
{
Assert::fileExists($rootDir, 'Could not load Puli context: The root %s does not exist.');
Assert::directory($rootDir, 'Could not load Puli context: The root %s is a file. Expected a directory.');
$homeDir = self::parseHomeDirectory();
if (null !== $homeDir) {
Assert::fileExists($homeDir, 'Could not load Puli context: The home directory %s does not exist.');
Assert::directory($homeDir, 'Could not load Puli context: The home directory %s is a file. Expected a directory.');
// Create a storage without the factory manager
$configStorage = new ConfigFileStorage($this->getStorage(), $this->getConfigFileSerializer());
$configPath = Path::canonicalize($homeDir) . '/config.json';
$configFile = $configStorage->loadConfigFile($configPath, new DefaultConfig());
$baseConfig = $configFile->getConfig();
} else {
$configFile = null;
$baseConfig = new DefaultConfig();
}
// Create a storage without the factory manager
$packageFileStorage = new PackageFileStorage($this->getStorage(), $this->getPackageFileSerializer());
$rootDir = Path::canonicalize($rootDir);
$rootFilePath = $this->rootDir . '/puli.json';
$rootPackageFile = $packageFileStorage->loadRootPackageFile($rootFilePath, $baseConfig);
$config = new EnvConfig($rootPackageFile->getConfig());
return new ProjectContext($homeDir, $rootDir, $config, $rootPackageFile, $configFile, $this->dispatcher, $env);
}