官术网_书友最值得收藏!

Putting it all together

Now that we have made all the amendments to configuration files, created the database, and created all the files necessary for the app to work (controllers, models, views, and so on) let's run through a few scenarios briefly, just to make sure we know how the app functions.

Creating a shortened URL

Let's consider an example where Lucy visits the URL Shortener app and the create controller is called by CodeIgniter, displaying the create/create.php view file. The following is the sequence of events:

  1. Lucy enters a URL in the text input and clicks on Shorten Now.
  2. Upon submitting the form, the controller validates the URL. The URL is successfully validated and the validation returns no errors.
  3. The URL entered by Lucy is then sent to the save_url()function of Urls_model that creates a unique code. The save_url() function uses the PHP construct do while and an Active Record database query to create a unique code that doesn't already exist in the database.
  4. Once a code has been created that doesn't already exist, it is saved to the database along with a MySQL timestamp.
  5. The app then displays a success message to Lucy, informing her that the URL was saved correctly. It also displays the URL for her to either click on or (more likely) copy-and-paste elsewhere.

Retrieving a URL

Let's consider an example where Jessica receives an e-mail from Lucy containing the shortened URL. The following is the sequence of events:

  1. Jessica opens the e-mail and clicks on the URL in that e-mail.
  2. Her computer opens a browser and takes her to our app. As the create controller is not the 1st uri segment, the go controller is run (we set this in the routes.php file).
  3. The go controller loads the Urls_model, passing it the url_code (that was in the first segment of uri). The fetch_url() function of Urls_model looks in the database for the code and, if found, it returns the actual web address associated with that code to the go controller.
  4. The go controller redirects the browser to the URL supplied by the model.
  5. Jessica is happy as she can look at the cute cat video Lucy sent her! Awww!
主站蜘蛛池模板: 平乐县| 合作市| 华宁县| 万安县| 那坡县| 平果县| 惠州市| 彭州市| 哈密市| 文安县| 沈阳市| 阆中市| 牙克石市| 台中县| 石楼县| 荔浦县| 淮北市| 鄂伦春自治旗| 尼勒克县| 遵义市| 佛冈县| 新余市| 内黄县| 蒙城县| 樟树市| 澜沧| 志丹县| 平邑县| 当雄县| 报价| 钟山县| 麻城市| 寿阳县| 凌云县| 新建县| 白银市| 鄂州市| 宁河县| 东兴市| 新平| 东兰县|