Book Image

CodeIgniter 1.7

Book Image

CodeIgniter 1.7

Overview of this book

CodeIgniter (CI) is a powerful open-source PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications. CodeIgniter is an MVC framework, similar in some ways to the Rails framework for Ruby, and is designed to enable, not overwhelm. This book explains how to work with CodeIgniter in a clear logical way. It is not a detailed guide to the syntax of CodeIgniter, but makes an ideal complement to the existing online CodeIgniter user guide, helping you grasp the bigger picture and bringing together many ideas to get your application development started as smoothly as possible. This book will start you from the basics, installing CodeIgniter, understanding its structure and the MVC pattern. You will also learn how to use some of the most important CodeIgniter libraries and helpers, upload it to a shared server, and take care of the most common problems. If you are new to CodeIgniter, this book will guide you from bottom to top. If you are an experienced developer or already know about CodeIgniter, here you will find ideas and code examples to compare to your own.
Table of Contents (21 chapters)
CodeIgniter 1.7
Credits
About the Authors
About the Reviewer
Preface

Practical issues of site architecture


Wait a moment, you generated the CSS stylesheet address dynamically in your header_view:

<link rel="stylesheet" type="text/css" href="<?php echo "$base/$css";?>">

This means that the controller had to produce this data, which is only relevant to how the information is displayed. But we've just said the controller shouldn't know or care about that. Isn't that going right in the face of the "loose coupling" principle, we just set? What's more, generating this information dynamically requires several operations:

  1. 1. The controller has to look it up in the config file.

  2. 2. The controller has to package it in the $data array and pass it to the view.

  3. 3. The view has to extract the single variables $base and $css and look up their values.

Seems like a roundabout way of doing things. Why not just embed the data statically in the view?

<link rel="stylesheet" type="text/css" href="http://www.mysite.com/mystylesheet.css";">

The advantage of building...