{"id":9631,"date":"2026-08-10T10:09:39","date_gmt":"2026-08-10T10:09:39","guid":{"rendered":"https:\/\/nokobox.com\/index.php\/item\/linkedin-writing-and-refactoring-testable-php-2024-1\/"},"modified":"2026-08-10T10:09:39","modified_gmt":"2026-08-10T10:09:39","slug":"linkedin-writing-and-refactoring-testable-php-2024-1","status":"publish","type":"digital_item","link":"https:\/\/nokobox.com\/index.php\/item\/linkedin-writing-and-refactoring-testable-php-2024-1\/","title":{"rendered":"LinkedIn \u2013 Writing and Refactoring Testable PHP 2024-1"},"content":{"rendered":"<div class=\"w-post-elm post_content\">\n<h2 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Description<\/span><\/h2>\n<p dir=\"ltr\" style=\"text-align: left\" data-sourcepos=\"1:1-1:68\"><span style=\"vertical-align: inherit\">Writing and Refactoring Testable PHP course. This course teaches PHP developers how to improve the quality and maintainability of their code by applying the test-driven development (TDD) methodology to both new projects and refactoring existing code. The course shows how TDD can prevent errors, increase developer confidence in the code, and improve code flexibility to changes in business logic. It also integrates with GitHub Codespaces, which provides a ready-made cloud development environment and eliminates the need for local setup. This allows users to practice from any device, at any time, and familiarize themselves with common tools in the workplace. To get started, you can watch the GitHub Codespaces tutorial video.<\/span><\/p>\n<h3 dir=\"ltr\" style=\"text-align: left\" data-sourcepos=\"13:1-13:25\"><span style=\"vertical-align: inherit\">What you will learn:<\/span><\/h3>\n<ul dir=\"ltr\" style=\"text-align: left\" data-sourcepos=\"15:1-48:0\">\n<li data-sourcepos=\"15:1-15:38\"><span style=\"vertical-align: inherit\">Principles of Test-Driven Development (TDD) in PHP<\/span><\/li>\n<li data-sourcepos=\"16:1-16:40\"><span style=\"vertical-align: inherit\">Refactoring existing code to improve testability<\/span><\/li>\n<li data-sourcepos=\"17:1-17:35\"><span style=\"vertical-align: inherit\">Configuring a PHP project for tests<\/span><\/li>\n<li data-sourcepos=\"18:1-18:23\"><span style=\"vertical-align: inherit\">Writing acceptance tests<\/span><\/li>\n<li data-sourcepos=\"19:1-19:55\"><span style=\"vertical-align: inherit\">Writing failing unit tests, making the test pass, and refactoring the code<\/span><\/li>\n<li data-sourcepos=\"20:1-20:19\"><span style=\"vertical-align: inherit\">Writing testable code<\/span><\/li>\n<li data-sourcepos=\"21:1-21:52\"><span style=\"vertical-align: inherit\">Identifying areas in need of renovation in old projects<\/span><\/li>\n<li data-sourcepos=\"22:1-22:26\"><span style=\"vertical-align: inherit\">Reconstructing large code logics<\/span><\/li>\n<li data-sourcepos=\"23:1-23:23\"><span style=\"vertical-align: inherit\">Correcting incorrect OOP logic<\/span><\/li>\n<li data-sourcepos=\"24:1-24:52\"><span style=\"vertical-align: inherit\">Managing changes across multiple files for a feature<\/span><\/li>\n<li data-sourcepos=\"25:1-25:17\"><span style=\"vertical-align: inherit\">Remove unnecessary code<\/span><\/li>\n<li data-sourcepos=\"26:1-26:43\"><span style=\"vertical-align: inherit\">Reducing strong coupling in code<\/span><\/li>\n<li data-sourcepos=\"32:1-32:34\"><span style=\"vertical-align: inherit\">And other things\u2026<\/span><\/li>\n<\/ul>\n<h3 dir=\"ltr\" style=\"text-align: left\" data-sourcepos=\"49:1-49:32\"><span style=\"vertical-align: inherit\">Who is this course suitable for?<\/span><\/h3>\n<ul dir=\"ltr\" style=\"text-align: left\" data-sourcepos=\"51:1-55:0\">\n<li data-sourcepos=\"51:1-51:58\"><span style=\"vertical-align: inherit\">PHP developers who want to learn the TDD approach.<\/span><\/li>\n<li data-sourcepos=\"52:1-52:63\"><span style=\"vertical-align: inherit\">Developers who want to improve the testability of their code.<\/span><\/li>\n<li data-sourcepos=\"53:1-53:87\"><span style=\"vertical-align: inherit\">Developers working with legacy projects and need to refactor code.<\/span><\/li>\n<li data-sourcepos=\"54:1-55:0\"><span style=\"vertical-align: inherit\">Any PHP developer looking to write cleaner, more maintainable code.<\/span><\/li>\n<\/ul>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Course details for Writing and Refactoring Testable PHP<\/span><\/h3>\n<ul dir=\"ltr\" style=\"text-align: left\">\n<li><span style=\"vertical-align: inherit\">Publisher: <\/span><a href=\"https:\/\/href.li\/?https:\/\/www.linkedin.com\/learning\/writing-and-refactoring-testable-php\" target=\"_blank\" rel=\"noopener\"><span style=\"vertical-align: inherit\">LinkedIn<\/span><\/a><\/li>\n<li><span style=\"vertical-align: inherit\">Instructor: <\/span><a href=\"https:\/\/downloadlynet.ir\/tag\/gary-kovar\/\"><span style=\"vertical-align: inherit\">Gary Kovar<\/span><\/a><\/li>\n<li><span style=\"vertical-align: inherit\">Training level: Advanced<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">Training duration: 2 hours and 22 minutes<\/span><\/li>\n<\/ul>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Course topics<\/span><\/h3>\n<p dir=\"ltr\" style=\"text-align: left\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-976380 size-full\" src=\"https:\/\/downloadly.ir\/wp-content\/uploads\/2025\/04\/Writing-and-Refactoring-Testable-PHP.png\" alt=\"Writing and Refactoring Testable PHP\" width=\"436\" height=\"692\"><\/p>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Course images<\/span><\/h3>\n<p dir=\"ltr\" style=\"text-align: left\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-976379 size-full\" src=\"https:\/\/downloadly.ir\/wp-content\/uploads\/2025\/04\/Writing-and-Refactoring-Testable-PHP-1.png\" alt=\"Writing and Refactoring Testable PHP\" width=\"790\" height=\"190\"><\/p>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Sample course video<\/span><\/h3>\n<div style=\"width: 640px;\" class=\"wp-video\"><span class=\"mejs-offscreen\">Video Player<\/span><\/p>\n<div id=\"mep_0\" class=\"mejs-container mejs-container-keyboard-inactive wp-video-shortcode mejs-video\" tabindex=\"0\" role=\"application\" aria-label=\"Video Player\" style=\"width: 640px; height: 360px; min-width: 217px;\">\n<div class=\"mejs-inner\">\n<div class=\"mejs-mediaelement\"><mediaelementwrapper id=\"video-161083-1\"><video class=\"wp-video-shortcode\" id=\"video-161083-1_html5\" width=\"640\" height=\"360\" preload=\"metadata\" src=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Writing_and_Refactoring_Testable_PHP_Downloadly.ir.mp4?_=1\" style=\"width: 640px; height: 360px;\"><source type=\"video\/mp4\" src=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Writing_and_Refactoring_Testable_PHP_Downloadly.ir.mp4?_=1\"><a href=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Writing_and_Refactoring_Testable_PHP_Downloadly.ir.mp4?nocache=1786116029931\">https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Writing_and_Refactoring_Testable_PHP_Downloadly.ir.mp4<\/a><\/video><\/mediaelementwrapper><\/div>\n<div class=\"mejs-layers\">\n<div class=\"mejs-poster mejs-layer\" style=\"display: none; width: 100%; height: 100%;\"><\/div>\n<div class=\"mejs-overlay mejs-layer\" style=\"display: none; width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-loading\"><span class=\"mejs-overlay-loading-bg-img\"><\/span><\/div>\n<\/div>\n<div class=\"mejs-overlay mejs-layer\" style=\"display: none; width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-error\"><\/div>\n<\/div>\n<div class=\"mejs-overlay mejs-layer mejs-overlay-play\" style=\"width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-button\" role=\"button\" tabindex=\"0\" aria-label=\"Play\" aria-pressed=\"false\"><\/div>\n<\/div>\n<\/div>\n<div class=\"mejs-controls\">\n<div class=\"mejs-button mejs-playpause-button mejs-play\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Play\" aria-label=\"Play\" tabindex=\"0\"><\/button><\/div>\n<div class=\"mejs-time mejs-currenttime-container\" role=\"timer\" aria-live=\"off\"><span class=\"mejs-currenttime\">00:00<\/span><\/div>\n<div class=\"mejs-time-rail\"><span class=\"mejs-time-total mejs-time-slider\" role=\"slider\" tabindex=\"0\" aria-label=\"Time Slider\" aria-valuemin=\"0\" aria-valuemax=\"0\" aria-valuenow=\"0\" aria-valuetext=\"00:00\"><span class=\"mejs-time-buffering\" style=\"display: none;\"><\/span><span class=\"mejs-time-loaded\"><\/span><span class=\"mejs-time-current\"><\/span><span class=\"mejs-time-hovered no-hover\"><\/span><span class=\"mejs-time-handle\"><span class=\"mejs-time-handle-content\"><\/span><\/span><span class=\"mejs-time-float\"><span class=\"mejs-time-float-current\">00:00<\/span><span class=\"mejs-time-float-corner\"><\/span><\/span><\/span><\/div>\n<div class=\"mejs-time mejs-duration-container\"><span class=\"mejs-duration\">00:00<\/span><\/div>\n<div class=\"mejs-button mejs-volume-button mejs-mute\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Mute\" aria-label=\"Mute\" tabindex=\"0\"><\/button><a href=\"javascript:void(0);\" class=\"mejs-volume-slider\" aria-label=\"Volume Slider\" aria-valuemin=\"0\" aria-valuemax=\"100\" role=\"slider\" aria-orientation=\"vertical\"><span class=\"mejs-offscreen\">Use Up\/Down Arrow keys to increase or decrease volume.<\/span><\/p>\n<div class=\"mejs-volume-total\">\n<div class=\"mejs-volume-current\" style=\"bottom: 0px; height: 100%;\"><\/div>\n<div class=\"mejs-volume-handle\" style=\"bottom: 100%; margin-bottom: -3px;\"><\/div>\n<\/div>\n<p><\/a><\/div>\n<div class=\"mejs-button mejs-fullscreen-button\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Fullscreen\" aria-label=\"Fullscreen\" tabindex=\"0\"><\/button><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div dir=\"ltr\" style=\"text-align: left\">\n<h3><span style=\"vertical-align: inherit\">Installation Guide<\/span><\/h3>\n<p><span style=\"vertical-align: inherit\">After Extract, view with your favorite player.<\/span><\/p>\n<p><span style=\"vertical-align: inherit\">Subtitles: English<\/span><\/p>\n<p><span style=\"vertical-align: inherit\">Quality: 720p<\/span><\/p>\n<\/div>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Download link<\/span><\/h3>\n<p dir=\"ltr\" style=\"text-align: left\"><a href=\"https:\/\/dl3.downloadly.ir\/Files\/Elearning\/LinkedIn_Writing_and_Refactoring_Testable_PHP_2024-1_Downloadly.ir.rar?nocache=1786116029\"><span style=\"vertical-align: inherit\">Download file \u2013 294 MB<\/span><\/a><\/p>\n<p dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">File(s) password: www.downloadly.ir<\/span><\/p>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">File size<\/span><\/h3>\n<p dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">294 MB<\/span><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Description Writing and Refactoring Testable PHP course. This course teaches PHP developers how to improve the quality and maintainability of their code by appl<\/p>\n","protected":false},"author":1,"template":"","dgi_category":[10458],"dgi_tag":[82823,82824,82825,82826,82827,43614],"class_list":["post-9631","digital_item","type-digital_item","status-publish","has-post-thumbnail","hentry","dgi_category-video-tutorials","dgi_tag-course-writing-and-refactoring-testable-php","dgi_tag-download-course-writing-and-refactoring-testable-php","dgi_tag-download-writing-and-refactoring-testable-php","dgi_tag-free-download-writing-and-refactoring-testable-php","dgi_tag-free-writing-and-refactoring-testable-php","dgi_tag-gary-kovar"],"_links":{"self":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item\/9631","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item"}],"about":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/types\/digital_item"}],"author":[{"embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":0,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item\/9631\/revisions"}],"wp:attachment":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/media?parent=9631"}],"wp:term":[{"taxonomy":"dgi_category","embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/dgi_category?post=9631"},{"taxonomy":"dgi_tag","embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/dgi_tag?post=9631"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}