/** * @return Webforge\Common\System\File */ protected function getGClassFromFile() { $project = \Psc\PSC::getProject(); $gClass = new GClass(Code::mapFileToClass($this->file, $project->dir('lib'))); $gClass->setSrcFileName((string) $this->file); // damit wir wirklich fremde sourcen angeben können return $gClass; }
/** * @group gn */ public function testGetClassName_underscoreStyle() { if (\Psc\PSC::getProject() !== 'psc-laptop' && \Psc\PSC::getProject() !== 'psc-desktop') { $this->markTestSkipped('kein bekanntes BaseDir definiert'); } $file = new File('D:\\www\\psc-cms\\Umsetzung\\base\\src\\Psc\\Code\\Generate\\GClass.php'); $dir = new Dir('D:\\www\\psc-cms\\Umsetzung\\base\\src\\'); $this->assertEquals('Psc_Code_Generate_GClass', Code::mapFileToClass($file, $dir, '_')); $file = new File('D:\\www\\psc-cms\\Umsetzung\\base\\src\\PHPWord\\PHPWord.php'); $dir = new Dir('D:\\www\\psc-cms\\Umsetzung\\base\\src\\PHPWord\\'); $this->assertEquals('PHPWord', Code::mapFileToClass($file, $dir, '_')); }
/** * Gibt zu einer Datei im Phar die Klasse zurück * * dies funktioniert im Moment nur mit der Konvention, dass jedes Verzeichnis ein unter-namespace von $this->namespace ist */ protected function inferClassName(File $file) { return Code::mapFileToClass($file, $this->classPath->up(), $this->underscoreStyle ? '_' : '\\'); }
/** * @return GClass */ public function getClassFromFile(File $file) { return new GClass(Code::mapFileToClass($file, $this->getClassPath()->up())); }