Install
openclaw skills install phpWrite solid PHP avoiding type juggling traps, array quirks, and common security pitfalls.
openclaw skills install php| Topic | File |
|---|---|
| Loose typing, ==, ===, type juggling, strict_types | types.md |
| Associative arrays, iteration, array functions | arrays.md |
| Traits, interfaces, visibility, late static binding | oop.md |
| Encoding, interpolation, heredoc, regex | strings.md |
| Exceptions, error handling, @ operator | errors.md |
| SQL injection, XSS, CSRF, input validation | security.md |
| PHP 8+ features, attributes, named args, match | modern.md |
== coerces types: "0" == false is true — always use === for strict comparisonin_array($val, $arr) uses loose comparison — pass true as third param for strictstrpos() returns 0 for match at start — use === false not !strpos()htmlspecialchars($s, ENT_QUOTES) all output — prevents XSSisset() returns false for null — use array_key_exists() to check key existsforeach ($arr as &$val) — unset $val after loop or last ref persistsstatic:: late binding vs self:: early binding — static respects overrides@ suppresses errors — avoid, makes debugging impossibleThrowable for both Error and Exception — PHP 7+declare(strict_types=1) per file — enables strict type checkingstrlen() counts bytes — use mb_strlen() for UTF-8 character countclone $objarray_merge() reindexes numeric keys — use + operator to preserve keys