Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | n/a |
0 / 0 |
n/a |
0 / 0 |
CRAP | n/a |
0 / 0 |
1 | <?php |
2 | |
3 | namespace MediaWiki\Page; |
4 | |
5 | use InvalidArgumentException; |
6 | use MediaWiki\Linker\LinkTarget; |
7 | use Wikimedia\Rdbms\IDBAccessObject; |
8 | |
9 | /** |
10 | * Service for looking up information about wiki pages. |
11 | * |
12 | * Default implementation is PageStore. |
13 | * |
14 | * @since 1.36 |
15 | * @ingroup Page |
16 | */ |
17 | interface PageLookup { |
18 | |
19 | /** |
20 | * Returns the PageIdentity for the given LinkTarget. The page does not have to exist. |
21 | * Fragments are ignored. |
22 | * |
23 | * The LinkTarget must refer to a proper page - that is, it must not be a relative section link, |
24 | * an interwiki link, or refer to a special page. |
25 | * |
26 | * @param LinkTarget $link |
27 | * @param int $queryFlags |
28 | * |
29 | * @throws InvalidArgumentException if $link does not refer to a proper page. |
30 | * @return ProperPageIdentity |
31 | */ |
32 | public function getPageForLink( |
33 | LinkTarget $link, |
34 | int $queryFlags = IDBAccessObject::READ_NORMAL |
35 | ): ProperPageIdentity; |
36 | |
37 | /** |
38 | * Returns the PageRecord of the given page. |
39 | * |
40 | * @param int $pageId |
41 | * @param int $queryFlags |
42 | * |
43 | * @throws InvalidArgumentException if $pageId is 0 or negative. |
44 | * @return ExistingPageRecord|null The page's PageRecord, or null if the page was not found. |
45 | */ |
46 | public function getPageById( |
47 | int $pageId, |
48 | int $queryFlags = IDBAccessObject::READ_NORMAL |
49 | ): ?ExistingPageRecord; |
50 | |
51 | /** |
52 | * Returns the PageRecord for the given name and namespace. |
53 | * |
54 | * @param int $namespace |
55 | * @param string $dbKey |
56 | * @param int $queryFlags |
57 | * |
58 | * @return ExistingPageRecord|null The page's PageRecord, or null if the page was not found. |
59 | * @throws InvalidArgumentException if $namespace is negative or $dbKey is empty. |
60 | */ |
61 | public function getPageByName( |
62 | int $namespace, |
63 | string $dbKey, |
64 | int $queryFlags = IDBAccessObject::READ_NORMAL |
65 | ): ?ExistingPageRecord; |
66 | |
67 | /** |
68 | * Returns a PageIdentity for a given user provided page name text. |
69 | * Returns null if the title is not a valid name of a proper page, |
70 | * e.g if it is a special page, an interwiki link, a relative section line, or simply invalid. |
71 | * |
72 | * @since 1.37 |
73 | * |
74 | * @param string $text |
75 | * @param int $defaultNamespace Namespace to assume by default (usually NS_MAIN) |
76 | * @param int $queryFlags |
77 | * |
78 | * @return ProperPageIdentity|null |
79 | */ |
80 | public function getPageByText( |
81 | string $text, |
82 | int $defaultNamespace = NS_MAIN, |
83 | int $queryFlags = IDBAccessObject::READ_NORMAL |
84 | ): ?ProperPageIdentity; |
85 | |
86 | /** |
87 | * Returns an ExistingPageRecord for a given user provided page name text. |
88 | * |
89 | * Returns null if the page does not exist or if title is not a valid name of a proper page, |
90 | * e.g if it is a special page, an interwiki link, a relative section line, or simply invalid. |
91 | * |
92 | * @since 1.37 |
93 | * |
94 | * @param string $text |
95 | * @param int $defaultNamespace Namespace to assume by default (usually NS_MAIN) |
96 | * @param int $queryFlags |
97 | * |
98 | * @return ExistingPageRecord|null |
99 | */ |
100 | public function getExistingPageByText( |
101 | string $text, |
102 | int $defaultNamespace = NS_MAIN, |
103 | int $queryFlags = IDBAccessObject::READ_NORMAL |
104 | ): ?ExistingPageRecord; |
105 | |
106 | /** |
107 | * Returns the PageRecord of the given page. |
108 | * May return $page if that already is a PageRecord. |
109 | * If $page is a PageIdentity, implementations may call methods like exists() and getId() on it. |
110 | * |
111 | * The PageReference must refer to a proper page - that is, it must not refer to a special page. |
112 | * |
113 | * @param PageReference $page |
114 | * @param int $queryFlags |
115 | * |
116 | * @return ExistingPageRecord|null The page's PageRecord, or null if the page was not found. |
117 | * @throws InvalidArgumentException if $page does not refer to a proper page. |
118 | */ |
119 | public function getPageByReference( |
120 | PageReference $page, |
121 | int $queryFlags = IDBAccessObject::READ_NORMAL |
122 | ): ?ExistingPageRecord; |
123 | |
124 | } |