{"id":15027185,"url":"https://github.com/abgeo/omedia-php-8-workshop","last_synced_at":"2026-02-19T15:03:35.033Z","repository":{"id":125370570,"uuid":"312543603","full_name":"ABGEO/omedia-php-8-workshop","owner":"ABGEO","description":null,"archived":false,"fork":false,"pushed_at":"2020-11-20T14:35:56.000Z","size":6982,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-13T03:15:41.036Z","etag":null,"topics":["omedia","php","php-8","presentations","talks","tech-talks","workshop","workshop-materials"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ABGEO.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-13T10:25:00.000Z","updated_at":"2020-11-20T14:35:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"e423e1a6-dda9-4cbd-99db-f0489e16f318","html_url":"https://github.com/ABGEO/omedia-php-8-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ABGEO%2Fomedia-php-8-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ABGEO%2Fomedia-php-8-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ABGEO%2Fomedia-php-8-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ABGEO%2Fomedia-php-8-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ABGEO","download_url":"https://codeload.github.com/ABGEO/omedia-php-8-workshop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243330319,"owners_count":20274039,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["omedia","php","php-8","presentations","talks","tech-talks","workshop","workshop-materials"],"created_at":"2024-09-24T20:05:55.449Z","updated_at":"2025-10-14T22:40:33.543Z","avatar_url":"https://github.com/ABGEO.png","language":"PHP","readme":"# Introduction to PHP 8\n\n- **Place**: [Omedia](https://omedia.dev/)\n- **Time**: 19/11/2020 17:00 (GMT+4) \n- **Speaker**: [Temuri Takalandze](https://abgeo.dev/)\n- **Watch**: https://youtu.be/opzZZ4opp4g\n\n## Content\n\n- [General](code/1_general) (slides 4-21)\n    - JIT (slides 5-12)\n        - How PHP works (slides 6-7)\n        - OPcache (slides 8-9)\n        - Preloading (slide 10)\n        - JIT Compiler (slides 11-12)\n    - [Attributes](code/1_general/2_attributes.php) (slide 13)\n    - [Named arguments](code/1_general/3_named_arguments.php) (slide 14)\n    - [The nullsafe operator](code/1_general/4_nullsafe_operator.php) (slide 15)\n    - [Match expression](code/1_general/5_match_expression.php) (slide 16)\n    - [Throw expression](code/1_general/6_throw_expression.php) (slide 17)\n    - [Non-capturing catches](code/1_general/7_non_capturing_catches.php) (slide 19)\n    - [Trailing comma in parameter lists](code/1_general/8_trailing_comma.php) (slide 19)\n    - [Concatenation precedence](code/1_general/9_concatenation_precedence.php) (slide 20)\n    - `ext-json` always available (slide 21)\n- [About types](code/2_types) (slides 22-26)\n    - [Union types](code/2_types/1_union_types.php) (slide 23)\n    - [`mixed` type](code/2_types/2_mixed_return_type.php) (slide 24)\n    - [`static` return type](code/2_types/3_static_return_type.php) (slide 25)\n    - [New `Stringable` interface](code/2_types/4_stringable_interface.php) (slide 26)\n- [What’s new in OOP?](code/3_oop) (slides 27-33)\n    - [Constructor property promotion](code/3_oop/1_constructor_property_promotion.php) (slide 28)\n    - [Inheritance with private methods](code/3_oop/2_inheritance_with_private_methods.php) (slide 29)\n    - [Allowing `::class` on objects](code/3_oop/3_allowing_class_on_objects.php) (slide 30)\n    - [Abstract trait method validation](code/3_oop/4_abstract_trait_method_validation.php) (slide 31)\n    - [Weak maps](code/3_oop/5_weak_maps.php) (slide 32)\n    - [Token as object](code/3_oop/6_token_as_object.php) (slide 33)\n- [New built-in functions](code/4_functions) (slides 34-39)\n    - [`str_contains()`](code/4_functions/1_str_contains.php) (slide 35)\n    - [`str_starts_with()` \u0026 `str_ends_with()`](code/4_functions/2_str_starts_with_and_str_ends_with.php) (slide 36)\n    - [`fdiv()`](code/4_functions/3_fdiv.php) (slide 37)\n    - [`get_debug_type()`](code/4_functions/4_get_debug_type.php) (slide 38)\n    - [`get_resource_id()`](code/4_functions/5_get_resource_id.php) (slide 39)\n- Breaking changes (slides 40-42)\n    - Breaking changes (slide 41)\n    - Reclassified engine warnings (slide 42)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabgeo%2Fomedia-php-8-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabgeo%2Fomedia-php-8-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabgeo%2Fomedia-php-8-workshop/lists"}