core-bundle/src/Command/SymlinksCommand.php
private function symlink(string $target, string $link): void
    {
        $target = strtr($target, '\\', '/');
        $link = strtr($link, '\\', '/');

        try {
            SymlinkUtil::symlink($target, $link, $this->rootDir);

            $this->rows[] = [
                sprintf(
                    '<fg=green;options=bold>%s</>',
                    '\\' === \DIRECTORY_SEPARATOR ? 'OK' : "\xE2\x9C\x94" // HEAVY CHECK MARK (U+2714)
                ),
                $link,
                $target,
            ];
        } catch (\Exception $e) {
            $this->statusCode = 1;

            $this->rows[] = [
                sprintf(
                    '<fg=red;options=bold>%s</>',
                    '\\' === \DIRECTORY_SEPARATOR ? 'ERROR' : "\xE2\x9C\x98" // HEAVY BALLOT X (U+2718)
                ),
                $link,
                sprintf('<error>%s</error>', $e->getMessage()),
            ];
        }
    }
private function symlink(string $target, string $link): void
    {
        $target = strtr($target, '\\', '/');
        $link = strtr($link, '\\', '/');

        try {
            SymlinkUtil::symlink($target, $link, $this->rootDir);

            $this->rows[] = [
                sprintf(
                    '<fg=green;options=bold>%s</>',
                    '\\' === \DIRECTORY_SEPARATOR ? 'OK' : "\xE2\x9C\x94" // HEAVY CHECK MARK (U+2714)
                ),
                $link,
                $target,
            ];
        } catch (\Exception $e) {
            $this->statusCode = 1;

            $this->rows[] = [
                sprintf(
                    '<fg=red;options=bold>%s</>',
                    '\\' === \DIRECTORY_SEPARATOR ? 'ERROR' : "\xE2\x9C\x98" // HEAVY BALLOT X (U+2718)
                ),
                $link,
                sprintf('<error>%s</error>', $e->getMessage()),
            ];
        }
    }
private function symlink ( string $ target , string $ link ) : void { $ target = strtr ( $ target , '\\' , '/' ) ; $ link = strtr ( $ link , '\\' , '/' ) ; try { SymlinkUtil :: symlink ( $ target , $ link , $ this -> rootDir ) ; $ this -> rows [ ] = [ sprintf ( '<fg=green;options=bold>%s</>' , '\\' === \ DIRECTORY_SEPARATOR ? 'OK' : "\xE2\x9C\x94" // HEAVY CHECK MARK (U+2714) ) , $ link , $ target , ] ; } catch ( \ Exception $ e ) { $ this -> statusCode = 1 ; $ this -> rows [ ] = [ sprintf ( '<fg=red;options=bold>%s</>' , '\\' === \ DIRECTORY_SEPARATOR ? 'ERROR' : "\xE2\x9C\x98" // HEAVY BALLOT X (U+2718) ) , $ link , sprintf ( '<error>%s</error>' , $ e -> getMessage ( ) ) , ] ; } }
The method will try to generate relative symlinks and fall back to generating
absolute symlinks if relative symlinks are not supported (see #208).
The method will try to generate relative symlinks and fall back to generating absolute symlinks if relative symlinks are not supported ( see #208 ) .