{"id":880,"date":"2018-01-26T11:42:18","date_gmt":"2018-01-26T11:42:18","guid":{"rendered":"https:\/\/www.remotedevelopment.co.uk\/cms\/?p=880"},"modified":"2018-01-26T11:42:18","modified_gmt":"2018-01-26T11:42:18","slug":"why-laravel","status":"publish","type":"post","link":"https:\/\/www.remotedevelopment.co.uk\/cms\/why-laravel\/","title":{"rendered":"Why Laravel?"},"content":{"rendered":"<p>Fourteen years ago I used a remarkable programming tool that implemented many of Unix&#8217;s tools like awk, sed and regular expression parsers in a language called Perl.\u00a0 It also implemented objects but suffered from a philosophy TIMTOWTDI &#8211; &#8220;There is more than one way to do it.&#8221;<\/p>\n<p>In other words, it allowed you to implement processes that altered data in alternative ways and some of them were more expressive, some more &#8220;elegant&#8221;.\u00a0 Programmers could boast &#8220;I did that in only three lines of code.\u00a0 Yes, they are really difficult to read, that is a demonstration of how clever I must be.&#8221;<\/p>\n<p>In 2004 I found PHP.\u00a0 Strange language that it was then, version 3 had just become version 4.\u00a0 Lots of predefined functions, you could make the mistake of thinking it was a functional language.\u00a0 Like Perl, it was an interpreter.\u00a0 It was very fast and generally, there was an effort to increase code clarity.\u00a0 Then Version 5.x arrived and its Object model allowed Inheritance and abstracts like Java.\u00a0 It had a method of implementing Polymorphism, but it was &#8220;proper&#8221; polymorphism.<\/p>\n<p>In the last couple of years, it skipped Version 6.x and PHP Version 7.x boasted double the speed of the stable version 5.6.\u00a0 It was a trouble free upgrade.<\/p>\n<p>Over the years, various &#8220;frameworks&#8221; sprung into existence, Zend was the best, most comprehensive and allowed you do use pre-written modules to utilise well written code that was stable to do tasks like making a queue system or talking to a database.\u00a0 Then I learned Symfony and felt like it was a better expression of good coding methods, with excellent tools to more rapidly create systems.\u00a0 Symfony was created by one person.\u00a0 He is French but I found that the documentation and path into it was too many examples and not enough reference.\u00a0 Sometimes hard to find answers or a path into great app development.<\/p>\n<p>And then I discovered Laravel.\u00a0 It reached version 4.2 when I started but the Version 5.x series of revisions made it a brilliant framework.\u00a0 Why?\u00a0 Because its author, Taylor Ottwell is a brilliant developer who created modules that are very well written and documented.\u00a0 Because the Laravel documentation was fastidiously prepared, clear and factual.\u00a0 Because its command line tool, Artisan, had very useful functions.\u00a0 Because you could create a Laravel project with &#8220;laravel new project-name&#8221;, just like that.<\/p>\n<p>And it used the Symfony component infrastructure.\u00a0 So you can easily create a test database from artisan commands, and migrate new features into your database progressively.\u00a0 Because you can create test data with database seeding and painlessly rebuild your tests.\u00a0 Because it implemented PHPUnit so Test Driven Development (TDD) was painless.\u00a0 Because it integrated successfully with socket-based event handlers and the also elegant Javascript framework VueJS\u00a0to create systems where client browsers could update each other (dashboards which are live updated were now possible).<\/p>\n<p>And now I have focused on Laravel and its supportive cast of helpful documentation, online training, where features and benefits are easily adopted and each version adds useful features.\u00a0 We are now up to Verison 5.5.<\/p>\n<p>It is a work of artistic genius.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fourteen years ago I used a remarkable programming tool that implemented many of Unix&#8217;s tools like awk, sed and regular expression parsers in a language called Perl.\u00a0 It also implemented objects but suffered from a philosophy TIMTOWTDI &#8211; &#8220;There is more than one way to do it.&#8221; In other words, it allowed you to implement &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.remotedevelopment.co.uk\/cms\/why-laravel\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Why Laravel?&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[3,13],"tags":[38,36,35,37],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8yghz-ec","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":1008,"url":"https:\/\/www.remotedevelopment.co.uk\/cms\/laravel\/","url_meta":{"origin":880,"position":0},"title":"Laravel","author":"Nicholas","date":"August 4, 2018","format":false,"excerpt":"Lovely to work with, clean and fast.\u00a0 Laravel is one of the most popular PHP frameworks for MVC system development. Developers are encouraged to stay fully up to date with Laravel and pounce on work opportunities.\u00a0 With Remote Development, we can provide what you need right now, a server, bandwidth\u2026","rel":"","context":"In &quot;Tech Guides&quot;","block_context":{"text":"Tech Guides","link":"https:\/\/www.remotedevelopment.co.uk\/cms\/category\/technical\/tech-guides\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":591,"url":"https:\/\/www.remotedevelopment.co.uk\/cms\/laravel-api\/","url_meta":{"origin":880,"position":1},"title":"Laravel API","author":"Nicholas","date":"September 24, 2017","format":false,"excerpt":"RESTful Laravel API Tutorial Laravel is our preferred development framework at Remote Development. \u00a0Making Microservice APIs is often a useful way to allow software projects to proceed\u00a0in a more isolated, \u00a0disciplined and less bug-prone\u00a0fashion. The skill set addressed by this tutorial is important for all Laravel full stack or back-end\u2026","rel":"","context":"In &quot;Tech Guides&quot;","block_context":{"text":"Tech Guides","link":"https:\/\/www.remotedevelopment.co.uk\/cms\/category\/technical\/tech-guides\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1088,"url":"https:\/\/www.remotedevelopment.co.uk\/cms\/laravel-and-vuejs\/","url_meta":{"origin":880,"position":2},"title":"Laravel and VueJS","author":"Nicholas","date":"June 6, 2019","format":false,"excerpt":"Full stack development means we create a structure or framework that carries the application data and create views of it to manage resources or client information. Using Laravel, we are able to progress an applications \"back end\" swiftly and evolve the database. This means that during a sprint we can\u2026","rel":"","context":"In &quot;New articles&quot;","block_context":{"text":"New articles","link":"https:\/\/www.remotedevelopment.co.uk\/cms\/category\/new-articles\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":284,"url":"https:\/\/www.remotedevelopment.co.uk\/cms\/launch-of-live-site\/","url_meta":{"origin":880,"position":3},"title":"Launch of Live site","author":"Nicholas Alexander","date":"August 17, 2017","format":false,"excerpt":"https:\/\/live.remotedevelopment.co.uk is our client enquiry and proposal system, written in Laravel and VueJS. It is, like any software project, a work in progress. If you are interested in contributing to the system, email me, but first, sign up as a developer. Update: new design! Features added to the Admin user\u2026","rel":"","context":"In &quot;Article&quot;","block_context":{"text":"Article","link":"https:\/\/www.remotedevelopment.co.uk\/cms\/category\/article\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1060,"url":"https:\/\/www.remotedevelopment.co.uk\/cms\/developers-2\/","url_meta":{"origin":880,"position":4},"title":"Developers","author":"Nicholas","date":"April 13, 2019","format":false,"excerpt":"we = remotedevelopment team, you=a developer Onboarding Initial contact from linked in, link to our website, email or other sources. You get to the website and fill in a form Personal details (name, age, nationality, company\/sole trader)Payment details (paypal, stripe, bank account number)Skills and experience matrixCV upload (PDF for direct\u2026","rel":"","context":"In &quot;Admin&quot;","block_context":{"text":"Admin","link":"https:\/\/www.remotedevelopment.co.uk\/cms\/category\/admin\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":294,"url":"https:\/\/www.remotedevelopment.co.uk\/cms\/remote-development-websites\/","url_meta":{"origin":880,"position":5},"title":"Remote Development Websites","author":"Nicholas Alexander","date":"August 21, 2017","format":false,"excerpt":"Remote Development is a \"hybrid\" site: this site is a CMS, we also have a web app written in Laravel which is an ongoing agile project, our live site. This website www.remotedevelopment.co.uk is our marketing and information site, if you want to contribute to it, please email info@remotedevelopment.co.uk. Our live\u2026","rel":"","context":"In &quot;Article&quot;","block_context":{"text":"Article","link":"https:\/\/www.remotedevelopment.co.uk\/cms\/category\/article\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/posts\/880"}],"collection":[{"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/comments?post=880"}],"version-history":[{"count":1,"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/posts\/880\/revisions"}],"predecessor-version":[{"id":881,"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/posts\/880\/revisions\/881"}],"wp:attachment":[{"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/media?parent=880"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/categories?post=880"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/tags?post=880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}