Framework APPLIED PROJ

Framework APPLIED PROJ

ASHESI UNIVERSITY COLLEGE Using Model-View-Controller Architectural Pattern in Building a new PHP Micro- Framework APPLIED PROJECT B.Sc. Computer Science Oliver Mensah 2018 ASHESI UNIVERSITY COLLEGE Using Model-View-Controller Architectural Pattern in Building a new PHP Micro- Framework APPLIED PROJECT Applied Project submitted to the Department of Computer Science, Ashesi University College in partial fulfillment of the requirements for the award of Bachelor of Science degree in Computer Science Oliver Mensah 2018 DECLARATION I hereby declare that this applied project is the result of my own original work and that no part of it has been presented for another degree in this university or elsewhere. Candidate’s Signature: …………………………………………………………………………………………… Candidate’s Name: …………………………………………………………………………………………… Date: …………………………………………………………………………………………… I hereby declare that preparation and presentation of this applied project were supervised in accordance with the guidelines on supervision of applied project laid down by Ashesi University College. Supervisor’s Signature: …………………………………………………………………………………………… Supervisor’s Name: …………………………………………………………………………………………… Date: …………………………………………………………………………………………… 1 | P a g e ACKNOWLEDGEMENT I thank God Almighty for the breath of life to see this project through. I would also like to extend my gratitude to Mr. David Sampah for his guidance, support and helpful supervision during the process of this project. Not forgetting my mentor, Kent C. Dodds, for his encouragement, suggestions, support and advice to choose this kind of project. Other thanks go to staff and student of various departments in Ashesi University College for their immense contribution and response within a limited time frame. To all friends, family and colleagues who supported me throughout the period of my study, I say thank you. Finally, I would like to thank MasterCard Foundation for their sponsorship in pursuing my undergraduate’s degree. Without all of you, I would not be at this stage of my life. I say a big THANK YOU to you all. GOD BLESS YOU. 2 | P a g e Contents DECLARATION .......................................................................................................................................... 0 ACKNOWLEDGEMENT ............................................................................................................................ 1 ABSTRACT:................................................................................................................................................. 5 Chapter 1: Introduction: ................................................................................................................................ 6 1.1 Introduction: ............................................................................................................................................ 6 1.2 Background ......................................................................................................................................... 6 1.3 Problem Description and Motivation .................................................................................................. 7 1.4 Aims and Objectives ........................................................................................................................... 8 Chapter 2: Related Works ............................................................................................................................. 9 2.1 Related Works ..................................................................................................................................... 9 2.1.1 Laravel Framework ........................................................................................................................ 11 2.1.1.a Pros of Laravel ............................................................................................................................ 12 2.1.1.b Cons of Laravel ........................................................................................................................... 12 2.1.2 Symfony Framework ..................................................................................................................... 12 2.1.2.a Pros of Symfony .......................................................................................................................... 13 2.1.2.b Cons of Symfony ........................................................................................................................ 13 2.1.3 The Core of both Laravel and Symfony ......................................................................................... 13 2.2 Why A new PHP framework - BarePHP .......................................................................................... 13 Chapter 3: Requirement and System Architecture ...................................................................................... 15 3.1 Requirement Design Overview ......................................................................................................... 15 3.2 Introduction to MVC Architecture .................................................................................................... 15 3.3 The core of barePHP Framework ...................................................................................................... 16 3.4 System Description ........................................................................................................................... 17 3.4.1 Features .......................................................................................................................................... 18 3.5 Implementation Support(Tools) ........................................................................................................ 19 3.6 Operating Environment ..................................................................................................................... 20 3.7 Functional Requirements .................................................................................................................. 20 3.8 Non-Functional Requirements .......................................................................................................... 21 3.8.1 Product Requirements ................................................................................................................ 21 3.8.1.1 Security ................................................................................................................................... 22 3.8.1.2 Reliability ................................................................................................................................ 22 3.8.1.3 Safety and Performance .......................................................................................................... 22 3 | P a g e 3.8.2 Organizational Requirements ......................................................................................................... 23 3.8.2.1 Operational Requirement ........................................................................................................ 23 Chapter 4: Implementation ......................................................................................................................... 24 4.1 The Core Implementation of barePHP framework ........................................................................... 24 4.1.1 The Files and Folder Structure. ...................................................................................................... 24 4.1.1. 1 .htaccess File in the Root Directory ........................................................................................... 25 4.1.1. 2 The Public Folder in the Root Directory .................................................................................... 26 4.1.1. 2 The Application Folder in the Root Directory ........................................................................... 26 4.1.1 The MVC Architectural Pattern ..................................................................................................... 28 4.1.1.1 The Controller. ............................................................................................................................ 28 4.1.1.2 The Model. .................................................................................................................................. 29 4.1.1.3 The View ..................................................................................................................................... 31 4.1.2 The URL Manipulation .................................................................................................................. 32 4.1.3 The Registry ................................................................................................................................... 34 Chapter 5: System Testing .......................................................................................................................... 35 5.1 Functional Testing with PHPUnit, Goutte and Guzzle. .................................................................... 35 5.2 Application Performance .................................................................................................................. 37 Chapter 6: Conclusion and Recommendation ............................................................................................. 38 6.1 Conclusion ........................................................................................................................................ 38 6.2 Limitation .........................................................................................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    43 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us