рдирдИ рд╣реИрдХ рднрд╛рд╖рд╛ рдЕрдкрдиреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ PHP рдХрд╛ рдПрдХ рд╕реАрдзрд╛ рд╡рдВрд╢рдЬ рд╣реИред рд╣реИрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ HHVM рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди (рд╣рд┐рдк рд╣реЙрдк рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди) рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдлреЗрд╕рдмреБрдХ рдЯреАрдо рдиреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдирдИ рднрд╛рд╖рд╛ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рд╡рд╛рд╕ рдХреЛ рдПрдХ рдмрдбрд╝реА рд╕рдлрд▓рддрд╛ рдХрд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдлреЗрд╕рдмреБрдХ HHVM рдореЗрдВ PHP5 рд╕рдорд░реНрдерди рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП PHP рд╕рдорд░реНрдерди рдФрд░ рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдирд╣реАрдВ рдЫреЛрдбрд╝рддрд╛ рд╣реИред
рд╡рд┐рд╕реНрддреГрдд рднрд╛рд╖рд╛ рдкреНрд░рд▓реЗрдЦрди
рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз
рд╣реИ (рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ)ред
рдирдИ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ
http://hacklang.org/ рд╣реИ ред
рд╕рдорд╛рдЪрд╛рд░ рд░рд┐рд▓реАрдЬ рднрд╛рд╖рд╛рдХреЛрдб рдЙрджрд╛рд╣рд░рдг
<?hh class MyClass { public function alpha(): int { return 1; } public function beta(): string { return 'hi test'; } } function f(MyClass $my_inst): string {
рдирдИ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ
рд╣реИрдХ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реНрдереИрддрд┐рдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдерд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рднрд╛рд╖рд╛ рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ $ $ рдЪрд░ рдореЗрдВ рдПрдХ рдЪрд░ рдФрд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп (рдХрд┐рд╕реА рд╕рд╛рд░рдгреА рд╕реЗ рд╡рд░реНрдгреЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЪрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг)ред
рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреА рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рднреА рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рдкреНрд░рдХрд╛рд░ рдЙрдкрдирд╛рдо, рдЕрд╢рдХреНрдд рдкреНрд░рдХрд╛рд░ рдФрд░ рдкреНрд░рдХрд╛рд░ рдкреИрд░рд╛рдореАрдЯрд░, рд╕рдВрдЧреНрд░рд╣, рд▓реИрдореНрдмреНрдбрд╛ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз, рд╕рд╛рде рд╣реА рд╕рд╛рде рд░рди рдкреНрд░рдХрд╛рд░ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рд░рди рдЯрд╛рдЗрдо рдкрд░ред
рдкреНрд░рдХрд╛рд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рд░реНрд╡рд░ (рд╕реЗрд╡рд╛, рдбреЗрдорди) рджреНрд╡рд╛рд░рд╛ рдЬрд╛рдВрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдбрд┐рд╕реНрдХ рдкрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИред
рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдХреИрд╕реЗ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╣ рдЕрднреА рддрдХ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣реИрдХ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХрдИ рдЙрдкрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВредрдзрдиреНрдпрд╡рд╛рдж, рдлреЗрд╕рдмреБрдХ, рд╢рд╛рдпрдж рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдкреАрдПрдЪрдкреА рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЧрд╛рдпрдм рд╣реИ!