Skip to content

Commit 2d96028

Browse files
authored
Merge pull request #8 from sidz/provide-stubs-for-basics-php
Add basics.php stub
2 parents ed5c00a + 20b1b9c commit 2d96028

File tree

2 files changed

+282
-0
lines changed

2 files changed

+282
-0
lines changed

extension.neon

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ parameters:
1212
- stubs/Model/Model.stub
1313
- stubs/Routing/Router.stub
1414
- stubs/Utility/ClassRegistry.stub
15+
bootstrapFiles:
16+
- stubs/basics.php
1517
services:
1618
- class: PHPStanCakePHP2\ClassComponentsExtension
1719
tags:

stubs/basics.php

Lines changed: 280 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,280 @@
1+
<?php
2+
3+
namespace {
4+
/**
5+
* @param string $singular
6+
* @param string|int|float|null ...$args
7+
*
8+
* @return string|null
9+
*/
10+
function __($singular, $args = null) {
11+
if (!$singular) {
12+
return null;
13+
}
14+
15+
App::uses('I18n', 'I18n');
16+
$translated = I18n::translate($singular);
17+
$arguments = func_get_args();
18+
return I18n::insertArgs($translated, array_slice($arguments, 1));
19+
}
20+
21+
/**
22+
* @param string $singular
23+
* @param string $plural
24+
* @param int $count
25+
* @param string|int|float|null ...$args
26+
*
27+
* @return string|null
28+
*/
29+
function __n($singular, $plural, $count, $args = null) {
30+
if (!$singular) {
31+
return null;
32+
}
33+
34+
App::uses('I18n', 'I18n');
35+
$translated = I18n::translate($singular, $plural, null, I18n::LC_MESSAGES, $count);
36+
$arguments = func_get_args();
37+
return I18n::insertArgs($translated, array_slice($arguments, 3));
38+
}
39+
40+
/**
41+
* @param string $domain
42+
* @param string $msg
43+
* @param string|int|float|null ...$args
44+
*
45+
* @return string|null
46+
*/
47+
function __d($domain, $msg, $args = null) {
48+
if (!$msg) {
49+
return null;
50+
}
51+
App::uses('I18n', 'I18n');
52+
$translated = I18n::translate($msg, null, $domain);
53+
$arguments = func_get_args();
54+
return I18n::insertArgs($translated, array_slice($arguments, 2));
55+
}
56+
57+
/**
58+
* @param string $domain
59+
* @param string $singular
60+
* @param string $plural
61+
* @param int $count
62+
* @param string|int|float|null ...$args
63+
*
64+
* @return string|null
65+
*/
66+
function __dn($domain, $singular, $plural, $count, $args = null) {
67+
if (!$singular) {
68+
return null;
69+
}
70+
App::uses('I18n', 'I18n');
71+
$translated = I18n::translate($singular, $plural, $domain, I18n::LC_MESSAGES, $count);
72+
$arguments = func_get_args();
73+
return I18n::insertArgs($translated, array_slice($arguments, 4));
74+
}
75+
76+
/**
77+
* @param string $domain
78+
* @param string $msg
79+
* @param int $category
80+
* @param string|int|float|null ...$args
81+
*
82+
* @return string|null
83+
*/
84+
function __dc($domain, $msg, $category, $args = null) {
85+
if (!$msg) {
86+
return null;
87+
}
88+
App::uses('I18n', 'I18n');
89+
$translated = I18n::translate($msg, null, $domain, $category);
90+
$arguments = func_get_args();
91+
return I18n::insertArgs($translated, array_slice($arguments, 3));
92+
}
93+
94+
/**
95+
* @param string $domain
96+
* @param string $singular
97+
* @param string $plural
98+
* @param int $count
99+
* @param int $category
100+
* @param string|int|float|null ...$args
101+
*
102+
* @return string|null
103+
*/
104+
function __dcn($domain, $singular, $plural, $count, $category, $args = null) {
105+
if (!$singular) {
106+
return null;
107+
}
108+
App::uses('I18n', 'I18n');
109+
$translated = I18n::translate($singular, $plural, $domain, $category, $count);
110+
$arguments = func_get_args();
111+
return I18n::insertArgs($translated, array_slice($arguments, 5));
112+
}
113+
114+
/**
115+
* @param string $msg
116+
* @param int $category
117+
* @param string|int|float|null ...$args
118+
*
119+
* @return string|null
120+
*/
121+
function __c($msg, $category, $args = null) {
122+
if (!$msg) {
123+
return null;
124+
}
125+
App::uses('I18n', 'I18n');
126+
$translated = I18n::translate($msg, null, null, $category);
127+
$arguments = func_get_args();
128+
return I18n::insertArgs($translated, array_slice($arguments, 2));
129+
}
130+
131+
/**
132+
* @param string $context
133+
* @param string $singular
134+
* @param string|int|float|null ...$args
135+
*
136+
* @return string|null
137+
*/
138+
function __x($context, $singular, $args = null) {
139+
if (!$singular) {
140+
return null;
141+
}
142+
143+
App::uses('I18n', 'I18n');
144+
$translated = I18n::translate($singular, null, null, null, null, null, $context);
145+
$arguments = func_get_args();
146+
return I18n::insertArgs($translated, array_slice($arguments, 2));
147+
}
148+
149+
/**
150+
* @param string $context
151+
* @param string $singular
152+
* @param string $plural
153+
* @param int $count
154+
* @param string|int|float|null ...$args
155+
*
156+
* @return string|null
157+
*/
158+
function __xn($context, $singular, $plural, $count, $args = null) {
159+
if (!$singular) {
160+
return null;
161+
}
162+
163+
App::uses('I18n', 'I18n');
164+
$translated = I18n::translate($singular, $plural, null, I18n::LC_MESSAGES, $count, null, $context);
165+
$arguments = func_get_args();
166+
return I18n::insertArgs($translated, array_slice($arguments, 4));
167+
}
168+
169+
/**
170+
* @param string $domain
171+
* @param string $context
172+
* @param string $msg
173+
* @param string|int|float|null ...$args
174+
*
175+
* @return string|null
176+
*/
177+
function __dx($domain, $context, $msg, $args = null) {
178+
if (!$msg) {
179+
return null;
180+
}
181+
App::uses('I18n', 'I18n');
182+
$translated = I18n::translate($msg, null, $domain, null, null, null, $context);
183+
$arguments = func_get_args();
184+
return I18n::insertArgs($translated, array_slice($arguments, 3));
185+
}
186+
187+
/**
188+
* @param string $domain
189+
* @param string $context
190+
* @param string $singular
191+
* @param string $plural
192+
* @param int $count
193+
* @param string|int|float|null ...$args
194+
*
195+
* @return string|null
196+
*/
197+
function __dxn($domain, $context, $singular, $plural, $count, $args = null) {
198+
if (!$singular) {
199+
return null;
200+
}
201+
App::uses('I18n', 'I18n');
202+
$translated = I18n::translate($singular, $plural, $domain, I18n::LC_MESSAGES, $count, null, $context);
203+
$arguments = func_get_args();
204+
return I18n::insertArgs($translated, array_slice($arguments, 5));
205+
}
206+
207+
/**
208+
* @param string $domain
209+
* @param string $context
210+
* @param string $msg
211+
* @param int $category
212+
* @param string|int|float|null ...$args
213+
*
214+
* @return string|null
215+
*/
216+
function __dxc($domain, $context, $msg, $category, $args = null) {
217+
if (!$msg) {
218+
return null;
219+
}
220+
App::uses('I18n', 'I18n');
221+
$translated = I18n::translate($msg, null, $domain, $category, null, null, $context);
222+
$arguments = func_get_args();
223+
return I18n::insertArgs($translated, array_slice($arguments, 4));
224+
}
225+
226+
/**
227+
* @param string $domain
228+
* @param string $context
229+
* @param string $singular
230+
* @param string $plural
231+
* @param int $count
232+
* @param int $category
233+
* @param string|int|float|null ...$args
234+
*
235+
* @return string|null
236+
*/
237+
function __dxcn($domain, $context, $singular, $plural, $count, $category, $args = null) {
238+
if (!$singular) {
239+
return null;
240+
}
241+
App::uses('I18n', 'I18n');
242+
$translated = I18n::translate($singular, $plural, $domain, $category, $count, null, $context);
243+
$arguments = func_get_args();
244+
return I18n::insertArgs($translated, array_slice($arguments, 6));
245+
}
246+
247+
/**
248+
* @param string $context
249+
* @param string $msg
250+
* @param int $category
251+
* @param string|int|float|null ...$args
252+
*
253+
* @return string|null
254+
*/
255+
function __xc($context, $msg, $category, $args = null) {
256+
if (!$msg) {
257+
return null;
258+
}
259+
App::uses('I18n', 'I18n');
260+
$translated = I18n::translate($msg, null, null, $category, null, null, $context);
261+
$arguments = func_get_args();
262+
return I18n::insertArgs($translated, array_slice($arguments, 3));
263+
}
264+
265+
/**
266+
* @param mixed $var
267+
*/
268+
function pr($var)
269+
{
270+
}
271+
272+
/**
273+
* @param string $key
274+
*
275+
* @return string|bool|null
276+
*/
277+
function env($key)
278+
{
279+
}
280+
}

0 commit comments

Comments
 (0)