CakePHP and Open Source - Newcastle University
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

CakePHP and Open Source - Newcastle University

  • 964 views
Uploaded on

Presentation for the University of Newcastle

Presentation for the University of Newcastle

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
964
On Slideshare
583
From Embeds
381
Number of Embeds
5

Actions

Shares
Downloads
10
Comments
1
Likes
2

Embeds 381

http://grahamweldon.com 376
http://tomc3d.com 2
http://translate.googleusercontent.com 1
http://www.stellarprotectorate.com 1
http://www.grahamweldon.net 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • - Need to do whats right for your community\n- Building a community is a big part\n- \n
  • - Need to do whats right for your community\n- Building a community is a big part\n- \n
  • - Need to do whats right for your community\n- Building a community is a big part\n- \n
  • - Need to do whats right for your community\n- Building a community is a big part\n- \n
  • - Need to do whats right for your community\n- Building a community is a big part\n- \n
  • - Need to do whats right for your community\n- Building a community is a big part\n- \n
  • - Need to do whats right for your community\n- Building a community is a big part\n- \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Transcript

  • 1. Graham Weldon
  • 2. OPEN SOURCESOFTWAREGraham Weldon
  • 3. 2 Graham Weldon
  • 4. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant Graham Weldon
  • 5. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant PHP Developer for 12 years Graham Weldon
  • 6. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant PHP Developer for 12 years Developer Evangelist Graham Weldon
  • 7. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant PHP Developer for 12 years Developer Evangelist Open Source contributor Graham Weldon
  • 8. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant PHP Developer for 12 years Developer Evangelist Open Source contributor CakePHP CandyCane Sydney PHP User Group HTML5 BoilerPlate ThreeJS LibGit Graham Weldon
  • 9. 3 Graham Weldon
  • 10. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University Graham Weldon
  • 11. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies Graham Weldon
  • 12. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies Graham Weldon
  • 13. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies 4. During time at Fluid Lino, started looking at PHP Frameworks Graham Weldon
  • 14. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies 4. During time at Fluid Lino, started looking at PHP Frameworks 5. Was noticed for contributions Graham Weldon
  • 15. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies 4. During time at Fluid Lino, started looking at PHP Frameworks 5. Was noticed for contributions 6. Offered position at CakeDC Graham Weldon
  • 16. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies 4. During time at Fluid Lino, started looking at PHP Frameworks 5. Was noticed for contributions 6. Offered position at CakeDC 7. Offered position in Japan! Graham Weldon
  • 17. MVC STRUCTURESUMMARY CAKEPHP DEMO! OPEN SOURCE Q AND A
  • 18. Graham Weldon
  • 19. MVC CakePHPGraham Weldon
  • 20. Graham Weldon
  • 21. MVCStructure Graham Weldon
  • 22. 7 Graham Weldon
  • 23. 7 IMPLEMENTATIONS Graham Weldon
  • 24. 8 Graham Weldon
  • 25. 8 SOME FRAMEWORKS Cake PHP Symfony Lithium Established 2003 Established 2007 Established 2009 Fat Models Module oriented MicroFramework Thin Controllers Package based Fast routing/ Logic-less PHP Twig based Views dispatch Views (Less-logic PHP Views Views) (ideally) Version 0 Version 2 Version 2 Graham Weldon
  • 26. 9 Graham Weldon
  • 27. 9 CASE STUDY 1. CakePHP is one of the largest, most popular PHP frameworks worldwide Graham Weldon
  • 28. 9 CASE STUDY 1. CakePHP is one of the largest, most popular PHP frameworks worldwide 2. Its been established for many years with a solid growth Graham Weldon
  • 29. 9 CASE STUDY 1. CakePHP is one of the largest, most popular PHP frameworks worldwide 2. Its been established for many years with a solid growth 3. In many ways, its ahead of its time Graham Weldon
  • 30. 9 CASE STUDY 1. CakePHP is one of the largest, most popular PHP frameworks worldwide 2. Its been established for many years with a solid growth 3. In many ways, its ahead of its time 4. I’m a core developer Graham Weldon
  • 31. 10 Graham Weldon
  • 32. 10 MVC STRUCTURE MODEL VIEW Data Output CONTROLLER Control Graham Weldon
  • 33. 11 Graham Weldon
  • 34. 11 3 STEPS TO SUCCESS STEP 1 STEP 3 Define Database Customise Code STEP 2 Generate Code MODELS VIEWS BUSINESS LOGIC SECURITY OTHERS CONTROLLERS Graham Weldon
  • 35. Graham Weldon
  • 36. Let’s BuildSomething! Graham Weldon
  • 37. 13 Graham Weldon
  • 38. 13 3 STEPS TO SUCCESS STEP 1 STEP 3 Define Database Customise Code STEP 2 Generate Code MODELS VIEWS BUSINESS LOGIC SECURITY OTHERS CONTROLLERS Graham Weldon
  • 39. 14 Graham Weldon
  • 40. 14 DATABASE DESIGN USERS TAGS POSTS Graham Weldon
  • 41. 15 Graham Weldon
  • 42. 15 DATABASE DESIGN JOIN TABLE TAGS USERS POSTS Graham Weldon
  • 43. 16 Graham Weldon
  • 44. 16 DATABASE Graham Weldon
  • 45. 17 Graham Weldon
  • 46. 17 CODE GENERATION Graham Weldon
  • 47. 18 Graham Weldon
  • 48. 18 WHAT HAVE WE GOT? MODELS CONTROLLERS VIEWS Graham Weldon
  • 49. Graham Weldon
  • 50. at thelook Lets code Graham Weldon
  • 51. Graham Weldon
  • 52. But... WhatDoes it do? Graham Weldon
  • 53. Graham Weldon
  • 54. What did Ijust learn? Graham Weldon
  • 55. 22 Graham Weldon
  • 56. 22 CAKEPHP’S MVC FAT MODELS THIN CONTROLLERS PLAIN PHP VIEWS Graham Weldon
  • 57. 23 Graham Weldon
  • 58. 23 WHAT ELSE? 80% GENERATED 20% EFFORT 100% AWESOME Graham Weldon
  • 59. Graham Weldon
  • 60. OPEN SourceGraham Weldon
  • 61. 25 Graham Weldon
  • 62. 25 HISTORY 1950- 1970 1970- 1982 1983 Sharing software Developing Richard Stallman for free was software founds the Free necessary to becomes more Software ensure that and more Foundation to hardware expensive to change the way purchased was put achieve. software is built, to good use. Companies close distributed and Without a free their software and shared. interchange of retain tight control To create software software and over their digital freedom for all. ideas, hardware “investments”. would not have This leads to less Graham Weldon
  • 63. 26 Graham Weldon
  • 64. 26 HISTORY 1998 2010 2013 “Open Source” Open source Anything is term is coined at hardware possible a FSF strategy becomes meeting to avoid mainstream, confusion with bringing technical Netscape’s advancements to impending users and a navigator source sharing of ideas. release. Graham Weldon
  • 65. 27 Graham Weldon
  • 66. 27 PERCEPTION How “Enterprise” businesses view developers Graham Weldon
  • 67. 28 Graham Weldon
  • 68. 28 PERCEPTION How “Enterprise” businesses view open source developers Graham Weldon
  • 69. 29 Graham Weldon
  • 70. 29 PERCEPTION Graham Weldon
  • 71. 30 Graham Weldon
  • 72. 30 PERCEPTION Graham Weldon
  • 73. 31 Graham Weldon
  • 74. 31 COMPARISON Business Freelance Open Source Working for a Working for Free at last? Yes! company where yourself, right? Freedom in you have a boss, Wrong, you’re various software maybe a project working for your licenses allows manager, or clients, and they you to use, modify otherwise, orders dictate what and release coming from happens for the software however management. most part. you like. Graham Weldon
  • 75. 32 Graham Weldon
  • 76. 32 CORPORATE LIFE BUSINESS DEVELOP ANALYSIS Assess needs Build out the and costings solution, minimum time, maximum output PROJECT DEFINED What we need to build and achieve Graham Weldon
  • 77. 33 Graham Weldon
  • 78. 33 CORPORATE LIFE 1. Businesses are profit driven. Graham Weldon
  • 79. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. Graham Weldon
  • 80. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. 3. If something doesn’t directly improve the bottom line, its unlikely to be approved Graham Weldon
  • 81. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. 3. If something doesn’t directly improve the bottom line, its unlikely to be approved 4. Development is controlled Graham Weldon
  • 82. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. 3. If something doesn’t directly improve the bottom line, its unlikely to be approved 4. Development is controlled 5. Development comes from corporate goals and needs Graham Weldon
  • 83. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. 3. If something doesn’t directly improve the bottom line, its unlikely to be approved 4. Development is controlled 5. Development comes from corporate goals and needs 6. Not much freedom (Usually) Graham Weldon
  • 84. 34 Graham Weldon
  • 85. 34 OPEN SOURCE Graham Weldon
  • 86. 35 Graham Weldon
  • 87. 35 OPEN SOURCE COMMUNITY FLEXIBILITY NEW TECHNOLOGY Graham Weldon
  • 88. Graham Weldon
  • 89. Innovationis driven by frustration Graham Weldon
  • 90. 37 Graham Weldon
  • 91. 37 FRUSTRATION IS KEY 100 Truly great software is developed at or after the 75 point where a need is not fulfilled well enough, that a develop goes out and 50 builds the correct solution on their own. 25 This results in software that has purpose, meaning and a true useful 0 application in the world. 1 2 3 4 5 Graham Weldon
  • 92. 38 Graham Weldon
  • 93. 38 WHY OPEN SOURCE? 1. It get you exposure in the global developer community Graham Weldon
  • 94. 38 WHY OPEN SOURCE? 1. It get you exposure in the global developer community 2. Other people may need / want your solution. (Help others) Graham Weldon
  • 95. 38 WHY OPEN SOURCE? 1. It get you exposure in the global developer community 2. Other people may need / want your solution. (Help others) 3. Others may find issues or improvements, and contribute those back Graham Weldon
  • 96. 38 WHY OPEN SOURCE? 1. It get you exposure in the global developer community 2. Other people may need / want your solution. (Help others) 3. Others may find issues or improvements, and contribute those back 4. It helps make you a better developer Graham Weldon
  • 97. 39 Graham Weldon
  • 98. 39 MANAGEMENT 1. All projects are different. Graham Weldon
  • 99. 39 MANAGEMENT 1. All projects are different. 2. Based on what works best for the community and users Graham Weldon
  • 100. 39 MANAGEMENT 1. All projects are different. 2. Based on what works best for the community and users 3. Generally a “meritocracy” Graham Weldon
  • 101. 39 MANAGEMENT 1. All projects are different. 2. Based on what works best for the community and users 3. Generally a “meritocracy” 4. ... unless there is corporate backing Graham Weldon
  • 102. 40 responsibilities are objectively assigned to individuals based upon their "merits", namely intelligence, credentials, and education, determined through evaluations or examinations. Graham Weldon
  • 103. 40 MERITOCRACY? responsibilities are objectively assigned to individuals based upon their "merits", namely intelligence, credentials, and education, determined through evaluations or examinations. Graham Weldon
  • 104. 41 Graham Weldon
  • 105. 41 TOOLS / SERVICES Github Source Forge Codeplex Travis CI BitBucket ... Graham Weldon
  • 106. Graham Weldon
  • 107. THANK youwww.YourName.com Graham Weldon