1<?php 2 3/** 4 * En-revision: 20b1bbed844a4609f3400ef0cd4e6be6fea323af 5 */ 6 7return [ 8 'common_header' => 'PHP 8.1 — PHP ენის დიდი განახლება. ჩამოთვლები, readonly-თვისებები, callback-ფუნქციები როგორც პირველი კლასის ობიექტები, ფაიბერები, ტიპების კვეთა, წარმადობის გაუმჯობესება და სხვა მრავალი.', 9 'main_title' => 'რელიზი!', 10 'main_subtitle' => 'PHP 8.1 — PHP ენის დიდი განახლება.<br class="display-none-md"> ის შეიცავს ბევრ ახალ შესაძლებლობას, მათ შორის ჩამოთვლები, readonly-თვისებები, callback-ფუნქციები როგორც პირველი კლასის ობიექტები, ფაიბერები, ტიპების კვეთა, წარმადობის გაუმჯობესება და სხვა მრავალი.', 11 'upgrade_now' => 'გადადით PHP 8.1-ზე!!', 12 'documentation' => 'დოკუმენტაცია', 13 14 'enumerations_title' => 'ჩამოთვლები', 15 'enumerations_content' => 'გამოიყენეთ ჩამოთვლები კონსტანტების ნაკრების ნაცვლად, კოდის შესრულების დროს, მათი ავტომატური ვალიდაციისთვის.', 16 17 'readonly_properties_title' => 'Readonly-თვისებები', 18 'readonly_properties_content' => '<p>Readonly თვისებების შეცვლა შეუძლებელია ინიციალიზაციის შემდეგ (ანუ მას შემდეგ რაც მათ მიენიჭება მნიშვნელობა).<br>ისინი ძალიან სასარგებლო იქნება ისეთი ობიექტების განხორციელებისას, როგორიცაა <abbr title="მონაცემის-ობიექტი">VO</abbr> და <abbr title="მონაცემთა გადაცემის ობიექტი">DTO</abbr>.</p>', 19 20 'first_class_callable_syntax_title' => 'Callback-ფუნქციები როგორც პირველი კლასის ობიექტები', 21 'first_class_callable_syntax_content' => '<p>ახალი სინტაქსით, ნებისმიერ ფუნქციას შეუძლია იმოქმედოს როგორც პირველი კლასის ობიექტი. ამრიგად, ის ჩაითვლება როგორც ჩვეულებრივი მნიშვნელობა, რომელიც შეიძლება, მაგალითად, შევინახოთ ცვლადში.</p>', 22 23 'new_in_initializers_title' => 'ობიექტის გაფართოებული ინიციალიზაცია', 24 'new_in_initializers_content' => '<p>ახლა ობიექტები შეიძლება გამოყენებულ იქნას როგორც ნაგულისხმევი პარამეტრის მნიშვნელობები, სტატიკური ცვლადებისა და გლობალური კონსტანტებში, და ასევე ატრიბუტების არგუმენტებში.</p> 25 <p>ამრიგად, შესაძლებელი გახდა <strong>ჩაშენებული არგუმენტების</strong> გამოყენება.</p>', 26 27 'pure_intersection_types_title' => 'ტიპების კვეთა', 28 'pure_intersection_types_content' => '<p>გამოიყენეთ კვეთის ტიპები, როდესაც მნიშვნელობას სჭირდება ერთდროულად მრავალი ტიპის შეზღუდვის დაკმაყოფილება.</p> 29 <p>ამ დროისთვის, ტიპის კვეთა არ შეიძლება გამოყენებულ იქნას გაერთიანებულ ტიპებთან ერთად., მაგალითად, <code>A&B|C</code>.</p>', 30 31 'never_return_type_title' => 'Never დაბრუნების ტიპი', 32 'never_return_type_content' => '<p>ფუნქცია ან მეთოდი, რომელიც გამოცხადებულია <code>never</code> ტიპთან ერთად, მიუთითებს იმაზე, რომ ისინი არ დააბრუნებენ მნიშვნელობას და ან გამოიტანს გამონაკლისს, ან დაასრულებს სკრიპტის შესრულებას ფუნქციის <code>die()</code>, <code>exit()</code>, <code>trigger_error()</code> გამოძახებით, ან რაიმე მსგავსით.</p>', 33 34 'final_class_constants_title' => 'კლასის საბოლოო კონსტანტები', 35 'final_class_constants_content' => '<p>უკვე, კლასის კონსტანტები შესაძლებელია გამოცხადდეს როგორც საბოლოო (final), რათა მათი ხელახლა გამოცხადება არ მოხდეს შვილ კლასებში.</p>', 36 37 'octal_numeral_notation_title' => 'აშკარა რვაობითი რიცხვითი აღნიშვნა', 38 'octal_numeral_notation_content' => '<p>ახლა თქვენ შეგიძლიათ ჩაწეროთ რვაობითი რიცხვები აშკარა პრეფიქსით <code>0o</code> prefix.</p>', 39 40 'fibers_title' => 'ფაიბერები', 41 'fibers_content' => '<p>ფაიბერები - ეს არის პრიმიტივები მსუბუქი საერთო კონკურენციის განსახორციელებლად. ისინი წარმოადგენენ კოდის ბლოკების შექმნის საშუალებას, რომელიც შეიძლება შეჩერდეს და განახლდეს, გენერატორების მსგავსად, მაგრამ სტეკის ნებისმიერი წერტილიდან. ფაიბერები თავისთავად არ იძლევა ამოცანების ასინქრონულად შესრულების შსაძლებლობას, მაინც უნდა არსებობდეს მოვლენის მართვის ციკლი. თუმცა, ისინი საშუალებას აძლევენ მბლოკავ და არამბლოკავ რეალიზაციება გამოიყენონ ერთი და იგივე იგივე API.</p> 42 <p>ფაიბერები საშუალებას გაძლევთ თავიდან აიცილოთ შაბლონური კოდი, რომელსაც ადრე იყენებდნენ <code>Promise::then()</code> გამოყენებით ან გენერატორზე დაფუძნებული კორუტინები. ბიბლიოთეკები ჩვეულებრივ ქმნიან დამატებით აბსტრაქციებს ფაიბერების ირგვლივ, ამიტომ არ არის საჭირო მათთან უშუალო ურთიერთობა.</p>', 43 44 'array_unpacking_title' => 'მასივების ჩამოქაფების მხარდაჭერა სტრიქონიანი გასაღებებით', 45 'array_unpacking_content' => '<p>PHP ადრე გამოიყენება მასივების ჩამოქაფებას ოპერატორის <code>...</code> დახმარებით, მაგრამ მხოლოდ იმ შემთხვევაში, თუ მასივები იყო მთელი რიცხვების გასაღებით. ახლა თქვენ ასევე შეგიძლიათ ჩამოქაფოთ მასივები სტრიქონიანი გასაღებებით.</p>', 46 47 'performance_title' => 'შესრულების გაუმჯობესება', 48 'performance_chart' => '<strong>Symfony-ის დემო აპლიკაციის მოთხოვნის დრო</strong><br> 49 25 ზედიზედ გაშვება, 250 მოთხოვნა (წმ)<br> 50 (რაც ნაკლები მით უკეთესი)<br>', 51 'performance_results_title' => 'შედეგი (PHP 8.0-თან შედარებით):', 52 'performance_results_symfony' => 'Symfony დემო აპლიკაციის დაჩქარება 23.0%-ით', 53 'performance_results_wordpress' => 'WordPress-ის 3.5%-ით დაჩქარება', 54 'performance_related_functions_title' => 'ფუნქციონალურობა გაუმჯობესებული შესრულებით PHP 8.1-ში:', 55 'performance_jit_arm64' => 'JIT ბექენდი ARM64 (AArch64)-თვის', 56 'performance_inheritance_cache' => 'მემკვიდრეობითი ქეში (თავიდან აირიდეთ კლასების ხელახლა დაკავშირება ყველა მოთხოვნაში)', 57 'performance_fast_class_name_resolution' => 'კლასის სახელის სწრაფი გარჩევადობა (მოერიდეთ მცირე რეგისტრს და ჰეშში ძიებას)', 58 'performance_timelib_date_improvements' => 'შესრულების გაუმჯობესება <code>timelib</code> და <code>ext/date</code>.', 59 'performance_spl' => 'SPL ფაილური სისტემის იტერატორების გაუმჯობესება.', 60 'performance_serialize_unserialize' => '<code>serialize()</code>/<code>unserialize()</code> ფუნქციების ოპტიმიზაცია.', 61 'performance_internal_functions' => 'ზოგიერთი შიდა ფუნქციის ოპტიმიზაცია (get_declared_classes(), explode(), strtr(), strnatcmp(), dechex())', 62 'performance_jit' => 'JIT-ის გაუმჯობესება და შესწორებები.', 63 64 'other_new_title' => 'ახალი კლასები, ინტერფეისები და ფუნქციები', 65 'other_new_returntypewillchange' => 'დამატებულია ახალი ატრიბუტი <code>#[ReturnTypeWillChange]</code>.', 66 'other_new_fsync_fdatasync' => 'დამატებულია ფუნქციები <code>fsync</code> და <code>fdatasync</code>.', 67 'other_new_array_is_list' => 'დამატებულია ახალი ფუნქცია <code>array_is_list</code>.', 68 'other_new_sodium_xchacha20' => 'ახალი ფუნქციები Sodium XChaCha20.', 69 70 'bc_title' => 'მოძველებული ფუნქციონალობა და ცვლილებები უკუ თავსებადობაში', 71 'bc_null_to_not_nullable' => '<code>NULL</code> მნიშვნელობების ჩაშენებული ფუნქციის პარამეტრებზე გადაცემა, მოძველებულია.', 72 'bc_return_types' => 'დაბრუნების წინასწარი ტიპები რომლებიც აბრუნებს მნიშვნელობებს PHP-ის ჩაშენებული კლასის მეთოდებში', 73 'bc_serializable_deprecated' => '<code>Serializable</code> ინტერფეისი მოძველებულია.', 74 'bc_html_entity_encode_decode' => 'HTML ერთეულის კოდირების/დეკოდირების ფუნქციები გარდაქმნის ერთმაგ ბრჭყალებს და ცვლის არასწორ სიმბოლოებს იუნიკოდის შემცვლელი სიმბოლოთი.', 75 'bc_globals_restrictions' => '<code>$GLOBALS</code> ცვლადის გამოყენების შეზღუდვები.', 76 'bc_mysqli_exceptions' => 'MySQLi: ნაგულისხმევი შეცდომის რეჟიმი დაყენებულია გამონაკლისებზე.', 77 'bc_float_to_int_conversion' => 'იმპლიციტური შეუთავსებელი რიცხვის მცოცავი წერტილიდან მთელ რიცხვამდე კონვერტაცია მოძველებულია.', 78 'bc_finfo_objects' => 'finfo მოდული: <code>file_info</code> რესურსები ახლა წარმოდგენილია როგორც <code>finfo</code> ობიექტი.', 79 'bc_imap_objects' => 'IMAP: <code>imap</code> რესურსები ახლა წარმოდგენილია როგორც <code>IMAP\Connection</code> ობიექტი.', 80 'bc_ftp_objects' => 'FTP Extension: <code>Connection</code> რესურსები ახლა წარმოდგენილია როგორც <code>FTP\Connection</code> ობიექტი.', 81 'bc_gd_objects' => 'GD Extension: <code>Font identifiers</code> тახლა წარმოდგენილია როგორც <code>GdFont</code> ობიექტი.', 82 'bc_ldap_objects' => 'LDAP: რესურსები ახლა წარმოდგენილია როგორც ობიექტი <code>LDAP\Connection</code>, <code>LDAP\Result</code>, და <code>LDAP\ResultEntry</code> objects.', 83 'bc_postgresql_objects' => 'PostgreSQL: რესურსები ახლა წარმოდგენილია როგორც ობიექტი <code>PgSql\Connection</code>, <code>PgSql\Result</code>, და <code>PgSql\Lob</code>.', 84 'bc_pspell_objects' => 'Pspell: რესურსები <code>pspell</code>, <code>pspell config</code> წარმოდგენილია როგორც ობიექტი <code>PSpell\Dictionary</code>, <code>PSpell\Config</code>', 85 86 'footer_title' => 'უკეთესი წარმადობა, უკეთესი სინტაქსი, უფრო საიმედო ტიპების სისტემა.', 87 'footer_content' => '<p> 88 PHP 8.1 წყაროს კოდის ჩამოსატვირთად ეწვიეთ გვერდს <a href="https://www.php.net/downloads">ჩამოტვირთვა</a>. 89 Windows-ის ბინარული ფაილები განთავსებულია საიტზე <a href="https://windows.php.net/download">PHP Windows-თვის</a>. 90 ცვლილებების სია წარმოდგენილია <a href="https://www.php.net/ChangeLog-8.php#PHP_8_1">ChangeLog-ში</a>. 91 </p> 92 <p> 93 <a href="/manual/en/migration81.php">მიგრაციის გზამკვლევი</a> ხელმისაწვდომია დოკუმენტაციის განყოფილებაში. 94 გთხოვთ, შეისწავლოთ იგი ახალი ფუნქციების დეტალური ჩამონათვალის მისაღებად და უკუ შეუთავსებელი ცვლილებებისთვის. 95 </p>', 96]; 97