本文整理匯總了PHP中Composer\Package\Package::getTargetDir方法的典型用法代碼示例。如果您正苦於以下問題:PHP Package::getTargetDir方法的具體用法?PHP Package::getTargetDir怎麽用?PHP Package::getTargetDir使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Composer\Package\Package
的用法示例。
在下文中一共展示了Package::getTargetDir方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testGetTargetDir
public function testGetTargetDir()
{
$package = new Package('a', '1.0.0.0', '1.0');
$this->assertNull($package->getTargetDir());
$package->setTargetDir('./../foo/');
$this->assertEquals('foo/', $package->getTargetDir());
$package->setTargetDir('foo/../../../bar/');
$this->assertEquals('foo/bar/', $package->getTargetDir());
$package->setTargetDir('../..');
$this->assertEquals('', $package->getTargetDir());
$package->setTargetDir('..');
$this->assertEquals('', $package->getTargetDir());
$package->setTargetDir('/..');
$this->assertEquals('', $package->getTargetDir());
$package->setTargetDir('/foo/..');
$this->assertEquals('foo/', $package->getTargetDir());
$package->setTargetDir('/foo/..//bar');
$this->assertEquals('foo/bar', $package->getTargetDir());
}
示例2: testVendorDirExcludedFromWorkingDir
public function testVendorDirExcludedFromWorkingDir()
{
$workingDir = $this->vendorDir . '/working-dir';
$vendorDir = $workingDir . '/../vendor';
$this->fs->ensureDirectoryExists($workingDir);
chdir($workingDir);
$package = new Package('a', '1.0', '1.0');
$package->setAutoload(array('psr-0' => array('Foo' => 'src'), 'psr-4' => array('Acme\\Foo\\' => 'src-psr4'), 'classmap' => array('classmap'), 'files' => array('test.php')));
$vendorPackage = new Package('b/b', '1.0', '1.0');
$vendorPackage->setAutoload(array('psr-0' => array('Bar' => 'lib'), 'psr-4' => array('Acme\\Bar\\' => 'lib-psr4'), 'classmap' => array('classmaps'), 'files' => array('bootstrap.php')));
$this->repository->expects($this->once())->method('getCanonicalPackages')->will($this->returnValue(array($vendorPackage)));
$im = $this->getMockBuilder('Composer\\Installer\\InstallationManager')->disableOriginalConstructor()->getMock();
$im->expects($this->any())->method('getInstallPath')->will($this->returnCallback(function ($package) use($vendorDir) {
$targetDir = $package->getTargetDir();
return $vendorDir . '/' . $package->getName() . ($targetDir ? '/' . $targetDir : '');
}));
$this->fs->ensureDirectoryExists($workingDir . '/src/Foo');
$this->fs->ensureDirectoryExists($workingDir . '/classmap');
$this->fs->ensureDirectoryExists($vendorDir . '/composer');
$this->fs->ensureDirectoryExists($vendorDir . '/b/b/lib/Bar');
$this->fs->ensureDirectoryExists($vendorDir . '/b/b/classmaps');
file_put_contents($workingDir . '/src/Foo/Bar.php', '<?php namespace Foo; class Bar {}');
file_put_contents($workingDir . '/classmap/classes.php', '<?php namespace Foo; class Foo {}');
file_put_contents($workingDir . '/test.php', '<?php class Foo {}');
file_put_contents($vendorDir . '/b/b/lib/Bar/Foo.php', '<?php namespace Bar; class Foo {}');
file_put_contents($vendorDir . '/b/b/classmaps/classes.php', '<?php namespace Bar; class Bar {}');
file_put_contents($vendorDir . '/b/b/bootstrap.php', '<?php class Bar {}');
$oldVendorDir = $this->vendorDir;
$this->vendorDir = $vendorDir;
$this->generator->dump($this->config, $this->repository, $package, $im, 'composer', true, '_13');
$this->vendorDir = $oldVendorDir;
$expectedNamespace = <<<'EOF'
<?php
// autoload_namespaces.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir).'/working-dir';
return array(
'Foo' => array($baseDir . '/src'),
'Bar' => array($vendorDir . '/b/b/lib'),
);
EOF;
$expectedPsr4 = <<<'EOF'
<?php
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir).'/working-dir';
return array(
'Acme\\Foo\\' => array($baseDir . '/src-psr4'),
'Acme\\Bar\\' => array($vendorDir . '/b/b/lib-psr4'),
);
EOF;
$expectedClassmap = <<<'EOF'
<?php
// autoload_classmap.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir).'/working-dir';
return array(
'Bar\\Bar' => $vendorDir . '/b/b/classmaps/classes.php',
'Bar\\Foo' => $vendorDir . '/b/b/lib/Bar/Foo.php',
'Foo\\Bar' => $baseDir . '/src/Foo/Bar.php',
'Foo\\Foo' => $baseDir . '/classmap/classes.php',
);
EOF;
$this->assertEquals($expectedNamespace, file_get_contents($vendorDir . '/composer/autoload_namespaces.php'));
$this->assertEquals($expectedPsr4, file_get_contents($vendorDir . '/composer/autoload_psr4.php'));
$this->assertEquals($expectedClassmap, file_get_contents($vendorDir . '/composer/autoload_classmap.php'));
$this->assertContains("\n \$vendorDir . '/b/b/bootstrap.php',\n", file_get_contents($vendorDir . '/composer/autoload_files.php'));
$this->assertContains("\n \$baseDir . '/test.php',\n", file_get_contents($vendorDir . '/composer/autoload_files.php'));
}