本文整理汇总了PHP中Magento\Framework\Filesystem\Directory\WriteInterface::isExist方法的典型用法代码示例。如果您正苦于以下问题:PHP WriteInterface::isExist方法的具体用法?PHP WriteInterface::isExist怎么用?PHP WriteInterface::isExist使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Framework\Filesystem\Directory\WriteInterface
的用法示例。
在下文中一共展示了WriteInterface::isExist方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: cleanGeneratedFiles
/**
* Clean var/generation, var/di and var/cache
*
* @return void
*/
public function cleanGeneratedFiles()
{
if ($this->write->isExist(self::REGENERATE_FLAG)) {
$enabledCacheTypes = [];
//TODO: to be removed in scope of MAGETWO-53476
$deploymentConfig = $this->directoryList->getPath(DirectoryList::CONFIG);
$configPool = new ConfigFilePool();
$envPath = $deploymentConfig . '/' . $configPool->getPath(ConfigFilePool::APP_ENV);
if ($this->write->isExist($this->write->getRelativePath($envPath))) {
$enabledCacheTypes = $this->getEnabledCacheTypes();
$this->disableAllCacheTypes();
}
//TODO: Till here
$cachePath = $this->write->getRelativePath($this->directoryList->getPath(DirectoryList::CACHE));
$generationPath = $this->write->getRelativePath($this->directoryList->getPath(DirectoryList::GENERATION));
$diPath = $this->write->getRelativePath($this->directoryList->getPath(DirectoryList::DI));
// Clean var/generation dir
if ($this->write->isDirectory($generationPath)) {
$this->write->delete($generationPath);
}
// Clean var/di
if ($this->write->isDirectory($diPath)) {
$this->write->delete($diPath);
}
// Clean var/cache
if ($this->write->isDirectory($cachePath)) {
$this->write->delete($cachePath);
}
$this->write->delete(self::REGENERATE_FLAG);
$this->enableCacheTypes($enabledCacheTypes);
}
}
示例2: createFile
/**
* Write down contents to a temporary file and return its absolute path
*
* @param string $relativePath
* @param string $contents
* @return string
*/
public function createFile($relativePath, $contents)
{
$filePath = $this->config->getLessMaterializationRelativePath() . '/' . $relativePath;
if (!$this->tmpDirectory->isExist($filePath)) {
$this->tmpDirectory->writeFile($filePath, $contents);
}
return $this->tmpDirectory->getAbsolutePath($filePath);
}
示例3: minify
/**
* Minify template file
*
* @param string $file
* @return void
*/
public function minify($file)
{
$file = $this->rootDirectory->getRelativePath($file);
$content = preg_replace('#(?<!]]>)\\s+</#', '</', preg_replace('#((?:<\\?php\\s+(?!echo|print|if|elseif|else)[^\\?]*)\\?>)\\s+#', '$1 ', preg_replace('#(?<!' . implode('|', $this->inlineHtmlTags) . ')\\> \\<#', '><', preg_replace('#(?ix)(?>[^\\S ]\\s*|\\s{2,})(?=(?:(?:[^<]++|<(?!/?(?:textarea|pre|script)\\b))*+)' . '(?:<(?>textarea|pre|script)\\b|\\z))#', ' ', preg_replace('#(?<!:|\\\\|\'|")//(?!\\s*\\<\\!\\[)(?!\\s*]]\\>)[^\\n\\r]*#', '', preg_replace('#(?<!:)//[^\\n\\r]*(\\s\\?\\>)#', '$1', preg_replace('#//[^\\n\\r]*(\\<\\?php)[^\\n\\r]*(\\s\\?\\>)[^\\n\\r]*#', '', $this->rootDirectory->readFile($file))))))));
if (!$this->htmlDirectory->isExist()) {
$this->htmlDirectory->create();
}
$this->htmlDirectory->writeFile($file, rtrim($content));
}
示例4: tearDown
/**
* {@inheritDoc}
*/
protected function tearDown()
{
/** @var \Magento\TestFramework\App\State $appState */
$appState = $this->objectManager->get(\Magento\TestFramework\App\State::class);
$appState->setMode($this->origMode);
if ($this->staticDir->isExist('frontend/FrameworkViewMinifier')) {
$this->staticDir->delete('frontend/FrameworkViewMinifier');
}
parent::tearDown();
}
示例5: isProcessLocked
/**
* Check whether generation process has already locked
*
* @return bool
* @throws FileSystemException
*/
private function isProcessLocked()
{
if ($this->tmpDirectory->isExist($this->lockFilePath)) {
$lockTime = (int) $this->tmpDirectory->readFile($this->lockFilePath);
if (time() - $lockTime >= self::MAX_LOCK_TIME) {
$this->tmpDirectory->delete($this->lockFilePath);
return false;
}
return true;
}
return false;
}
示例6: getCertPath
/**
* Get path to PayPal certificate file, if file does not exist try to create it
*
* @return string
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function getCertPath()
{
if (!$this->getContent()) {
throw new \Magento\Framework\Exception\LocalizedException(__('The PayPal certificate does not exist.'));
}
$certFileName = sprintf('cert_%s_%s.pem', $this->getWebsiteId(), strtotime($this->getUpdatedAt()));
$certFile = self::BASEPATH_PAYPAL_CERT . $certFileName;
if (!$this->varDirectory->isExist($certFile)) {
$this->_createCertFile($certFile);
}
return $this->varDirectory->getAbsolutePath($certFile);
}
示例7: unpackDb
/**
* @param string $dbCode
* @throws LocalizedException
*/
protected function unpackDb($dbCode)
{
$this->archive->unpack($this->directory->getAbsolutePath($this->getDbArchiveFilePath($dbCode)), $this->directory->getAbsolutePath($this->database->getDbPath($dbCode)));
if (!$this->directory->isExist($this->database->getDbPath($dbCode))) {
throw new LocalizedException(__('Cannot unpack db file.'));
}
}
示例8: getAddressInfo
/**
* Get list of IP addresses effective for maintenance mode
*
* @return string[]
*/
public function getAddressInfo()
{
if ($this->flagDir->isExist(self::IP_FILENAME)) {
$temp = $this->flagDir->readFile(self::IP_FILENAME);
return explode(',', trim($temp));
} else {
return [];
}
}
示例9: isProcessLocked
/**
* Check whether generation process has already locked
*
* @return bool
*/
protected function isProcessLocked()
{
$lockFilePath = $this->config->getLessMaterializationRelativePath() . '/' . self::LOCK_FILE;
if ($this->tmpDirectory->isExist($lockFilePath)) {
$lockTime = time() - (int) $this->tmpDirectory->readFile($lockFilePath);
if ($lockTime >= self::MAX_LOCK_TIME) {
$this->tmpDirectory->delete($lockFilePath);
return false;
}
return true;
}
return false;
}
示例10: setFlagValue
/**
* Create flag in case when value is set to 'true', remove it if value is set to 'false'.
*
* @param string $pathToFlagFile
* @param bool $value
* @return $this
*/
protected function setFlagValue($pathToFlagFile, $value)
{
if ($value) {
try {
$this->varReaderWriter->touch($pathToFlagFile);
} catch (FileSystemException $e) {
throw new \RuntimeException(sprintf('"%s" cannot be created.', $pathToFlagFile));
}
} else {
if ($this->varReaderWriter->isExist($pathToFlagFile)) {
$this->varReaderWriter->delete($pathToFlagFile);
}
}
return $this;
}
示例11: makeConfig
/**
* @return string Path to config file
* @throws \Exception
*/
public function makeConfig()
{
if (!$this->directory->isExist($this->basePath)) {
//$this->directory->delete($this->basePath);
$this->directory->create($this->basePath);
$this->directory->changePermissions($this->basePath, 0777);
}
$jsonData = [];
$sphinxData = ['time' => date('d.m.Y H:i:s'), 'host' => $this->host, 'port' => $this->port, 'fallback_port' => $this->port - 1, 'logdir' => $this->directory->getAbsolutePath($this->basePath), 'sphinxdir' => $this->directory->getAbsolutePath($this->basePath), 'indexes' => '', 'localdir' => dirname(dirname(__FILE__)), 'custom' => $this->config->getAdditionalSearchdConfig()];
$sphinxTemplate = $this->config->getSphinxConfigurationTemplate();
$indexTemplate = $this->config->getSphinxIndexConfigurationTemplate();
/** @var \Mirasvit\Search\Model\Index $index */
foreach ($this->indexCollectionFactory->create() as $index) {
foreach (array_keys($this->storeManager->getStores()) as $storeId) {
$indexName = $index->getIndexInstance()->getIndexer()->getIndexName($storeId);
$data = ['name' => $indexName, 'min_word_len' => 1, 'path' => $this->directory->getAbsolutePath($this->basePath) . '/' . $indexName, 'custom' => $this->config->getAdditionalIndexConfig()];
$jsonAttributes = [];
$attributes = [];
foreach (array_keys($index->getIndexInstance()->getAttributes(true)) as $attribute) {
$attributes[] = " rt_field = {$attribute}";
$jsonAttributes[] = $attribute;
if (count($attributes) > 250) {
break;
}
}
$attributes[] = " rt_field = options";
$jsonAttributes[] = "options";
$data['attributes'] = implode(PHP_EOL, $attributes);
$sphinxData['indexes'] .= $this->helper->filterTemplate($indexTemplate, $data);
$jsonData[$indexName] = $jsonAttributes;
}
}
$config = $this->helper->filterTemplate($sphinxTemplate, $sphinxData);
if ($this->directory->isWritable($this->basePath)) {
$this->directory->writeFile($this->configFilePath, $config);
$this->directory->writeFile($this->configFilePath . '.attr', json_encode($jsonData));
} else {
if ($this->directory->isExist($this->configFilePath)) {
throw new \Exception(__('File %1 does not writable', $this->configFilePath));
} else {
throw new \Exception(__('Directory %1 does not writable', $this->basePath));
}
}
return $this->directory->getAbsolutePath($this->configFilePath);
}
示例12: createPreviewImageCopy
/**
* Create preview image duplicate
*
* @param ThemeInterface $theme
* @return bool
*/
public function createPreviewImageCopy(ThemeInterface $theme)
{
$previewDir = $this->themeImagePath->getImagePreviewDirectory();
$sourcePath = $theme->getThemeImage()->getPreviewImagePath();
$sourceRelativePath = $this->rootDirectory->getRelativePath($sourcePath);
if (!$theme->getPreviewImage() && !$this->mediaDirectory->isExist($sourceRelativePath)) {
return false;
}
$isCopied = false;
try {
$destinationFileName = \Magento\Framework\File\Uploader::getNewFileName($sourcePath);
$targetRelativePath = $this->mediaDirectory->getRelativePath($previewDir . '/' . $destinationFileName);
$isCopied = $this->rootDirectory->copyFile($sourceRelativePath, $targetRelativePath, $this->mediaDirectory);
$this->theme->setPreviewImage($destinationFileName);
} catch (\Magento\Framework\Filesystem\FilesystemException $e) {
$this->theme->setPreviewImage(null);
$this->logger->critical($e);
}
return $isCopied;
}
示例13: minify
/**
* Minify template file
*
* @param string $file
* @return void
*/
public function minify($file)
{
$dir = dirname($file);
$fileName = basename($file);
$content = preg_replace(
'#(?<!]]>)\s+</#',
'</',
preg_replace(
'#((?:<\?php\s+(?!echo|print|if|elseif|else)[^\?]*)\?>)\s+#',
'$1 ',
preg_replace(
'#(?<!' . implode('|', $this->inlineHtmlTags) . ')\> \<#',
'><',
preg_replace(
'#(?ix)(?>[^\S ]\s*|\s{2,})(?=(?:(?:[^<]++|<(?!/?(?:textarea|pre|script)\b))*+)'
. '(?:<(?>textarea|pre|script)\b|\z))#',
' ',
preg_replace(
'#(?<!:|\\\\|\'|")//(?!\s*\<\!\[)(?!\s*]]\>)[^\n\r]*#',
'',
preg_replace(
'#(?<!:)//[^\n\r]*(\s\?\>)#',
'$1',
preg_replace(
'#(?<!:)//[^\n\r]*(\<\?php)[^\n\r]*(\s\?\>)[^\n\r]*#',
'',
$this->readFactory->create($dir)->readFile($fileName)
)
)
)
)
)
)
);
if (!$this->htmlDirectory->isExist()) {
$this->htmlDirectory->create();
}
$this->htmlDirectory->writeFile($this->getRelativeGeneratedPath($file), rtrim($content));
}
示例14: _getWatermarkFilePath
/**
* Get relative watermark file path
* or false if file not found
*
* @return string | bool
*/
protected function _getWatermarkFilePath()
{
$filePath = false;
if (!($file = $this->getWatermarkFile())) {
return $filePath;
}
$baseDir = $this->_catalogProductMediaConfig->getBaseMediaPath();
$candidates = array($baseDir . '/watermark/stores/' . $this->_storeManager->getStore()->getId() . $file, $baseDir . '/watermark/websites/' . $this->_storeManager->getWebsite()->getId() . $file, $baseDir . '/watermark/default/' . $file, $baseDir . '/watermark/' . $file);
foreach ($candidates as $candidate) {
if ($this->_mediaDirectory->isExist($candidate)) {
$filePath = $this->_mediaDirectory->getAbsolutePath($candidate);
break;
}
}
if (!$filePath) {
$filePath = $this->_viewFileSystem->getStaticFileName($file);
}
return $filePath;
}
示例15: clear
/**
* Clears contents of the log
*
* @return void
*/
public function clear()
{
if ($this->directory->isExist($this->logFile)) {
$this->directory->delete($this->logFile);
}
}