рд╕реНрдереИрддрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдХреЛрдб рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЬрд╛рдВрдЪ рд░рд╣рд╛ рд╣реИред
рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдЙрджрд╛рд╣рд░рдг:
strpos .
рд▓реЗрдХрд┐рди рдПрдХ рдореМрдХрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдХреА рдХрдИ рдорд┐рд▓рд┐рдпрди рд▓рд╛рдЗрдиреЛрдВ рдкрд░ рднреА рдЗрд╕ рддрд░рд╣ рдХрд╛ рдирд┐рджрд╛рди "рд╢реВрдЯ" рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрд╕рдлрд▓ рдкрд░рд┐рдХрд▓реНрдкрдирд╛рдУрдВ рдкрд░ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЖрдЬ рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдмрд┐рдирд╛ рдХреЛрдб рд▓рд┐рдЦреЗ phpgrep рдпреВрдЯрд┐рд▓рд┐рдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред
рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЗрдВ
рдЕрдм рдХрдИ рдорд╣реАрдиреЛрдВ рд╕реЗ, рдореИрдВ NoVerify PHP linter рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ ( NoVerify рд▓реЗрдЦ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝реЗрдВ : Linter for PHP рд╕реЗ VKontakte Team )ред
рд╕рдордп-рд╕рдордп рдкрд░, рдЯреАрдо рдореЗрдВ рдирдП рдирд┐рджрд╛рди рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдХрдИ рд╡рд┐рдЪрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рдм рдХреБрдЫ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЪреЗрдХ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рджреЛрд╖реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рд╣реИред
рдкрд╣рд▓реЗ, рдореИрдВ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЧреЛ-рдЖрд▓реЛрдЪрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рд╕реНрдерд┐рддрд┐ рд╕рдорд╛рди рдереА, рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдпрд╣ рдерд╛ рдХрд┐ рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧреЛ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рди рдХрд┐ PHP рдореЗрдВред рдЬрдм рдореБрдЭреЗ рдЧреЛрдЧрд░реЗрдк рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛, рддреЛ рдореЗрд░реА рджреБрдирд┐рдпрд╛ рдкрд▓рдЯ рдЧрдИред рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдореЗрдВ grep рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдХреЗрд╡рд▓ рдЦреЛрдЬ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкреИрдЯрд░реНрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИ (рдореИрдВ рдмрд╛рдж рдореЗрдВ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреНрдпрд╛ рд╣реЛрдЧрд╛) рдмрддрд╛рдКрдВрдЧрд╛ред
рдореИрдВ рдЪрд╛рд▓рд╛рдХ grep рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдПрдХ рд╢рд╛рдо рдореИрдВрдиреЗ рдиреАрдЪреЗ рдмреИрдардХрд░ phpgrep
рд▓рд┐рдЦрдиреЗ рдХрд╛ phpgrep
ред
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдорд╛рдорд▓рд╛
рдордЬрд╝реЗрджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рддреБрд░рдВрдд рдЖрд╡реЗрджрди рдореЗрдВ рдЦреБрдж рдХреЛ рд╡рд┐рд╕рд░реНрдЬрд┐рдд рдХрд░ рджреЗрддреЗ рд╣реИрдВред рд╣рдо GitHub рдкрд░ рдЙрдкрд▓рдмреНрдз рдХрд╛рдлреА рдкреНрд░рд╕рд┐рджреНрдз рдФрд░ рдмрдбрд╝реА PHP рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред
рд╣рдорд╛рд░реА рдХрд┐рдЯ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рдереАрдВ:
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╣рдо рд╕рд╛рдЬрд┐рд╢ рд░рдЪ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реНрд╡рд╛рджрд┐рд╖реНрдЯ рд╕реЗрдЯ рд╣реИред
рддреЛ рдЪрд▓рд┐рдП!
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдпрджрд┐ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд:
- рд╕рдВрджрд░реНрдн рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдСрдкрд░реЗрд╢рди (рддрд╛рд░реНрдХрд┐рдХ рд╕реНрдерд┐рддрд┐) рдФрд░ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ
- рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рджрд╛рдИрдВ рдУрд░ рдХреЛрдИ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕реНрдерд┐рд░ рд╣реИ,
рдпрд╣ рдХреЛрдб рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪрд▓реЛ "рддрд╛рд░реНрдХрд┐рдХ рд╕рдВрджрд░реНрдн" рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВ:
- рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЕрдВрджрд░ "
if ($cond)
"ред - рдЯрд░реНрдиреЗрд░реА рдСрдкрд░реЗрдЯрд░ рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИ: "
$cond ? $x : $y
"ред - рдЫреЛрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░рдВрддрд░рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ "
while ($cond)
" рдФрд░ "рдХреЗ for ($init; $cond; $post)
"ред
рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЗ рджрд╛рдИрдВ рдУрд░, рд╣рдо рд╕реНрдерд┐рд░рд╛рдВрдХ рдпрд╛ рд╢рд╛рдмреНрджрд┐рдХ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдореЗрдВ рдРрд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдЪрд▓реЛ рд╢реБрд░реВ (1) рдХреЗ рд╕рд╛рде:
рдпрд╣рд╛рдВ рд╣рдо 4 рдкреИрдЯрд░реНрди рджреЗрдЦрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмреАрдЪ рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (RHS) рд╣реИред рдкрд╣рд▓реЗ рдПрдХ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рдЯреЗрдореНрдкрд▓реЗрдЯ " if ($_ = []) $_
" рдПрдХ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрд┐рд╕реА рднреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рд╣реИред $_
рдХрд┐рд╕реА рднреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдпрд╛ рдХрдерди рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
(RHS) | if ($_ = []) $_ | | | if', , {} LHS
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд╛рд╕реНрдЯ , рд╕реНрдЯреНрд░, рдФрд░ рд╕рдВрдЦреНрдпрд╛ рд╕рдореВрд╣реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред $_
рд╡рд┐рдкрд░реАрдд $_
рд╡реЗ рд╕рдВрдЧрдд рд╕рдВрдЪрд╛рд▓рди рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред
const
рдПрдХ рдирд╛рдорд┐рдд рд╕реНрдерд┐рд░рд╛рдВрдХ рдпрд╛ рд╡рд░реНрдЧ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реИредstr
рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рд╣реИредnum
рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╢рд╛рдмреНрджрд┐рдХ рд╣реИред
рдпреЗ рдкреИрдЯрд░реНрди рдорд╛рдорд▓реЗ рдкрд░ рдХрдИ рд╕рдВрдЪрд╛рд▓рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред
тОЖ рдордиреЛрджрд╢рд╛ / рдмреНрд▓реЙрдХ / rss_client / viewfeed.php # L37 :
if ($courseid = SITEID) { $courseid = 0; }
рдореВрдб рдореЗрдВ рджреВрд╕рд░реА рдЯреНрд░рд┐рдЧрд░ рдПрдбреАрдУрдбреАрдмреА рдирд┐рд░реНрднрд░рддрд╛ рдереАред рдЕрдкрд╕реНрдЯреНрд░реАрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ, рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред
тОЖ ADOdb / рдбреНрд░рд╛рдЗрд╡рд░ / adodb-odbtp.inc.php # L741 :

рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред databaseType
рдлреАрд▓реНрдб рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрд╢рд╛ рдХрдВрдбреАрд╢рди рдХреЗ рдЕрдВрджрд░ рдЬрд╛рддреЗ рд╣реИрдВред
рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдЬрдЧрд╣ рдЬрд╣рд╛рдВ рд╣рдо рдХреЗрд╡рд▓ "рд╕рд╣реА" рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдореЗрд╢рд╛ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд┐рд╕реА рднреА рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕рд╣реА рдорд╛рдиреЗрдВ!
тОЖ рдордиреЛрджрд╢рд╛ / рдкреНрд░рд╢реНрди / рдкреНрд░рд╛рд░реВрдк / рдмреНрд▓реИрдХрдмреЛрд░реНрдб_рд╕рд┐рдХреНрд╕ / рд╕реНрд╡рд░реВрдкрдХ.рдкреНрд░ред # L598 :
рдЗрд╕ рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕реВрдЪреА рдЖрдЗрдП рджреЛрд╣рд░рд╛рдПрдВ рдХрд┐ рд╣рдордиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛:
- рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬреЗ рдЧрдП php рдХреЛрдб рдХреА рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВред
$_
рдХрд┐рд╕реА рднреА рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдЦрдбрд╝рд╛ рд╣реИред рдЖрдк рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ .
рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВред${"<class>"}
рдПрдХ AST рддрддреНрд╡ рдкреНрд░рдХрд╛рд░ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рд╕рд╛рде $_
рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рднреА рдЬреЛрд░ рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЪрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рдореИрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреИрдЯрд░реНрди " array(1, 2 + 3)
" рд╕рд┐рдВрдЯреИрдХреНрдЯрд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╕рдорд╛рди рдХреЛрдб рд╕реЗ рд╣реА рд╕рдВрддреБрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред рджреВрд╕рд░реА рдУрд░, рдкреИрдЯрд░реНрди " array($_, $_)
" рдХрд┐рд╕реА рднреА рджреЛ-рддрддреНрд╡ рд╕рд░рдгреА рд╢рд╛рдмреНрджрд┐рдХ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред
рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛
рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдХреБрдЫ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдмрд╣реБрдд рдХрдо рд╣реИред рдпрд╣ рдПрдХ NaN
рдЬрд╛рдБрдЪ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЖрдзреЗ рд╕рдордп рдореЗрдВ рдпрд╣ рдХреЙрдкреА / рдкреЗрд╕реНрдЯ рддреНрд░реБрдЯрд┐ рд╣реИред
тОЖ рд╡рд┐рдХрд┐рдпрд╛ / рдРрдк / рдПрдХреНрд╕рдЯреЗрдВрд╢рди / рд╕реЗрдореЗрдЯрд┐рдХрдбреНрд░рд┐рд▓рдбрд╛рдЙрди / рд╢рд╛рдорд┐рд▓ / SD_FilterValue.php # рдПрд▓рдЖрдИрд╕реА :
if ( $fv1->month == $fv1->month ) return 0;
рджрд╛рдИрдВ рдУрд░ " $fv2->month
" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рднрд╛рдЧреЛрдВ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо " _
" рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдкреИрдЯрд░реНрди рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рддрдВрддреНрд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдмреИрдХрд▓рд┐рдВрдХреНрд╕ рдХреЗ рд╕рдорд╛рди рд╣реИред
рдкреИрдЯрд░реНрди " $x == $x
" рд╡рд╣реА рд╣реЛрдЧрд╛ рдЬреЛ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИред " x
" рдХреЗ рдмрдЬрд╛рдп, рдХрд┐рд╕реА рднреА рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдирд╛рдо рд╕рдорд╛рди рд╣реИрдВред рдХреИрдкреНрдЪрд░ рд╡реИрд░рд┐рдПрдмрд▓ рдЬрд┐рдирдХреЗ рдирд╛рдо рдЕрд▓рдЧ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдХреИрдкреНрдЪрд░ рдХрд░рддреЗ рд╕рдордп рд╕рдорд╛рди рд╕рд╛рдордЧреНрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг " $x <= $x
" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
тОЖ Drupal / core / рдореЙрдбреНрдпреВрд▓ / рд╡рд┐рдЪрд╛рд░ / рдкрд░реАрдХреНрд╖рдг / src / Unit / ViewsDataTest.php # L166 :
$prev = $base_tables[$base_tables_keys[$i - 1]]; $current = $base_tables[$base_tables_keys[$i]]; $this->assertTrue( $prev['weight'] <= $current['weight'] && $prev['title'] <= $prev['title'],
рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╕рдмрдЯреЗрдХреНрд╢рдиреНрд╕
рдЕрдм рдЬрдм рд╣рдо рдмрд╛рд░-рдмрд╛рд░ рд╕рдмрдЯреЗрдХреНрд╢рдВрд╕ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рдкреИрдЯрд░реНрди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рдореЗрдВ рд╕реЗ рдПрдХ " $_ ? $x : $x
" рд╣реИред
рдпрд╣ рд╕рдЪреНрдЪреА / рдЭреВрдареА рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЯрд░реНрдирд░реА рдСрдкрд░реЗрдЯрд░ рд╣реИред
S рдЬреВрдорд▓рд╛-рд╕реЗрдореА / рд▓рд╛рдЗрдмреНрд░реЗрд░реА / src / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реЗрд▓реНрдкрд░ред рдПрдлрдкреА # рдПрд▓ релреиреи :
return ($show_encrypt) ? '{SHA256}' . $encrypted : '{SHA256}' . $encrypted;
рджреЛрдиреЛрдВ рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдХреЛрдб рдореЗрдВ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдЖрд╕-рдкрд╛рд╕ рдХреЗ рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдкрдардиреАрдпрддрд╛ рдХреА рдЦрд╛рддрд┐рд░, рдореИрдВрдиреЗ рдХреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдХрд╛рдЯ рджрд┐рдпрд╛ рдФрд░ рдЪрд░ рдХрд╛ рдирд╛рдо рдШрдЯрд╛рдХрд░ $enc
$encrypted
рдХрд░ рджрд┐рдпрд╛ред
case 'crypt-blowfish': return ($show_encrypt ? '{crypt}' : '') . crypt($plaintext, $salt); case 'md5-base64': return ($show_encrypt) ? '{MD5}' . $enc : $enc; case 'ssha': return ($show_encrypt) ? '{SSHA}' . $enc : $enc; case 'smd5': return ($show_encrypt) ? '{SMD5}' . $enc : $enc; case 'sha256': return ($show_encrypt) ? '{SHA256}' . $enc : '{SHA256}' . $enc; default: return ($show_encrypt) ? '{MD5}' . $enc : $enc;
рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
- ($show_encrypt) ? '{SHA256}' . $encrypted : '{SHA256}' . $encrypted; + ($show_encrypt) ? '{SHA256}' . $encrypted : $encrypted;
PHP рдореЗрдВ рдЦрддрд░рдирд╛рдХ рдСрдкрд░реЗрд╢рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдБ
PHP рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдПрд╣рддрд┐рдпрд╛рдд рдЬрд╣рд╛рдБ рднреА рдЧрдгрдирд╛ рдХреЗ рд╕рд╣реА рдХреНрд░рдо рдХрд╛ рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд╡рд╣рд╛рдБ рдХреЛрд╖реНрдардХ рдХреЗ рд╕рдореВрд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ " x & mask != 0
" рдХрд╛ рдПрдХ рд╕рд╣рдЬ рдЕрд░реНрде рд╣реИред рдпрджрд┐ mask
рдереЛрдбрд╝рд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреЛрдб рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ x
рдпрд╣ рдмрд┐рдЯ рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, PHP рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛рдПрдЧреА: " x & (mask != 0)
", рдЬреЛ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдПред
рд╡рд░реНрдбрдкреНрд░реЗрд╕, рдЬреВрдорд▓рд╛ рдФрд░ рдореВрдбрд▓ рд╕рд┐рдВрдкрд▓реАрдкреЗ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реИрдВред
тОЖ SimplePie / рдкреБрд╕реНрддрдХрд╛рд▓рдп / SimplePie / Locator.php # L254
тОЖ SimplePie / рдкреБрд╕реНрддрдХрд╛рд▓рдп / SimplePie / Locator.php # L384
тОЖ SimplePie / рдкреБрд╕реНрддрдХрд╛рд▓рдп / SimplePie / Locator.php # L412
тОЖ SimplePie / рдкреБрд╕реНрддрдХрд╛рд▓рдп / SimplePie / Sanitize.php # L349
тОЖ SimplePie / рдкреБрд╕реНрддрдХрд╛рд▓рдп / SimplePie.php # L1634
$feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0
SIMPLEPIE_FILE_SOURCE_REMOTE
рдХреЛ 1
рд░реВрдк SIMPLEPIE_FILE_SOURCE_REMOTE
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЗрд╕рдХреЗ рд╕рдордХрдХреНрд╖ рд╣реЛрдЧреА:
$feed->method & (1 === 0) // => $feed->method & false
рдирдореВрдирд╛ рдЦреЛрдЬ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╕рдВрдЪрд╛рд▓рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╡рд┐рд╖рдп рдХреЛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реБрдП, рдЖрдк PHP рдореЗрдВ рдЯрд░реНрдирд░реА рдСрдкрд░реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдмреНрд░ рдкрд░ рднреА рд▓реЗрдЦ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдерд╛: рдЯрд░реНрдирд░реА рдСрдкрд░реЗрдЯрд░ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдХреНрд░рдо ред
рдХреНрдпрд╛ phpgrep
рд╕рд╛рде рдРрд╕реА рдЬрдЧрд╣реЛрдВ рдХреЛ рдвреВрдВрдврдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдЬрд╡рд╛рдм рд╣реИ рд╣рд╛рдВ !
phpgrep . '$_ == $_ ? $_ : $_ ? $_ : $_' phpgrep . '$_ != $_ ? $_ : $_ ? $_ : $_'
рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд╛рдн рдХреЗ рд▓рд╛рдн
тОЖ рд╡рд┐рдХрд┐рдпрд╛ / рдРрдк / рд░рдЦрд░рдЦрд╛рд╡ / рд╡рд┐рдХрд┐рдпрд╛ / рдЕрдкрдбреЗрдЯрд╕реЗрдВрдЯрд░рд╛рд▓рдЗрдВрдЯрд░рд╡рд┐рдХреНрдХреА.inc # L95 :
if ( preg_match( '/(wowwiki.com|wikia.com|falloutvault.com)/', $url ) ) { $local = 1; } else { $local = 0; }
рдЬреИрд╕рд╛ рдХрд┐ рдХреЛрдб рдХреЗ рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдХрд▓реНрдкрдирд╛ рдХреА рдЧрдИ рд╣реИ, рд╣рдо 3 рдореЗрдВ рд╕реЗ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЧ рдХреЗ рд▓рд┐рдП URL рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдкреНрд░рддреАрдХ .
рдкрд░рд┐рд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ, рдЬреЛ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рд▓реЗ рдЬрд╛рдПрдЧрд╛ рдХрд┐ falloutvault.com
рдмрдЬрд╛рдп рд╣рдо рдХрд┐рд╕реА рднреА рдбреЛрдореЗрди рдкрд░ falloutvaultxcom
рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдПрдХ PHP рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рднреА рдЖрд╡реЗрджрди рдореЗрдВ рдЬрд╣рд╛рдВ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рддреНрдпрд╛рдкрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдореЗрдЯрд╛ рдЪрд░рд┐рддреНрд░ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛ рд░рд╣реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рд╡рд╣рд╛рдБ рднрд╛рдЧрдиреЗ рдХреЛ рднреВрд▓рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдПрдХ рднреЗрджреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИред
рдЖрдк phpgrep
рдЪрд▓рд╛рдХрд░ рдРрд╕реА рдЬрдЧрд╣реЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
phpgrep . 'preg_match(${"pat:str"}, ${"*"})' 'pat~[^\\]\.(com|ru|net|org)\b'
рд╣рдо рдирд╛рдорд┐рдд pat
рд╕рдмрдкреИрдЯрд░реНрди рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐рд╕реА рднреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рдлрд┐рд▓реНрдЯрд░ рдХрд┐рд╕реА рднреА рдЯреЗрдореНрдкрд▓реЗрдЯ рдЪрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдСрдкрд░реЗрдЯрд░ рднреА рд╣реИрдВ =
рдФрд░ !=
ред рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред
${"*"}
рдХрд┐рд╕реА рднреА рддрд░реНрдХ рдХреА рдПрдХ рдордирдорд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ preg_match
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
рд╕рд░рдгреА рд╢рд╛рдмреНрджрд┐рдХ рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреБрдВрдЬреА
рдпрджрд┐ рдЖрдк рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ PHP рдореЗрдВ, рдЖрдкрдХреЛ рдХреЛрдИ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА:
<?php var_dump(['a' => 1, 'a' => 2]);
рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ phpgrep
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
[${"*"}, $k => $_, ${"*"}, $k => $_, ${"*"}]
рдЗрд╕ рдкреИрдЯрд░реНрди рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: "рдПрдХ рд╕рд░рдгреА рд╢рд╛рдмреНрджрд┐рдХ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдордирдорд╛рдирд╛ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рджреЛ рд╕рдорд╛рди рдХреБрдВрдЬреА рд╣реИрдВред" рднрд╛рд╡ ${"*"}
рд╣рдореЗрдВ рдПрдХ "рдордирдорд╛рдирд╛ рд╕реНрдерд┐рддрд┐" рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ 0-N рддрддреНрд╡реЛрдВ рдХреЛ рдкрд╣рд▓реЗ, рдмреАрдЪ рдореЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмреНрдпрд╛рдЬ рдХреА рдХреБрдВрдЬреА рдХреЗ рдмрд╛рдж рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред
тОЖ рд╡рд┐рдХрд┐рдпрд╛ / рдРрдк / рдПрдХреНрд╕рдЯреЗрдВрд╢рди / рд╡рд┐рдХрд┐рдпрд╛ / рд╡рд┐рдХрд┐рдпрд╛рдорд┐рдиреАрдЕрдкрд▓реЛрдб / рд╡рд┐рдХрд┐рдпрд╛рдорд┐рдиреАрдЕрдкрд▓реЛрдб_рдмреЙрдбреА # рдПрдлрдкреА # рдПрд▓ реирей :
$script_a = [ 'wmu_back' => wfMessage( 'wmu_back' )->escaped(), 'wmu_back' => wfMessage( 'wmu_back' )->escaped(),
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдХ рд╕рдХрд▓ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдмрдбрд╝реЗ (100+ рддрддреНрд╡реЛрдВ) рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯрд┐рдВрдЧ рдХреБрдВрдЬрд┐рдпреЛрдВ рдиреЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдЪрд╛рдмрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдиреЗ рджреВрд╕рд░реЗ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдУрд╡рд░рд▓реИрдк рдХрд┐рдпрд╛ред
рдпрд╣ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рднреНрд░рдордг рдХрд╛ рд╕рдорд╛рдкрди рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдкрд░рд┐рдгрд╛рдо рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
Phpgrep рдХреНрдпрд╛ рд╣реИ?
рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдВрдкрд╛рджрдХ рдФрд░ IDE рдХреЛрдб рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдорд┐рдд рдкрд╛рда рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдпрджрд┐ рдпрд╣ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг рдЬреИрд╕реЗ рд╡рд░реНрдЧ рдпрд╛ рдЪрд░ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдирд╣реАрдВ рд╣реИ) - рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, grep рдЬреИрд╕рд╛ рдХреБрдЫред
рдЖрдк " $x
" рджрд░реНрдЬ рдХрд░реЗрдВ, " $x
" рдвреВрдВрдвреЗрдВред рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛ рд╕рдХрддреА рд╣реИ, рддреЛ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ PHP рдХреЛрдб рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрднреА-рдХрднреА рдпрд╣ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдФрд░ рд╕рд░рд▓ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдХреБрдЫ рдкреНрд░рддреНрдпрдп рдХреЗ рд╕рд╛рде рдХреЛрдИ рднреА рдЪрд░ред" рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдкреНрд░рддреНрдпрдп рд╡рд╛рд▓рд╛ рдпрд╣ рдЪрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдпреМрдЧрд┐рдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИрдВред
phpgrep PHP рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЯреЗрдХреНрд╕реНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рд░реЗрдЧреБрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдХреЗ рд╕рд┐рдВрдЯреЗрдХреНрд╕- рдЕрд╡реЗрдпрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд╕рд┐рдВрдЯреЗрдХреНрд╕-рдЬрд╛рдЧрд░реВрдХ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рднрд╛рд╖рд╛ рд▓рдХреНрд╖реНрдп рднрд╛рд╖рд╛ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИ, рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд╛рддреНрд░реЛрдВ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд░рддреЗ рд╣реИрдВред рдХреЛрдб рдХреЛ рдлреЙрд░реНрдореЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдореЗрдВ рднреА рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рд╛рдордЧреНрд░реА: рддреНрд╡рд░рд┐рдд рд╢реБрд░реБрдЖрддрдЬрд▓реНрджреА рд╢реБрд░реВ рдХрд░реЛ
рд╕реНрдерд╛рдкрдирд╛
рд▓рд┐рдирдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП amd64 рдХреЗ рд▓рд┐рдП рд░реЗрдбреАрдореЗрдб рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рд╣реИрдВ , рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдкрдиреЗ рдЧреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдмрд╛рдЗрдирд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:
go get -v github.com/quasilyte/phpgrep/cmd/phpgrep
рдпрджрд┐ $GOPATH/bin
рд╕рд┐рд╕реНрдЯрдо $PATH
, рддреЛ phpgrep
рдХрдорд╛рдВрдб рддреБрд░рдВрдд рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, -help
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
phpgrep -help
рдпрджрд┐ рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ рдХрд┐ рдЧреЛ рдиреЗ рдмрд╛рдЗрдирд░реА рдХреЛ рдХрд╣рд╛рдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ $PATH
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
$GOPATH
рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдПрдХ рдкреБрд░рд╛рдирд╛ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХрд╛, рднрд▓реЗ рд╣реА рд╡рд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рди рд╣реЛ:
go env GOPATH
рдХреЗ рдЙрдкрдпреЛрдЧ
рдПрдХ рдкрд░реАрдХреНрд╖рдг рдмрдирд╛рдПрдВ hello.php
рдлрд╝рд╛рдЗрд▓:
<?php function f(...$xs) {} f(10); f(20); f(30); f($x); f();
phpgrep
рдкрд░ phpgrep
рдЪрд▓рд╛рдПрдВ:
рд╣рдордиреЗ рдлрд╝рдВрдХреНрд╢рди f
рд▓рд┐рдП рд╕рднреА рдХреЙрд▓ рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдкрд╛рдпрд╛, рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рд╕рдХрд╛ рдорд╛рди 20 рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИред
Phpgrep рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
PHP рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, github.com/z7zmey/php-parser рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди phpgrep
рдХреА рдХреБрдЫ рд╕реАрдорд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкрд╛рд░реНрд╕рд░ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЛрд╖реНрдардХ рдХреЗ рд╕рд╛рде рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдмрд╣реБрдд рд╕рд╛рд░реА рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред
phpgrep
рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕рд░рд▓ рд╣реИ:
- рдПрдПрд╕рдЯреА рдЗрдирдкреБрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдлрд┐рд▓реНрдЯрд░ рдбрд┐рд╕реЗрдмрд▓реНрдб рд╣реИрдВ;
- рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреВрд░реНрдг рдПрдПрд╕рдЯреА рдкреЗрдбрд╝ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ;
- рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдПрдПрд╕рдЯреА рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдРрд╕реЗ рдЙрдкрдкреНрд░рдХрд╛рд░ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреИрдЯрд░реНрди рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ;
- рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХреА рдПрдХ рд╕реВрдЪреА рд▓рд╛рдЧреВ рдХреА рдЬрд╛рддреА рд╣реИ;
- рд╕рднреА рдкрд░рд┐рдгрд╛рдо рдЬреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдкрд╛рд╕ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рд╕реНрдХреНрд░реАрди рдкрд░ рдореБрджреНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдпрд╣ рд╣реИ рдХрд┐ рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП рджреЛ рдПрдПрд╕рдЯреА рдиреЛрдбреНрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред рдХрднреА-рдХрднреА рддреБрдЪреНрдЫ: рдПрдХ-рд╕реЗ-рдПрдХ, рдФрд░ рдореЗрдЯрд╛-рдиреЛрдбреНрд╕ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрдЯрд╛ рдиреЛрдбреНрд╕ рдХреЗ рдЙрджрд╛рд╣рд░рдг ${"*"}
рдФрд░ ${"str"}
ред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдЦреЛрдЬ рдФрд░ phpgrep
рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд (SSR) рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдП рдмрд┐рдирд╛ phpgrep
рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдмреЗрдИрдорд╛рдиреА рд╣реЛрдЧреАред рд╡реЗ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдПрд╕рдПрд╕рдЖрд░ рдХреЗ рдЕрдкрдиреЗ рдлрд╛рдпрджреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдИрдбреАрдИ рдореЗрдВ рдПрдХреАрдХрд░рдг, рдФрд░ phpgrep
рджрд╛рд╡рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ, рдЬреЛ рдХрд┐ рд╕реАрдЖрдИ рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред
рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, phpgrep
рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк PHP рдХреЛрдб рдХреЗ рдорд┐рд▓рд╛рди рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рд┐рдВрдЯрд░ рдФрд░ рдХреЛрдб рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред
рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдпрд╣ рдЙрдкрдХрд░рдг рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдпрджрд┐ рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЛ рдЙрдкрд░реЛрдХреНрдд SSR рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рднреА рдЕрдЪреНрдЫрд╛ рд╣реИред

рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░реА
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдЯрд░реНрди рдХреА рдкреВрд░реА рд╕реВрдЪреА pattern.txt рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдЧреЗ, рдЖрдк phpgrep-lint.sh
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде phpgrep
рдХреЗ рд▓реЙрдиреНрдЪ рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред
рд▓реЗрдЦ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рд╕рднреА рдирд╛рдорд┐рдд рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░рдХреЗ рдФрд░ рдЙрди рдкрд░ phpgrep-lint.sh
рдЪрд▓рд╛рдХрд░ рдкреНрд░рдпреЛрдЧ рдХреЛ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдк рдкрд░реАрдХреНрд╖рдг рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рд╕реЗ рдкреНрд░реЗрд░рдгрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреАрд╡реАрдПрд╕ рд╕реНрдЯреВрдбрд┐рдпреЛ рд▓реЗрдЦреЛрдВ рд╕реЗред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддрд╛рд░реНрдХрд┐рдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рдкрд╕рдВрдж рдЖрдИрдВ: рдЧрд▓рддрд┐рдпрд╛рдБ рдкреЗрд╢реЗрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИрдВ, рдЬреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреБрдЫ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИрдВ:
# "x != y || x != z": phpgrep . '$x != $a || $x != $b' phpgrep . '$x !== $a || $x != $b' phpgrep . '$x != $a || $x !== $b' phpgrep . '$x !== $a || $x !== $b'
рдЖрдкрдХреЛ phpgrep рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдореЗрдВ рднреА рд░реБрдЪрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ : рд╡рд╛рдХреНрдп рд░рдЪрдирд╛-рдЬрд╛рдЧрд░реВрдХ рдХреЛрдб рдЦреЛрдЬ ред
рд▓реЗрдЦ рдЧреЛрдлрд░ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдЧреЛрдлрд░рдХреЛрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рдереАрдВ ред