Skip to content

Commit 3e2f80f

Browse files
committed
php.net references
1 parent 019fda8 commit 3e2f80f

12 files changed

+70
-11
lines changed

_build/notes.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@ Notes
1111

1212
- warning about exceptions thrown and abortOnError conf
1313
- add some format check on references
14+
- test other notation for api reference
15+
- conf file, at least for sf version

_build/src/HtmlKernel.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
use SymfonyDocs\Reference\ClassReference;
2121
use SymfonyDocs\Reference\MethodReference;
2222
use SymfonyDocs\Reference\NamespaceReference;
23+
use SymfonyDocs\Reference\PhpClassReference;
2324
use SymfonyDocs\Reference\PhpFunctionReference;
2425
use SymfonyDocs\Reference\PhpMethodReference;
2526
use SymfonyDocs\Reference\RefReference;
@@ -75,13 +76,13 @@ public function getReferences(): array
7576
{
7677
return [
7778
new Doc(),
78-
// new Doc('ref'),
7979
new RefReference(),
8080
new ClassReference(),
8181
new MethodReference(),
8282
new NamespaceReference(),
8383
new PhpFunctionReference(),
8484
new PhpMethodReference(),
85+
new PhpClassReference(),
8586
];
8687
}
8788
}

_build/src/Reference/PhpClassReference.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,22 @@
44

55
use Doctrine\RST\Environment;
66
use Doctrine\RST\Reference;
7-
use Doctrine\RST\References\Resolver;
87
use Doctrine\RST\References\ResolvedReference;
98

109
class PhpClassReference extends Reference
1110
{
11+
private const BASE__URL = 'https://secure.php.net/manual/en/class.%s.php';
12+
1213
public function getName(): string
1314
{
1415
return 'phpclass';
1516
}
1617

1718
public function resolve(Environment $environment, string $data): ResolvedReference
1819
{
19-
$resolver = new Resolver();
20-
return $resolver->resolve($environment, $data);
20+
return new ResolvedReference(
21+
$data,
22+
sprintf(self::BASE__URL, strtolower($data))
23+
);
2124
}
2225
}

_build/src/Reference/PhpFunctionReference.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,22 @@
44

55
use Doctrine\RST\Environment;
66
use Doctrine\RST\Reference;
7-
use Doctrine\RST\References\Resolver;
87
use Doctrine\RST\References\ResolvedReference;
98

109
class PhpFunctionReference extends Reference
1110
{
11+
private const BASE__URL = 'https://secure.php.net/manual/en/function.%s.php';
12+
1213
public function getName(): string
1314
{
1415
return 'phpfunction';
1516
}
1617

1718
public function resolve(Environment $environment, string $data): ResolvedReference
1819
{
19-
$resolver = new Resolver();
20-
return $resolver->resolve($environment, $data);
20+
return new ResolvedReference(
21+
$data,
22+
sprintf(self::BASE__URL, str_replace('_', '-', strtolower($data)))
23+
);
2124
}
22-
2325
}

_build/src/Reference/PhpMethodReference.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,25 @@
44

55
use Doctrine\RST\Environment;
66
use Doctrine\RST\Reference;
7-
use Doctrine\RST\References\Resolver;
87
use Doctrine\RST\References\ResolvedReference;
98

109
class PhpMethodReference extends Reference
1110
{
11+
private const BASE__URL = 'https://secure.php.net/manual/en/%s.%s.php';
12+
1213
public function getName(): string
1314
{
1415
return 'phpmethod';
1516
}
1617

1718
public function resolve(Environment $environment, string $data): ResolvedReference
1819
{
19-
$resolver = new Resolver();
20-
return $resolver->resolve($environment, $data);
20+
$class = explode('::', $data)[0];
21+
$method = explode('::', $data)[1];
22+
23+
return new ResolvedReference(
24+
$data.'()',
25+
sprintf(self::BASE__URL, strtolower($class), strtolower($method))
26+
);
2127
}
2228
}

_build/tests/IntegrationTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,18 @@ public function parserUnitBlockProvider()
141141
yield 'method-reference' => [
142142
'documentName' => 'method-reference',
143143
];
144+
145+
yield 'php-class-reference' => [
146+
'documentName' => 'php-class-reference',
147+
];
148+
149+
yield 'php-function-reference' => [
150+
'documentName' => 'php-function-reference',
151+
];
152+
153+
yield 'php-method-reference' => [
154+
'documentName' => 'php-method-reference',
155+
];
144156
}
145157

146158
public function testRefReferenceError()
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8" />
5+
</head>
6+
<body>
7+
<p><a class="reference external" href="https://secure.php.net/manual/en/class.arrayaccess.php" title="ArrayAccess">ArrayAccess</a></p>
8+
</body>
9+
</html>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8" />
5+
</head>
6+
<body>
7+
<p><a class="reference external" href="https://secure.php.net/manual/en/function.trigger-error.php" title="ArrayAccess">trigger_error</a></p>
8+
</body>
9+
</html>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8" />
5+
</head>
6+
<body>
7+
<p><a class="reference external" href="https://secure.php.net/manual/en/locale.getdefault.php" title="Locale">Locale::getDefault()</a></p>
8+
</body>
9+
</html>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
:phpclass:`ArrayAccess`
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
:phpfunction:`trigger_error`
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
:phpmethod:`Locale::getDefault`

0 commit comments

Comments
 (0)