Php 7.4 рдореЗрдВ рдкреНрд░реАрд▓реЛрдб рдХрд░реЗрдВ: рдкреНрд░реАрд▓реЛрдб рдХреЗ рд▓рд┐рдП рдХрдВрдкреЛрдЬрд░ рдФрд░ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ

рд╣рдо рдмреБрд╢ рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ PHP 7.4 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдирдП рдкреНрд░реАрд▓реЛрдб рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд╡рд╕рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реИрдВред рдирд╣реАрдВ рдмрд╣реБрдд рдкрд╣рд▓реЗ рд╣рдо рдЙрд╕рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереА ред

рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╕рдореБрджрд╛рдп рдЙрддрдирд╛ рд╣реА рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реИ рдЬрд┐рддрдирд╛ рд╣рдо рд╣реИрдВред рдлреНрд░реЗрдорд╡рд░реНрдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдПрдХ рдкреНрд░реАрд▓реЛрдб рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдФрд░ рдХреБрдЫ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рд╣реИ )ред рдЕрдм рдпрд╣ рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрдХ рдХреА рдмрд╛рд░реА рд╣реИред



рдЗрдЯрд╛рд▓реЛ рдмреИрдЬрд╛ рдиреЗ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрд╛, рдЬрд┐рд╕рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдкрд░ рдЕрдкрдиреА рд░рд╛рдп рд╡реНрдпрдХреНрдд рдХреА рдХрд┐ рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреЛ рдкреНрд░реАрд▓реЛрдб рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рдЗрд╕ рдкрд╛рда рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдФрд░ рд╕рд╛рде рд╣реА рд╕рд╛рде рдЙрдирдХреЗ рдЕрдиреНрдп рд▓реЗрдЦ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдХрд┐ рдХреИрд╕реЗ рдХрдореНрдкреЛрдЬрд╝рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╕реНрд╡рдпрдВ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд╛ рдЙрддреНрддрд░ рджрд┐рдпрд╛, рд╕рд╛рде рд╣реА рдПрдХ рдирдП рдЯреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЬреЛ рдкреНрд░реАрд▓реЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

PHP 7.4 рдореЗрдВ рдХрдВрдкреЛрдЬрд░ рдХреЛ рдХреИрд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП


Preload рдЙрди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ PHP 7.4 рдЙрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ JIT рдЗрдВрдЬрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ "рд╡рд╛рд░реНрдорд┐рдВрдЧ рдЕрдк" рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ PHP 8 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ (рдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП) рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░реА-рд▓реЛрдбрд┐рдВрдЧ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧреА, рдФрд░ рдЬреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╢рд╛рдпрдж рд╡реЗ рдорд┐рд▓рдХрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдкреНрд░реАрд▓реЛрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреНрдпрд╛ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдиреАрдЪреЗ рдХреА рд░реЗрдЦрд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ: php.ini рдПрдХ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЬрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдореЗрдореЛрд░реА (рдкреНрд░реАрд▓реЛрдб) рдореЗрдВ рд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИрдВред OPCache рдФрд░ рдСрдЯреЛрд▓реИрдбрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдВрдпреЛрдЬрди рдореЗрдВ , рд╕рдВрдЧреАрддрдХрд╛рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рднреА рдПрдХ рдмрд╛рд░ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡реЗ рд╕рднреА рдмрд╛рдж рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, PHP рдХреЛ рд╣рд░ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрдВрдкреЛрдЬрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░реАрд▓реЛрдб рдореЗрдВ рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдкрд░ рд╕рд╣рдорддрд┐ рдирд╣реАрдВ рджреА рд╣реИред рддрдереНрдп рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:

  • Preloading рдкрд╣рд▓реА рдмрд╛рд░ PHP 7.4 рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛;
  • рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░реАрд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдВрдЧреАрддрдХрд╛рд░ рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рд╣реИ;
  • рдкреНрд░реАрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ php.ini рддрдХ рдкрд╣реБрдБрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрд░реНрдерд╛рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП;
  • рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рдЕрдиреБрд░реЛрдз рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рддрдХ рдкреВрд░реНрдг рдкрд╣реБрдВрдЪ рд╣реИ, рдкреНрд░реА рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рд╛рдЭрд╛ рд╕рд░реНрд╡рд░ рдФрд░ рдХреБрдЫ PAS рд╕рдорд╛рдзрд╛рди рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ php.ini рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рддреЛ, рдХрдВрдкреЛрдЬрд░ рдХреИрд╕реЗ рджрд┐рдП рдЧрдП рдкреНрд░реАрд▓реЛрдб рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдирд╡рд╛рдЪрд╛рд░ рд╣реИ? рдпрд╣рд╛рдБ рдореЗрд░реА рд░рд╛рдп рд╣реИ

рдкреНрд░реАрд▓реЛрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП


рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рдПрдВрдЧреАред рдФрд░ рдЪреВрдВрдХрд┐ рдпрд╣ рдПрдХ рд╕реВрдЪреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреЛ рд╕рднреА рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред

рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рд░реВрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ) рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рд▓реЗрдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрди рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ PHP рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрдард┐рдирд╛рдИ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИрдВред
рдЙрд╕реА рд╕рдордп, рд╣рдореЗрдВ рдкреНрд░реАрд▓реЛрдб рддрдВрддреНрд░ рд╕реЗ рдкреИрдХреЗрдЬ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдХрднреА рднреА рдкреИрдХреЗрдЬ рд╕реНрддрд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдХреЗ рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдпрд╛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдбреЗрд╡рд▓рдкрд░ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИред

рд╕рдВрдЧреАрддрдХрд╛рд░ рдореЗрдВ рд▓реЛрдбрд┐рдВрдЧ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЗрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ PHP рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░реАрд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗ, рдЬреЛ OPCache рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЛрдб рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░реАрд▓реЛрдб рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рд╕рдм рдкреНрд░реАрд▓реЛрдб рдкрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ


рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдХрд░реЗрдВред Jsonред рдпрд╣ рдЙрди рдкреНрд░реАрд▓реЛрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдВрдЧреАрддрдХрд╛рд░ рдЪрдпрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдпрд╣ рдПрдХ JSON рдлрд╛рдЗрд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрдорд╛рдВрдб рдХреА рдорджрдж рд╕реЗ рднреА рдЬреЗрдирд░реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдЖрдзрд╛рд░рд┐рдд JSON рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реЛред

{ "pre-compile": [ "my-script.php", "my-other-script.php" ], "extensions": [ "php" ], "files": [ "app/*", "config/", "helpers.php", "app/Models/*", "app/Controllers/*/Http/*", "app/Views/Compiled*.php" ], "namespace": [ "App\\Models", "App\\Controllers\\", "App\\Views\\MainView", "Vendor\\Package\\*", ], "packages": { "symfony/http-client": true, "robert/*-client": true, "vendor/package": { "files": true, "namespace": true }, "foo/bar": { "files": [ "helpers.php", "loaders/*" ], "namespace": [ "Foo\\Bar\\DynamicLoaders\\*", "Foo\\Bar\\Clients" ] } }, "output": "preload-compiled.php" } 

Preload.json рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рдпрд╛ рдирд╣реАрдВ: рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдЧрд╛рдпрдм рд╣реИ, рддреЛ рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рд╕рдорд░реНрдерд┐рдд рдпрд╛ рдЕрд╡рд╛рдВрдЫрдиреАрдп рдирд╣реАрдВ рд╣реИред

рдЖрдЗрдП рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЪрд╛рдмрд┐рдпрд╛рдВ рдХреНрдпрд╛ рдХрд░рддреА рд╣реИрдВред

рдкреВрд░реНрд╡ рд╕рдВрдХрд▓рди

рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрдореНрдкреЛрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкреНрд░реАрд▓реЛрдб рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░рдкреЗрдХреНрд╖ рдлрд╝рд╛рдЗрд▓ рдкрдереЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╡рд╛рдкрд╕ рдХрд░рдиреА рд╣реЛрдЧреА, рдЬреЛ рдореБрдЦреНрдп рд╕реВрдЪреА рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдПрдЧрд╛ред

 "pre-compile": [ "my-script.php", "my-other-script.php" ] 

рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреНрд░рдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд▓рдХреНрд╖реНрдп рдПрдХ рдПрдХрд▓ JSON рдлрд╝рд╛рдЗрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рд╡рд╣ рдлрд┐рдЯ рджреЗрдЦрддрд╛ рд╣реИред рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рд╣рд╛рдБ, рдЖрдк рдХреЗрд╡рд▓ рдЗрд╕ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде preload.json рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╣рдо PHP рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдПрдХ рд╕рд░рдгреА рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХреНрд╕рдЯреЗрдВрд╢рди

рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдХреЗрд╡рд▓ php рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд▓реА рдЬрд╛рддреА рд╣реИрдВред

 "extensions": ["php", "php5", "php7"] 

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк * .phtml рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рднрд░реА рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА PHP рдлрд╛рдЗрд▓реЗрдВ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреЗрд╡рд▓ рдЙрдирдХрд╛ рдЪрдпрди рдХрд░реЗрдВрдЧреЗ, рди рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕рдВрдкреВрд░реНрдг рд╕рд╛рдордЧреНрд░реАред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ, рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдлрд╝рд╛рдЗрд▓реЗрдВ

рдпрд╣ рдХреБрдВрдЬреА рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреЛ рд╕реВрдЪреА рд╕реЗ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреА рд╣реИ, рдЬрд┐рдирдХреЗ рд░рд╛рд╕реНрддреЗ рдХрдВрдкреЛрдЬрд░ рдХреЗ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИрдВред

 "files": [ "helpers.php", "app/Models/*", "app/Controllers/*/Http/*", "app/Views/Compiled*.php", ] 

рд╕реВрдЪреА рдирд┐рдХрд╛рд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИ:

  • рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рд╢реНрддреЗрджрд╛рд░ рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
  • рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рд╕реЗ рдХреЗрд╡рд▓ рдЙрди рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЪрд╛рдЗрд▓реНрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ (рдкреБрдирд░рд╛рд╡рд░реНрддреА рдирд╣реАрдВ);
  • рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкрде рдПрдХ рддрд╛рд░рд╛рдВрдХрди рдЕрдВрдд (*) рд╕реЗ рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИ;
  • рдЗрд╕ рдкреНрд░рддреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЖрдк рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рдЬреЛрдбрд╝реЗрдВ: src/Clients/*/Stores рдпрд╛ src/Model*.php ред

рдмрдбрд╝реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЪреБрдирдиреЗ рдпрд╛ рдмрдирд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдорд╛рд╕реНрдХ рджреНрд╡рд╛рд░рд╛ рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╕рдВрдЧреАрддрдХрд╛рд░ JSON рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдСрдЯреЛрд▓реЙрдб рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ true рд╕реЗрдЯ рдХрд░реЗрдВред

рдирд╛рдо рд╕реНрдерд╛рди

рдпрд╣ рдХреБрдВрдЬреА рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдирд╛рдорд╕реНрдерд╛рди рдпрд╛ рд╡рд░реНрдЧ рдирд╛рдо рдЬреИрд╕реЗ file рдпрд╛ directory рд╕рд╛рде рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреА рд╣реИред рдПрдХ рд╣реА рддрдВрддреНрд░ рдЖрдкрдХреЛ рдЕрдиреНрдп рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬреЛрдВ рд╕реЗ рд╕реНрдерд╛рди рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

 "namespaces": [   "App\\Models",   "App\\Controllers\\",   "App\\Views\\MainView",   "Vendor\\Package\\*", ] 

рдмрдбрд╝реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдпрд╣ рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕рдордп рдмрджрд▓ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрдЬрд╛рдп рдирд╛рдорд╕реНрдерд╛рди рдкрд░ рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░ рд╣реИрдВред рд╕рдВрдЧреАрддрдХрд╛рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд╛рдо рд╕реНрдерд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╛рдЗрд▓реЗрдВ рдирд┐рдХрд╛рд▓реЗрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕реВрдЪреА рдореЗрдВ рдбрд╛рд▓реЗрдЧрд╛ред

рд╕рдВрдХреБрд▓

рдпрд╣ рдХреБрдВрдЬреА рдЖрдкрдХреЛ рдмрд╛рд╣рд░реА рдкреИрдХреЗрдЬ рд╕реЗ рдкрдВрдЬреАрдХреГрдд рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╕рд╣рд╛рдпрдХ рдлрд╛рдЗрд▓реЗрдВ рдпрд╛ рдХрд┐рд╕реА рдиреЗрдорд╕реНрдкреЗрд╕ рд╕реЗ рдЬреБрдбрд╝реА рдХрдХреНрд╖рд╛рдПрдВред

 "packages": {   "symfony/http-client": true,   "robert/*-client": true,   "vendor/package": {       "files": true,       "namespace": true   },   "foo/bar": {       "files": {           "helpers.php",           "loaders/*"       },       "namespace": [           "Foo\\Bar\\DynamicLoaders\\*",           "Foo\\Bar\\Clients"       ]   } } 

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ: рдпрджрд┐ рдореВрд▓реНрдп рд╕рдЪ рд╣реИ, рддреЛ рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЗ рдХрдВрдкреЛрдЬрд╝рд░.рдЬреЙрди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдСрдЯреЛрд▓реЙрдб рдХреБрдВрдЬреА рдХреА рдкреВрд░реА рд╕рд╛рдордЧреНрд░реА рд▓реЛрдб рдХреА рдЬрд╛рдПрдЧреАред рдЕрдиреНрдпрдерд╛, рдЖрдк рдкреНрд░реАрд▓реЛрдб рдЬреЛрдбрд╝ рдХреЛ рдЕрдзрд┐рдХ рд╕реВрдХреНрд╖реНрдорддрд╛ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдХреБрдВрдЬреА рдорд╛рди рд╕рддреНрдп рд╣реИ, рддреЛ рд╡рд╣ autoload рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдЧрд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди false ред рдпрд╣ namespace рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рднреА рд╕рд╣реА рд╣реИред

рдЖрдк рдЗрд╕ рдирд┐рдпрдо рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рднреА рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, autoload рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЙрддреНрдкрд╛рджрди

рдпрд╣ рдмрд╕ рд╕рдВрдХрд▓рд┐рдд рдкреНрд░реАрд▓реЛрдб рд╕реВрдЪреА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╣реИред

 "output": "preload-compiled.php" 

рдЖрд╕рд╛рди рд╡рд┐рдзрд╛рдирд╕рднрд╛


рд╣рдорд╛рд░реА рдкреНрд░реАрд▓реЛрдб рд╕реВрдЪреА рддреИрдпрд╛рд░ рд╣реИ, рдФрд░ рд╣рдо рдореБрдЦреНрдп рдкреНрд░реАрд▓реЛрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреАрддрдХрд╛рд░ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред

 composer preload 

рдирддреАрдЬрддрди, рдкреНрд░реА-рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред php рдЙрди рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рдиреНрд╣реЗрдВ PHP рдХреЛ рдкреНрд░реАрд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдмреЗрд╢рдХ, рдЖрдк рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдкрдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ preload рдХреБрдВрдЬреА рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

 composer preload \   --input=my-custom-preload-list.json \   --output=my-preload.php 

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо


рдпрджрд┐ рдЖрдк рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ preload.json рдХреЗ рдмрд┐рдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рддреНрд░реБрдЯрд┐ рд▓реМрдЯрд╛рдПрдЧрд╛ред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрдЧреАрддрдХрд╛рд░ (рдФрд░ рдпрд╣ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП) рдХрд┐ рдЙрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рдкреНрд░реАрд▓реЛрдб рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреА рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдпрд╣ рдХрдВрд╕реЛрд▓ рдХрдорд╛рдВрдб рд╣реИ, рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде, рдЖрдк рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдХрдВрдкреЛрдЬрд╝рд░ рдкреНрд░реАрд▓реЛрдб рдореИрдХреЗрдирд┐рдЬреНрдо рдХреА рдПрдХрдорд╛рддреНрд░ рдЪреАрдЬрд╝ рдСрдЯреЛрд▓реИрдб рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЬреЛ рдЧреБрдо рд╣реЛрдиреЗ рдкрд░ рдЙрддреНрдкрдиреНрди рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЦреИрд░, рдЖрдЦрд┐рд░рдХрд╛рд░, рд▓рдЧрднрдЧ 2020 рд╡реЗрдВ рд╡рд░реНрд╖ рдпрд╛рд░реНрдб рдореЗрдВ рд╣реИ, рдкреАрдПрд╕рдЖрд░ -4 рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рд░ рдЬрдЧрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣реИ рдирд╛?

рдкрд░рд┐рдгрд╛рдо


рдЖрдкрдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ php рдлрд╛рдЗрд▓ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдП:

 <?php /** * Preloading @generated by Composer */ // Autoload the classes so those can be preloaded using `require_once`. require_once __DIR__.'/../autoload.php'; // File list $files = [ '/var/www/app/Foo.php', '/var/www/app/Bar.php', '/var/www/helpers/basic.php', '/var/www/helpers/advanced.php', '/var/www/vendor/Foo/Bar/src/Class.php', '/var/www/vendor/Foo/Bar/helpers/helpers.php', '/var/www/vendor/Foo/Bar/config.php', // ... ]; // Preload all root project files foreach ($files as $file) { require_once $file; } 

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рд┐рд░реНрдл рдлрд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬреЛ рд╕рдВрдЧреАрддрдХрд╛рд░ рдореЗрдВ рдСрдЯреЛрд▓реИрдбрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдХреА рдЬрд╛рдПрдЧреАред PHP рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛, рдФрд░ рдпрд╣ рдЗрддрд┐рд╣рд╛рд╕ рдмрди рдЬрд╛рдПрдЧрд╛ред


рдореБрдЭреЗ рдкреВрд░реА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХрдореНрдкреЛрдЬрд╝рд░ рдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реИрдХ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░реАрд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред

рдЪреВрдБрдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐ рд╕рдВрдЧреАрддрдХрд╛рд░ рдХрд░реНрдиреЗрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рдЖрдк рдЕрднреА рднреА рдХрдо рдЬрд╝рд░реВрд░реА рдЪреАрдЬрд╝реЛрдВ рдХреЛ рдЫреБрдП рдмрд┐рдирд╛ OPCache рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ 100 рдПрдордмреА рдХреА рдХреНрд╖рдорддрд╛ рд╡рд╛рд▓реА 1,500 рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░реАрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдореВрд▓ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ 99% рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП 10 рдПрдордмреА рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ 150 рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рдПрдХ рд▓рд╛рдЗрди рдореЗрдВ PHP 7.4 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкреНрд░реАрд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ


рдЗрд╕рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдореИрдВрдиреЗ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рдХрд┐ рдХреИрд╕реЗ рдХрдВрдкреЛрдЬрд╝рд░ рдЖрдкрдХреЛ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкреНрд░реАрд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╕реЗрд▓рдбреЗрдХ (рдХрдВрдкреЛрдЬрд╝рд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреАрдо рдХрд╛ рдПрдХ рд╕рджрд╕реНрдп) рдиреЗ рд╕рднреА рдЖрд╢рд╛ рдХреЛ рдорд╛рд░ рджрд┐рдпрд╛ рдХрд┐ рдХрдВрдкреЛрдЬрд╝рд░ рдХреЗ рдкрд╛рд╕ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд╕реЗ рдкреАрдПрдЪрдкреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ред

(...) рдореИрдВ рд╕рдордЭрд╛рддрд╛ рд╣реВрдВ: рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдо рдХрдВрдкреЛрдЬрд░ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬреЛрдбрд╝реЗрдВрдЧреЗред

рдХреНрдпреЛрдВ? PHP рдореЗрдВ рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рдПрдХ рд╡рд┐рдХрд╛рд╕ (рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрдЬрд╛рдп) рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЗрд╕реЗ php.ini рджреНрд╡рд╛рд░рд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдХреЗрд╡рд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╣реА рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рд╡реЗ рд╕реНрд╡рдпрдВ PHP рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкреНрд░реАрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ред рдФрд░ рдЖрдк рднреАред

рдкреНрд░реАрд▓реЛрдб рдФрд░ рдореЗрдЯреНрд░рд┐рдХреНрд╕


рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рдЧрдВрднреАрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд┐рдирд╛ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдФрд░ рд╕рд╕реНрддреА рд╡реГрджреНрдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдкрдХрд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреНрд░реАрд▓реЛрдб рдХреИрд╕реЗ рдХрд░реЗрдВ , рдмрд▓реНрдХрд┐ рдХреНрдпрд╛ ред рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдФрд░ рд╣рдЬрд╛рд░реЛрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдореЗрдореЛрд░реА рдЬрд▓реНрджреА рдЦрддреНрдо рд╣реЛ рдЬрд╛рдПрдЧреА, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдХрд░рдирд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВред рдпрд╣ рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рдЕрдиреБрд░реЛрдзрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП?

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдУрдкрдЪреЗ рдиреЗ opcache_get_status () рдХреЛ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдлрд╛рдЗрд▓реЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдПрдХреНрд╕реЗрд╕ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдЖрдк рди рдХреЗрд╡рд▓ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реА рдлрд╛рдЗрд▓реЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдорд╛рдВрдЧ рдореЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЖрд╡реЗрджрди рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдХреБрдЫ рд╕рдордп рдмрд╛рдж рднреА рд╡реЗ рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рдПрдХ рд╣рдлреНрддреЗ рдпрд╛ рддреЛ рдЙрд╕ рд╕рдордп рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ рдЬрдм рдУрдкреНрдкрд╛рдЪреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╣рд┐рдЯ рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдм рдЖрд╡реЗрджрди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдмрд┐рдВрджреБ рдорд┐рд▓рддрд╛ рд╣реИред
рддреЛ рдЖрдЗрдП рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдкреНрд░реАрд▓реЛрдб рд╕реВрдЪреА рдмрдирд╛рдПрдВред рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ рдмрдирд╛рдпрд╛ред

рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП ... рдкреНрд░реАрд▓реЛрдбрд░!


рдпрд╣ рдкреИрдХреЗрдЬ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдкреНрд░реАрд▓реЛрдб рд╕реВрдЪреА рдмрдирд╛рдПрдЧрд╛ред рдпрд╣ OPCache рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдБрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░реЗрдЧрд╛, рд╣рд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдЧрд╛ рдФрд░ рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдПрдЧрд╛ рддрд╛рдХрд┐ рдХреБрд▓ рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рди рд╣реЛред



рдореИрдВ рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд░рдгрдиреАрддрд┐ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╣реИрд░рд╛рди рд░рд╣рд╛ред рдФрд░ рдореИрдВ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рдЬрдм рддрдХ рдЖрдк рдореЗрдореЛрд░реА рд╕реАрдорд╛ рдореЗрдВ рдирд╣реАрдВ рдЪрд▓рддреЗ рд╣реИрдВ, рддрдм рддрдХ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП 32 рдПрдордмреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╣реИред рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╕рдмрд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп PHP рдЖрд╡реЗрджрди рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реЗрдЧрд╛ред

рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ? рдХрдореНрдкреЛрдЬрд╝рд░ рдСрдЯреЛрд▓реИрдбрд░ рдХреЛ рдмрддрд╛рдПрдВ рдХрд┐ рдкреНрд░реАрд▓реЛрдбрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╣рд╛рдБ рд▓рд┐рдЦрдиреА рд╣реИ, рдФрд░ рдЖрдкрдХрд╛ рдХрд╛рдо рд╣реЛ рдЧрдпрд╛ред

 use DarkGhostHunter\Preloader\Preloader; Preloader::make() ->autoload('vendor/autoload.php') ->output('preload.php') ->generate(); 

рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рдЪреБрдирдирд╛ рд╣реИ рдХрд┐ рдХрдм рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реА рдмрд╛рдд рд╣реИред рдЖрдк рдЗрд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реВрдЪреА рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ 100 рд╡реЗрдВ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдПред

 use DarkGhostHunter\Preloader\Preloader; Preloader::make() ->whenOneIn(100) ->autoload('vendor/autoload.php') ->output('preload.php') ->overwrite() ->generate(); 

рдЖрдкрдХреЛ рдПрдХ рд░реЗрдбреАрдореЗрдб рдкреНрд░реАрд▓реЛрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд┐рд▓реЗрдЧреА рдЬрд┐рд╕реЗ рдЖрдк php.ini рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред

 <?php /** * This file is generated automatically by Preloader. * * This script uses Composer Autoload file and `require_once` to preload the files in this * list. Add this file to your `php.ini` in `opcache.preload` to preload this list into * PHP at startup. Additionally, this file also includes information about Opcache. * * * Add (or update) this line in `php.ini`: * * opcache.preload=/www/app/vendor/preload.php * * --- Config --- * Generated at: 2019-11-20 15:20:49 UTC * Opcache * - Used Memory: 130585 B * - Free Memory: 294896 B * - Wasted Memory: 347764 B * - Cached files: 2675 * - Hit rate: 94% * - Misses: 542 * Preloader config * - Memory limit: 32 MB * - Overwrite: false * - Files excluded: 0 * - Files appended: 0 */ require_once '/www/app/vendor/autoload.php'; $files = [ '/www/app/ClassFoo.php', '/www/app/ClassBar.php', '/www/app/ClassBaz.php', '/www/app/ClassQuz.php', '/www/app/ClassQux.php', '/www/app/vendor/author/package/src/Example.php', // ... ]; foreach ($files as $file) { require_once $file; } 

рдФрд░ рд╡рд╣ рдпрд╣ рд╣реИред рдЗрд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдЖрдЬрдорд╛рдПрдБ: рдбрд╛рд░реНрдХрдШреЛрд╕реНрддреБрдиреНрдЯрд░ / рдкреНрд░реАрд▓реЛрдбрд░ - рдкреИрдХрд╛рдЧрд┐рд╕реНрдЯ ред

Source: https://habr.com/ru/post/hi480746/


All Articles