IntroductionThis document will detail how the application will bedeployed and describe the approach taken in its development. Then, it will outlinekey framework technologies, server environment, server requirements, how youmight deploy to other server environments, load balancing, ways of enhancingperformance further and SEO.2. Development ApproachAfter the Yii2 upload to the FTP server and set up thedatabase linking, I design the database model at vertabelo.com and then exportit as a sql file. Then import the query to the database.
Next, use the modelgenerator and CRUD generator from gii to create the front-end page. Further, thebasic Yii2 framework web application is up and running. 3. Key Framework TechnologiesYii Is a free open source PHP Framework for developing webapplications first released in 2008 using PHP 5.
1.0 or above. After that, Yii2was released 2014 using PHP 5.4.0 or above.
It helps develop clean and reusablecode following the MVC pattern as it separates logic and presentation. It also onlyloads the features that you need and includes input validation, outputfiltering. Full stack framework using proven and ready to use features. Besides,it has good extension architecture to use or develop redistributableextensions.4. Server EnvironmentMy web server and database is provided by the Teesside University.The database is installed with MySQL and phpMyAdmin for management.
As for theweb server, it is using Apache HTTP server and installed other php extension forthe Yii2 framework requirement.5. Server RequirementIt fit on an Apache HTTP server or a Nginx HTTP server, onWindows, Mac OS X, or Linux running PHP 5.
4 or higher. Yii 2.0 is alsocompatible with facebook’s HHVM. However, sometime HHVM behave differently, so needto be careful when using HHVM. Compare to other framework, for example, ASP.NETframework also required Visual Studio and to install the ASP.NET software, Yii2is way easier than that.
6. Load BalancingA load balancer is a device that distributes network orapplication traffic across a cluster of servers. Load balancing improvesresponsiveness and increases availability of applications.A load balancer sits between the client and the server farmaccepting incoming network and application traffic and distributing the trafficacross multiple backend servers using various methods. By balancing applicationrequests across multiple servers, a load balancer reduces individual serverload and prevents any one application server from becoming a single point offailure, thus improving overall application availability and responsiveness.