These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | |||
3 | namespace Recca0120\Lodash\JString; |
||
4 | |||
5 | use Recca0120\Lodash\JArray; |
||
6 | use Recca0120\Lodash\JString\Extensions\Chinese; |
||
7 | use Recca0120\Lodash\JString\Extensions\FullCase; |
||
8 | use Recca0120\Lodash\JString\Extensions\Converter; |
||
9 | |||
10 | trait PHP |
||
11 | { |
||
12 | /** |
||
13 | * Quote string with slashes in a C style. |
||
14 | * |
||
15 | * @param string $charlist |
||
16 | * @return static |
||
17 | */ |
||
18 | public function addcslashes($charlist) |
||
19 | { |
||
20 | return new static(addcslashes($this->subject, $charlist)); |
||
2 ignored issues
–
show
The call to
PHP::__construct() has too many arguments starting with addcslashes($this->subject, $charlist) .
This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue. If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. In this case you can add the
Loading history...
|
|||
21 | } |
||
22 | |||
23 | /** |
||
24 | * Quote string with slashes. |
||
25 | * |
||
26 | * @return static |
||
27 | */ |
||
28 | public function addslashes() |
||
29 | { |
||
30 | return new static(addslashes($this->subject)); |
||
1 ignored issue
–
show
The call to
PHP::__construct() has too many arguments starting with addslashes($this->subject) .
This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue. If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. In this case you can add the
Loading history...
|
|||
31 | } |
||
32 | |||
33 | /** |
||
34 | * Convert binary data into hexadecimal representation. |
||
35 | * |
||
36 | * @return static |
||
37 | */ |
||
38 | public function bin2hex() |
||
39 | { |
||
40 | return new static(bin2hex($this->subject)); |
||
1 ignored issue
–
show
The call to
PHP::__construct() has too many arguments starting with bin2hex($this->subject) .
This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue. If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. In this case you can add the
Loading history...
|
|||
41 | } |
||
42 | |||
43 | 1 | /** |
|
44 | * convertEncoding. |
||
45 | 1 | * |
|
46 | 1 | * @param string $toEncoding |
|
47 | 1 | * @return static |
|
48 | */ |
||
49 | public function convertEncoding($toEncoding) |
||
50 | 1 | { |
|
51 | return func_num_args() === 1 ? |
||
52 | 1 | new static(mb_convert_encoding($this->subject, $toEncoding)) : |
|
53 | new static(mb_convert_encoding($this->subject, $toEncoding, func_get_arg(0))); |
||
54 | } |
||
55 | |||
56 | /** |
||
57 | * convertTo. |
||
58 | * |
||
59 | * @param string $variant |
||
60 | * @return static |
||
61 | */ |
||
62 | public function convertTo($variant = 'zh-tw') |
||
63 | { |
||
64 | return new static(Converter::instance()->convertTo($this->subject, $variant)); |
||
65 | } |
||
66 | |||
67 | 1 | /** |
|
68 | * chineseToNumber. |
||
69 | 1 | * |
|
70 | 1 | * @return int |
|
71 | 1 | */ |
|
72 | public function chineseToNumber() |
||
73 | { |
||
74 | return (new Chinese($this->subject))->toNumber(); |
||
75 | } |
||
76 | |||
77 | /** |
||
78 | * Split a string by string. |
||
79 | * |
||
80 | * @param string $delimiter |
||
81 | * @param int $limit |
||
82 | * @return \Recca0120\Lodash\JArray |
||
83 | */ |
||
84 | public function explode($delimiter) |
||
85 | { |
||
86 | return func_num_args() === 1 ? |
||
87 | new JArray(explode($delimiter, $this->subject)) : |
||
88 | new JArray(explode($delimiter, $this->subject, func_get_arg(1))); |
||
89 | } |
||
90 | |||
91 | /** |
||
92 | * Convert all HTML entities to their applicable characters. |
||
93 | 1 | * |
|
94 | * @param int $flags |
||
95 | 1 | * @return static |
|
96 | 1 | */ |
|
97 | 1 | public function htmlEntityDecode() |
|
98 | { |
||
99 | return func_num_args() === 0 ? |
||
100 | new static(html_entity_decode($this->subject)) : |
||
101 | new static(html_entity_decode($this->subject, func_get_arg(0))); |
||
102 | } |
||
103 | |||
104 | /** |
||
105 | * Convert all applicable characters to HTML entities. |
||
106 | * |
||
107 | * @param int $flags |
||
108 | * @return static |
||
109 | */ |
||
110 | public function htmlentities() |
||
111 | { |
||
112 | return func_num_args() === 0 ? |
||
113 | new static(htmlentities($this->subject)) : |
||
114 | new static(htmlentities($this->subject, func_get_arg(0))); |
||
115 | } |
||
116 | |||
117 | /** |
||
118 | * Convert special HTML entities back to characters. |
||
119 | * |
||
120 | * @param int $flags |
||
121 | * @return static |
||
122 | */ |
||
123 | public function htmlspecialcharsDecode() |
||
124 | { |
||
125 | return func_num_args() === 0 ? |
||
126 | new static(htmlspecialchars_decode($this->subject)) : |
||
127 | new static(htmlspecialchars_decode($this->subject, func_get_arg(0))); |
||
128 | } |
||
129 | |||
130 | /** |
||
131 | * Convert special characters to HTML entities. |
||
132 | * |
||
133 | * @param int $flags |
||
134 | * @return static |
||
135 | */ |
||
136 | public function htmlspecialchars() |
||
137 | { |
||
138 | return func_num_args() === 0 ? |
||
139 | new static(htmlspecialchars($this->subject)) : |
||
140 | new static(htmlspecialchars($this->subject, func_get_arg(0))); |
||
141 | } |
||
142 | 1 | ||
143 | /** |
||
144 | 1 | * Make a string's first character lowercase. |
|
145 | * |
||
146 | * @return static |
||
147 | */ |
||
148 | public function lcfirst() |
||
149 | { |
||
150 | return new static(lcfirst($this->subject)); |
||
151 | } |
||
152 | |||
153 | /** |
||
154 | * Strip whitespace (or other characters) from the beginning of a string. |
||
155 | * |
||
156 | * @param string $characterMask |
||
157 | * @return static |
||
158 | */ |
||
159 | public function ltrim($characterMask = " \t\n\r\0\x0B") |
||
160 | { |
||
161 | return new static(ltrim($this->subject, $characterMask)); |
||
162 | } |
||
163 | |||
164 | /** |
||
165 | * Calculate the md5 hash of a string. |
||
166 | * |
||
167 | * @param bool $rawOutput |
||
168 | * @return static |
||
169 | */ |
||
170 | public function md5($rawOutput = false) |
||
171 | { |
||
172 | return new static(md5($this->subject, $rawOutput)); |
||
173 | } |
||
174 | |||
175 | /** |
||
176 | * Inserts HTML line breaks before all newlines in a string. |
||
177 | * |
||
178 | * @param bool $isXHTML |
||
179 | * @return static |
||
180 | */ |
||
181 | public function nl2br($isXHTML = true) |
||
182 | { |
||
183 | return new static(nl2br($this->subject, $isXHTML)); |
||
184 | } |
||
185 | |||
186 | /** |
||
187 | * Parses the string into variables. |
||
188 | 1 | * |
|
189 | * @return \Recca0120\Lodash\JArray |
||
190 | 1 | */ |
|
191 | public function parse() |
||
192 | { |
||
193 | $results = []; |
||
194 | parse_str($this->subject, $results); |
||
195 | |||
196 | return new JArray($results); |
||
197 | } |
||
198 | |||
199 | /** |
||
200 | * Strip whitespace (or other characters) from the end of a string. |
||
201 | * |
||
202 | * @param string $characterMask |
||
203 | * @return static |
||
204 | */ |
||
205 | public function rtrim($characterMask = " \t\n\r\0\x0B") |
||
206 | { |
||
207 | return new static(rtrim($this->subject, $characterMask)); |
||
208 | } |
||
209 | |||
210 | /** |
||
211 | * Calculate the sha1 hash of a string. |
||
212 | * |
||
213 | * @return static |
||
214 | */ |
||
215 | public function sha1() |
||
216 | { |
||
217 | return new static(sha1($this->subject)); |
||
218 | } |
||
219 | |||
220 | /** |
||
221 | * Parses input from a string according to a format. |
||
222 | * |
||
223 | * @param string $format |
||
224 | * @return \Recca0120\Lodash\JArray |
||
225 | */ |
||
226 | public function sscanf($format) |
||
227 | { |
||
228 | return new JArray(sscanf($this->subject, $format)); |
||
229 | } |
||
230 | |||
231 | /** |
||
232 | * Pad a string to a certain length with another string. |
||
233 | * |
||
234 | * @param int $length |
||
235 | * @param string $chars |
||
236 | * @param int $type |
||
237 | * @return static |
||
238 | */ |
||
239 | public function pad($length = 0, $chars = ' ', $type = STR_PAD_BOTH) |
||
240 | { |
||
241 | return new static(str_pad($this->subject, $length, $chars, $type)); |
||
242 | } |
||
243 | |||
244 | /** |
||
245 | * Perform the rot13 transform on a string. |
||
246 | * |
||
247 | * @return static |
||
248 | */ |
||
249 | public function rot13() |
||
250 | { |
||
251 | return new static(str_rot13($this->subject)); |
||
252 | } |
||
253 | |||
254 | /** |
||
255 | * Randomly shuffles a string. |
||
256 | * |
||
257 | * @return static |
||
258 | */ |
||
259 | public function shuffle() |
||
260 | { |
||
261 | return new static(str_shuffle($this->subject)); |
||
262 | } |
||
263 | |||
264 | /** |
||
265 | * Strip HTML and PHP tags from a string. |
||
266 | * |
||
267 | * @param string $allowable_tags |
||
268 | * @return static |
||
269 | */ |
||
270 | public function stripTags() |
||
271 | { |
||
272 | return func_num_args() === 0 ? |
||
273 | new static(strip_tags($this->subject)) : |
||
274 | new static(strip_tags($this->subject, func_get_arg(0))); |
||
275 | } |
||
276 | |||
277 | /** |
||
278 | * Un-quote string quoted with addcslashes(). |
||
279 | * |
||
280 | * @return static |
||
281 | */ |
||
282 | public function stripcslashes() |
||
283 | { |
||
284 | return new static(stripcslashes($this->subject)); |
||
285 | } |
||
286 | |||
287 | /** |
||
288 | * Un-quotes a quoted string. |
||
289 | * |
||
290 | * @return static |
||
291 | */ |
||
292 | public function stripslashes() |
||
293 | { |
||
294 | return new static(stripslashes($this->subject)); |
||
295 | } |
||
296 | |||
297 | /** |
||
298 | * Reverse a string. |
||
299 | * |
||
300 | * @return static |
||
301 | */ |
||
302 | public function reverse() |
||
303 | { |
||
304 | return new static(strrev($this->subject)); |
||
305 | } |
||
306 | |||
307 | /** |
||
308 | * toFullCase. |
||
309 | * |
||
310 | * @return static |
||
311 | */ |
||
312 | public function toFullCase() |
||
313 | { |
||
314 | return new static((new FullCase($this->subject))->toFullCase()); |
||
315 | } |
||
316 | |||
317 | /** |
||
318 | * toHalfCase. |
||
319 | * |
||
320 | * @return static |
||
321 | */ |
||
322 | public function toHalfCase() |
||
323 | { |
||
324 | return new static((new FullCase($this->subject))->toHalfCase()); |
||
325 | } |
||
326 | |||
327 | /** |
||
328 | * Make a string's first character uppercase. |
||
329 | * |
||
330 | * @return static |
||
331 | */ |
||
332 | public function ucfirst() |
||
333 | { |
||
334 | return new static(ucfirst($this->subject)); |
||
335 | } |
||
336 | |||
337 | /** |
||
338 | * Uppercase the first character of each word in a string. |
||
339 | * |
||
340 | * @param string $delimiters |
||
341 | * @return static |
||
342 | */ |
||
343 | public function ucwords($delimiters = " \t\r\n\f\v") |
||
344 | { |
||
345 | return new static(ucwords($this->subject, $delimiters)); |
||
346 | } |
||
347 | |||
348 | /** |
||
349 | * Wraps a string to a given number of characters. |
||
350 | * |
||
351 | * @param int $width |
||
352 | * @param string $break |
||
353 | * @param bool $cut |
||
354 | * @return static |
||
355 | */ |
||
356 | public function wordwrap($width = 75, $break = "\n", $cut = false) |
||
357 | { |
||
358 | return new static(wordwrap($this->subject, $width, $break, $cut)); |
||
359 | } |
||
360 | } |
||
361 |
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: