{"id":555,"date":"2015-02-16T09:34:36","date_gmt":"2015-02-16T09:34:36","guid":{"rendered":"http:\/\/www.muratyaman.co.uk\/wp\/?p=555"},"modified":"2020-04-01T12:04:02","modified_gmt":"2020-04-01T11:04:02","slug":"php-is-dying-faster-because-part-1","status":"publish","type":"post","link":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/2015\/02\/php-is-dying-faster-because-part-1\/","title":{"rendered":"PHP is dying faster because &#8230; (part 1)"},"content":{"rendered":"<p>PHP was well-known for its speed of development (no compilation or formal build process); even for developers from alien worlds like Java esp. when developing prototypes; because it was easy to learn, develop and deploy on almost any platform.<\/p>\n<p>I have been coding for almost 18 years now. I picked up PHP as a natural programming &#8220;instinct&#8221; when I had to do something for the web (that must be in 2000 or 2001).<\/p>\n<p>One of the applications I developed for a recruitment company &#8211; (entire business relies on it) &#8211; is still alive after over 10 years with little or no maintenance (not my decision). I received a phone call yesterday about an urgent matter that the main panel is not loading properly. I logged on and checked on IE11(!) and checked and it seems to be working fine &#8211; it must be related to browser cache\/history &#8211; simple.<\/p>\n<p>I developed another application using Access over 13 years ago and it is mainly in use.<\/p>\n<p>So, unless there really drastic changes in the business if a system developed for the needs of the business and it just carries on working. Simple.<\/p>\n<p>In the systems I develop, I can usually create new entities and relevant pages very quickly: how about an hour for a challenge! I can create a new report within minutes which can gather data and print it in HTML, CSV and PDF. No, I don&#8217;t usually create a separate class called ReportPluginFactorySingletonPresenterServiceProvider for it. You get the idea.<\/p>\n<p>During the weekend I have been &#8220;trying&#8221; to help a friend. They are using Vagrant, VirtualBox, Ubuntu, Nginx, PHP, MySQL, Node.js, Composer, Bower, Gulp, Laravel 5, Angular.js, &#8230;<\/p>\n<p>I downloaded and installed VirtualBox and Vagrant within 2 hours in the night before I went to see them.<\/p>\n<p>1. We have spent over 10 hours to prepare the development environment. We couldn&#8217;t connect to the box over SSH. Eventually, we found a clue online and decided that box we downloaded for Laravel 5 was faulty. Another one was OK. There were many broken database migration scripts because they didn&#8217;t follow its principles.<\/p>\n<p>2. The next day, it took over 10 hours to create a new entity in the application, together with a few relationships to other entities. A very simple and broken landing page for it. We only created database migrations, models, repositories, repository managers, service providers. Yet, there are not controllers, commands, command handlers, REST API end-points, etc. We copied one of the landing pages, where it refers to a Blade template layout, it refers to partials and includes other pieces of effectively PHP files!! And also Angular.js is hard-wired in the process. And the least to say, this &#8220;modern&#8221; application architecture has no separate front-end and back-end.<\/p>\n<p>What a brain***k!?<\/p>\n<p>..to be continued.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PHP was well-known for its speed of development (no compilation or formal build process); even for developers from alien worlds like Java esp. when developing prototypes; because it was easy to learn, develop and deploy on almost any platform.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[26,160],"class_list":["post-555","post","type-post","status-publish","format-standard","hentry","category-technology","tag-php","tag-virtualization"],"_links":{"self":[{"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/posts\/555","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=555"}],"version-history":[{"count":3,"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/posts\/555\/revisions"}],"predecessor-version":[{"id":915,"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/posts\/555\/revisions\/915"}],"wp:attachment":[{"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}