本文整理汇总了PHP中Cake\Filesystem\File::prepare方法的典型用法代码示例。如果您正苦于以下问题:PHP File::prepare方法的具体用法?PHP File::prepare怎么用?PHP File::prepare使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cake\Filesystem\File
的用法示例。
在下文中一共展示了File::prepare方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createFile
/**
* Creates a file at given path
*
* @param string $path Where to put the file.
* @param string $contents Content to put in the file.
* @return bool Success
* @link http://book.cakephp.org/3.0/en/console-and-shells.html#creating-files
*/
public function createFile($path, $contents)
{
$path = str_replace(DS . DS, DS, $path);
$this->_io->out();
if (is_file($path) && empty($this->params['force']) && $this->interactive) {
$this->_io->out(sprintf('<warning>File `%s` exists</warning>', $path));
$key = $this->_io->askChoice('Do you want to overwrite?', ['y', 'n', 'a', 'q'], 'n');
if (strtolower($key) === 'q') {
$this->_io->out('<error>Quitting</error>.', 2);
return $this->_stop();
}
if (strtolower($key) === 'a') {
$this->params['force'] = true;
$key = 'y';
}
if (strtolower($key) !== 'y') {
$this->_io->out(sprintf('Skip `%s`', $path), 2);
return false;
}
} else {
$this->out(sprintf('Creating file %s', $path));
}
$File = new File($path, true);
if ($File->exists() && $File->writable()) {
$data = $File->prepare($contents);
$File->write($data);
$this->_io->out(sprintf('<success>Wrote</success> `%s`', $path));
return true;
}
$this->_io->err(sprintf('<error>Could not write to `%s`</error>.', $path), 2);
return false;
}
示例2: testPrepare
/**
* testPrepare method
*
* @return void
*/
public function testPrepare()
{
$string = "some\nvery\ncool\r\nteststring here\n\n\nfor\r\r\n\n\r\n\nhere";
if (DS === '\\') {
$expected = "some\r\nvery\r\ncool\r\nteststring here\r\n\r\n\r\n";
$expected .= "for\r\n\r\n\r\n\r\n\r\nhere";
} else {
$expected = "some\nvery\ncool\nteststring here\n\n\nfor\n\n\n\n\nhere";
}
$this->assertSame($expected, File::prepare($string));
$expected = "some\r\nvery\r\ncool\r\nteststring here\r\n\r\n\r\n";
$expected .= "for\r\n\r\n\r\n\r\n\r\nhere";
$this->assertSame($expected, File::prepare($string, true));
}