open() public method

This method is called immediately after the wrapper is initialized (f.e. by fopen() and file_get_contents()). $options can hold one of the following values OR'd together: STREAM_USE_PATH If path is relative, search for the resource using the include_path. STREAM_REPORT_ERRORS If this flag is set, you are responsible for raising errors using trigger_error() during opening of the stream. If this flag is not set, you should not raise any errors.
public open ( string $path, string $mode, integer $options, &$openedPathAndFilename ) : boolean
$path string Specifies the URL that was passed to the original function.
$mode string The mode used to open the file, as detailed for fopen().
$options integer Holds additional flags set by the streams API.
return boolean TRUE on success or FALSE on failure.
 /**
  * @test
  */
 public function openResolves40CharacterLongPackageKeysUsingThePackageManager()
 {
     $packageKey = 'Some.PackageKey.Containing.40.Characters';
     mkdir('vfs://Foo/Some/');
     file_put_contents('vfs://Foo/Some/Path', 'fixture');
     $this->mockPackageManager->expects($this->once())->method('isPackageAvailable')->with($packageKey)->will($this->returnValue(true));
     $mockPackage = $this->createMock(PackageInterface::class);
     $mockPackage->expects($this->any())->method('getResourcesPath')->will($this->returnValue('vfs://Foo'));
     $this->mockPackageManager->expects($this->once())->method('getPackage')->with($packageKey)->will($this->returnValue($mockPackage));
     $openedPathAndFilename = '';
     $this->assertTrue($this->resourceStreamWrapper->open('resource://' . $packageKey . '/Some/Path', 'r', 0, $openedPathAndFilename));
     $this->assertSame($openedPathAndFilename, 'vfs://Foo/Some/Path');
 }